by 0G Foundation
Laya (Convai Innovations, open weights, Apache-2.0): a non-autoregressive System One decision model, the open alternative to TypeSafe Jev. Same request and response shape as Jev (POST /decisions: model/state/questions, typed noul / choice / score answers with calibrated probabilities instead of text). Routes by language inside the model: English state to a ModernBERT-large checkpoint (512 tokens), other languages to a 100+-language mmBERT checkpoint (1024 tokens); longer state is truncated. Best with fewer than 20 options per choice question. Billed on input tokens only.
512
512 tokens
Free 0G
per 1M tokens
—
N/A for decisions
curl "https://router-api.0g.ai/v1/decisions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-d '{
"model": "laya",
"state": "Hi, we were billed twice for March. Please refund the duplicate today or we will cancel our plan.",
"questions": {
"department": {
"type": "choice",
"instructions": "Which department should handle this?",
"criteria": {
"billing": "invoices, payments, refunds",
"technical": "bugs, outages",
"other": "everything else"
}
},
"urgency": {
"type": "score",
"instructions": "How urgent is this?",
"criteria": ["not urgent", "soon", "blocking"]
},
"churn_risk": {
"type": "noul",
"instructions": "Does the user threaten to cancel?"
}
}
}'TEE Verification
Request on-chain signature verification with verify_tee. The response includes a tee_verified field in the trace.
{
"model": "laya",
"state": "Please refund the duplicate charge or we will cancel.",
"questions": {"churn_risk": {"type": "noul", "instructions": "Does the user threaten to cancel?"}},
"verify_tee": true
}Provider Routing
Control which provider handles your request using the X-0G-Provider-* request headers.
X-0G-Provider-Address pins a provider; X-0G-Provider-Identity pins which of its upstreams to route through — both values come from the address and provider_identity fields of GET /v1/providers. Together they address one specific upstream of one provider. Send neither and the router picks by price and health, exactly as before.
curl "https://router-api.0g.ai/v1/decisions" \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-H "X-0G-Provider-Address: <PROVIDER_ADDRESS>" \
-H "X-0G-Provider-Identity: <UPSTREAM>" \
-H "X-0G-Provider-Sort: latency" \
-H "X-0G-Provider-Allow-Fallbacks: true" \
-d '{
"model": "laya",
"state": "Please refund the duplicate charge or we will cancel.",
"questions": {"churn_risk": {"type": "noul", "instructions": "Does the user threaten to cancel?"}}
}'Private models only
This model is Private. To pin requests to a TEE-backed provider, add the X-0G-Provider-Trust-Mode: private header. Opt-in — not applied by default.
X-0G-Provider-Trust-Mode: private