{"info":{"version":"1.0.0","description":"Drop-in EVM JSON-RPC infrastructure with multi-provider routing, automatic failover, strategy control, keys, funding, custom profiles, and live evidence.","title":"Lasso","x-guidance":"First identify the required chains, methods, transports, and reliability goals. Fetch the live chain and pricing catalogs. After approval to create an external key, use an explicit load-balanced, latency-weighted, or fastest strategy path. The runtime default is load-balanced."},"components":{"securitySchemes":{"apiKey":{"in":"path","name":"key","type":"apiKey","description":"Lasso API key embedded in URL path (e.g. /rpc/k/{key}/...)"},"mpp":{"scheme":"Payment","type":"http","description":"MPP payment credential via Authorization: Payment header"},"dashboardKey":{"in":"header","name":"x-lasso-api-key","type":"apiKey","description":"Dashboard API key for account operations"}}},"paths":{"/api/v1/agent/chains":{"get":{"summary":"List available EVM chains and routing strategies","operationId":"listChains","responses":{"200":{"description":"Chain list","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"chain_id":{"type":"integer"},"strategies":{"type":"array","items":{"type":"string"}}}}}}}}}}},"/api/v1/agent/keys":{"post":{"description":"Creates a persistent RPC API key. Without payment, the current free grant is 5000 CU. With a Tempo payment credential, the current conversion is 200000 CU per USD. Confirm both values with the live pricing catalog.","summary":"Create an API key with optional Tempo funding","operationId":"createKey","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Label for the key"},"initial_fund_usd":{"type":"string","description":"USD amount to fund (triggers 402 challenge). Omit for the current free grant reported by the pricing catalog."}}}}}},"responses":{"201":{"description":"Key created","content":{"application/json":{"schema":{"type":"object","required":["key","endpoint","balance_cu"],"properties":{"profile":{"type":"string"},"key":{"type":"string","description":"Full API key (shown once)"},"endpoint":{"type":"string","description":"Ready-to-use RPC endpoint URL"},"key_prefix":{"type":"string"},"balance_cu":{"type":"integer"},"estimated_requests":{"type":"object","properties":{"cheap_reads":{"type":"integer"},"heavy_reads":{"type":"integer"},"standard_reads":{"type":"integer"}}},"balance_usd":{"type":"string"}}}}}},"402":{"description":"Payment required — returns a Tempo charge challenge in WWW-Authenticate header"}}}},"/api/v1/agent/keys/{key}":{"get":{"parameters":[{"in":"path","name":"key","description":"The full API key","required":true,"schema":{"type":"string"}}],"summary":"Check key balance and status","operationId":"getKeyInfo","responses":{"200":{"description":"Key info","content":{"application/json":{"schema":{"type":"object","properties":{"profile":{"type":"string"},"type":{"type":"string","enum":["anonymous","account"]},"created_at":{"type":"string","format":"date-time"},"key_prefix":{"type":"string"},"total_funded_cu":{"type":"integer"},"balance_cu":{"type":"integer","description":"Remaining CU (anonymous keys)"},"estimated_requests":{"type":"object","properties":{"cheap_reads":{"type":"integer"},"heavy_reads":{"type":"integer"},"standard_reads":{"type":"integer"}}},"balance_usd":{"type":"string"}}}}}}}}},"/api/v1/agent/keys/{key}/claim":{"post":{"description":"Transfers an anonymous key to an authenticated account. Requires x-lasso-api-key header with a dashboard API key. Purchased CU transfers to the account's shared balance.","parameters":[{"in":"path","name":"key","description":"The anonymous key to claim (e.g. lasso_ak_...)","required":true,"schema":{"type":"string"}}],"summary":"Link an anonymous key to a dashboard account","operationId":"claimKey","responses":{"200":{"description":"Key claimed","content":{"application/json":{"schema":{"type":"object","properties":{"account_id":{"type":"string"},"key_prefix":{"type":"string"},"claimed":{"type":"boolean"}}}}}},"401":{"description":"Account API key required"},"404":{"description":"Key not found or already claimed"}},"security":[{"dashboardKey":[]}]}},"/api/v1/agent/keys/{key}/claim-link":{"post":{"parameters":[{"in":"path","name":"key","required":true,"schema":{"type":"string"}}],"summary":"Generate a one-click URL to link an anonymous key to a dashboard account","operationId":"createClaimLink","responses":{"200":{"description":"Claim link generated (expires in 10 minutes)","content":{"application/json":{"schema":{"type":"object","properties":{"key_prefix":{"type":"string"},"balance_cu":{"type":"integer"},"claim_url":{"type":"string","format":"uri"},"expires_in":{"type":"integer"}}}}}}}}},"/api/v1/agent/keys/{key}/fund":{"post":{"description":"Funds an existing key with additional CU. Requires a Tempo payment credential. The live pricing catalog currently reports 200000 CU per USD.","parameters":[{"in":"path","name":"key","description":"The full API key (e.g. lasso_ak_...)","required":true,"schema":{"type":"string"}}],"summary":"Add credits to an API key via Tempo payment","operationId":"fundKey","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["amount_usd"],"properties":{"amount_usd":{"type":"string","description":"USD amount to fund (e.g. \"1.00\")"}}}}}},"responses":{"200":{"description":"Key funded","content":{"application/json":{"schema":{"type":"object","properties":{"key_prefix":{"type":"string"},"balance_cu":{"type":"integer"},"estimated_requests":{"type":"object","properties":{"cheap_reads":{"type":"integer"},"heavy_reads":{"type":"integer"},"standard_reads":{"type":"integer"}}},"funded_cu":{"type":"integer"},"funded_usd":{"type":"string"}}}}}},"402":{"description":"Payment required — returns a Tempo charge challenge in WWW-Authenticate header"}},"x-payment-info":{"description":"Fund an API key with CU credits at the conversion reported by the live pricing catalog","currency":"0x20c000000000000000000000b9537d11c60e8b50","amount":"100000","method":"tempo","intent":"charge"}}},"/api/v1/agent/pricing":{"get":{"summary":"Get per-method CU and USD costs by routing strategy","operationId":"getPricing","responses":{"200":{"description":"Pricing catalog","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rpc/k/{key}/{strategy}/{chain}":{"post":{"description":"Standard EVM JSON-RPC 2.0 endpoint. Strategy controls provider ordering after capability filtering and before health tiering. The explicit route does not depend on the load-balanced runtime default. Anonymous-key responses can include x-lasso-cu and x-lasso-usd cost headers; account-key usage is recorded without those per-request headers.","parameters":[{"in":"path","name":"key","description":"API key (e.g. lasso_ak_...)","required":true,"schema":{"type":"string"}},{"in":"path","name":"strategy","required":true,"schema":{"type":"string","enum":["load-balanced","latency-weighted","fastest"]}},{"in":"path","name":"chain","description":"Chain name or ID (e.g. ethereum, base, 1, 8453)","required":true,"schema":{"type":"string"}}],"summary":"Execute a JSON-RPC call with strategy-based routing","operationId":"rpcCall","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","id"],"properties":{"id":{"type":"integer"},"params":{"type":"array"},"method":{"type":"string"},"jsonrpc":{"const":"2.0","type":"string"}}}}}},"responses":{"200":{"description":"JSON-RPC response. Anonymous-key responses can include x-lasso-cu and x-lasso-usd headers."},"402":{"description":"Key credits exhausted — fund via /api/v1/agent/keys/{key}/fund"}},"security":[{"apiKey":[]}]}},"/rpc/session/{strategy}/{chain}":{"post":{"description":"Session-based RPC without API keys. Uses Tempo payment channels (402 challenge → credential → receipt flow). Per-call pricing in USDC micro-units varies by method and strategy.","parameters":[{"in":"path","name":"strategy","required":true,"schema":{"type":"string","enum":["load-balanced","latency-weighted","fastest"]}},{"in":"path","name":"chain","description":"Chain name or ID (e.g. ethereum, base, 1, 8453)","required":true,"schema":{"type":"string"}}],"summary":"Keyless pay-per-call RPC via Tempo session payment","operationId":"sessionRpcCall","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method","id"],"properties":{"id":{"type":"integer"},"params":{"type":"array"},"method":{"type":"string"},"jsonrpc":{"const":"2.0","type":"string"}}}}}},"responses":{"200":{"description":"JSON-RPC response with cost headers"},"402":{"description":"Payment required — returns Tempo session challenge in WWW-Authenticate header"}},"x-payment-info":{"description":"Pay-per-call RPC via Tempo session","currency":"0x20c000000000000000000000b9537d11c60e8b50","amount":"100","method":"tempo","intent":"session"}}}},"openapi":"3.1.0","servers":[{"url":"https://lasso.sh"}],"x-service-info":{"docs":{"llms":"https://lasso.sh/llms.txt","agentGuide":"https://lasso.sh/SKILL.md","apiReference":"https://lasso.sh/openapi.json","homepage":"https://lasso.sh","productDocs":"https://github.com/jaxernst/lasso-cloud/tree/main/docs/product"},"categories":["blockchain","developer-infrastructure"]}}