{"ok":true,"service":"ruliad-agent-gateway","protocol":"x402-v2+usage-ledger+markdown+mcp","version":"2.1.0-pricing-preview","commerce":{"protocol":"x402-v2","environment":"development","rollout":"base-sepolia-testnet","asset":{"symbol":"USDC","decimals":6,"address":"0x036cbd53842c5426634e7929541ec2318f3dcf7e","network":"eip155:84532"},"purchasable_action":"ruliad.produce.turbo","reference_price_usdc":"0.01","price_discovery":"Read pricing, estimate, then request and verify a fresh quote. Never hard-code the reference price.","rate_card_version":"2026-09-25.cost-plus.v1","free_reads":{"pricing":"GET /v1/agent/commerce/pricing","estimate":"POST /v1/agent/commerce/estimate","quote":"POST /v1/agent/commerce/quote","budget":"GET /v1/agent/commerce/budget","receipt_keys":"GET /v1/agent/commerce/keys","ledger":"GET /v1/agent/commerce/ledger"},"paid_write":"POST /v1/agent/commerce/execute","request_headers":{"wallet":"X-Agent-Wallet","network":"X-Agent-Network","network_value":"eip155:84532","session_authorization":"Authorization: Bearer <session_token>","idempotency":"Idempotency-Key","payment_authorization":"PAYMENT-SIGNATURE","owner_read_scheme":"ruliad.wallet-request.v1"},"identity_scope":{"principal_key":"network + wallet","handshake_requirement":"Send network=eip155:84532 in the handshake body and X-Agent-Network on every authenticated request.","mismatch_behavior":"A missing or different network selects a different principal and authentication fails closed."},"authority_chain":{"minimum_grants":1,"maximum_grants":12,"fields":{"principal_id":"string; final grant must equal the authenticated network+wallet principal","role":"non-empty string","scopes":["must include ruliad.produce.turbo"],"max_amount_atomic":"base-10 integer string at least equal to the quoted amount","approved_at":"ISO-8601 timestamp at or before server time","expires_at":"ISO-8601 timestamp after server time"},"minimum_self_grant":{"principal_id":"eip155:84532:<lowercase-wallet>","role":"owner","scopes":["ruliad.produce.turbo"],"max_amount_atomic":"10000","approved_at":"<current ISO-8601 timestamp>","expires_at":"<future ISO-8601 timestamp no later than quote expiry>"},"per_grant_signature_required":false,"note":"Use the authority_chain_template returned by a fresh quote instead of guessing field names."},"response_headers":{"settlement":"PAYMENT-RESPONSE"},"safety":{"quote_is_not_spend_authority":true,"staged_rollout_rejects_mainnet":true,"retries_require_identical_body_and_idempotency_key":true}},"endpoints":{"handshake":"https://api.theruliad.ai/v1/agent/handshake","command":"https://api.theruliad.ai/v1/agent/command","produce":"https://api.theruliad.ai/v1/agent/produce","get_stats":"https://api.theruliad.ai/v1/agent/get_stats","credit_check":"https://api.theruliad.ai/v1/agent/credit-check","refill":"https://api.theruliad.ai/v1/agent/refill","vast_wrap":"https://api.theruliad.ai/v1/agent/vast-wrap","commerce_pricing":"https://api.theruliad.ai/v1/agent/commerce/pricing","commerce_estimate":"https://api.theruliad.ai/v1/agent/commerce/estimate","commerce_quote":"https://api.theruliad.ai/v1/agent/commerce/quote","commerce_keys":"https://api.theruliad.ai/v1/agent/commerce/keys","commerce_budget":"https://api.theruliad.ai/v1/agent/commerce/budget","commerce_ledger":"https://api.theruliad.ai/v1/agent/commerce/ledger","commerce_execute":"https://api.theruliad.ai/v1/agent/commerce/execute","autonomous_run_claim":"https://api.theruliad.ai/v1/agent/autonomous-runs/claim","m2m_send":"https://api.theruliad.ai/v1/m2m/send","handoff_start":"https://api.theruliad.ai/v1/m2m/handoff/start"},"commands":{"produce":"### PRODUCE: {prompt}","status":"### STATUS","deploy":"### DEPLOY: {job_id}","refill":"[REFILL: 25]","export":"[EXPORT: mp4|vast]","credit_check":"## Credit Check","wallet_status":"### WALLET: Status"},"handshake_auth":{"email_required":false,"principal":"network + wallet","proof":"EIP-191 wallet signature over ruliad.wallet-request.v1","nonce":"Fresh proofNonce in JSON body, 20-128 URL-safe characters","timestamp":"X-Agent-Timestamp: Unix milliseconds within 5 minutes","signed_fields":["POST","exact request path","wallet","network","timestamp","SHA-256 of JSON body"],"signature_header":"X-Agent-Wallet-Signature","replay":"One use per signature; sign a fresh nonce for each handshake"},"markdown":"# Ruliad Agent Gateway\nRead `/v1/agent/commerce/pricing` for free. For email-free wallet entry, send a fresh proofNonce and EIP-191 signed POST `/v1/agent/handshake`; see handshake_auth for the exact proof. Then read the budget, estimate cost, request a free signed quote, obtain explicit spend authority, and execute with one idempotency key. Base Sepolia uses `X-Agent-Network: eip155:84532`; network and wallet together identify the principal."}