MCPサーバー

Otto Intel

services.ottoai/otto
暗号資産・Web3 金融・投資 公開・接続可能 MCP 2026-07-28

このMCPでできること

Provides paid market intelligence on equities, crypto, prediction markets, tokenized stocks, and DeFi, along with guarded transaction preparation and delegation workflows.

otto_base_season
Otto Base season
Scan quality-screened Base tokens with current social-intelligence and trusted-KOL context. Market context only; not a pick, recommendation, or trade instruction. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.002 USDC through x402.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'x_payment': {'type': 'string', 'maxLength': 65536, 'minLength': 1, 'description': 'Signed x402 payment payload. Omit it to receive the machine-actionable payment challenge, then retry with the signed payload.'}}, 'additionalProperties': False}
otto_catalog
otto x402 catalog
Return the full live otto x402 menu with endpoint paths, descriptions, prices, and Base-USDC payment instructions. Always free; does not consume the free intelligence call.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
otto_crypto_news
Otto crypto news
Read importance-ranked crypto headlines with source links and publication times, plus a sentiment-scored market brief. The hourly snapshot reports its analysis window and freshness; missing source links remain unknown. Paid-only, including the first call: this tool preserves the hosted free intelligence allowance. Market context only; not a recommendation. Hosted access: paid-only; each call costs $0.001 USDC through x402 and preserves the free allowance.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'x_payment': {'type': 'string', 'maxLength': 65536, 'minLength': 1, 'description': 'Signed x402 payment payload. Omit it to receive the machine-actionable payment challenge, then retry with the signed payload.'}}, 'additionalProperties': False}
otto_delegation_cap
Confirm an in-flight legacy Model B cap (new reservations retired)
Legacy Model B cap confirmation. New { phase: "reserve" } requests are retired and refused before any claim or reservation is written. { phase: "confirm", accessToken, mintKey } remains available for a permission already minted against a prior reservation: the server re-reads CDP and confirms only the exact still-current claim and reserved expiry. A mismatch or Stop overlap remains unconfirmed; a fresh explicit Stop handles the current grant. Without a confirmed per-user cap, delegated sends refuse. This tool does not issue new permissions. Server-to-server only: the caller presents Otto's delegation secret in the `x-otto-delegation-auth` request header (never in arguments); a call without it is refused before anything is read. The listed input schema is intentionally permissive — the strict schema is validated after the caller is authenticated.
外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['phase', 'user_id', 'expires_at', 'per_swap_cap_usd', 'state', 'ruleset_version', 'recorded'], 'properties': {'phase': {'enum': ['reserve', 'confirm'], 'type': 'string'}, 'state': {'enum': ['reserved', 'confirmed_active', 'superseded', 'revoked', 'expired', 'legacy'], 'type': 'string'}, 'user_id': {'type': 'string', 'pattern': '^[a-zA-Z0-9-]{1,100}$'}, 'recorded': {'type': 'boolean'}, 'expires_at': {'type': 'string'}, 'mint_expires_at': {'type': 'string'}, 'ruleset_version': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}, 'per_swap_cap_usd': {'type': 'integer', 'maximum': 5000, 'minimum': 1}}, 'additionalProperties': False}
otto_delegation_exit
Prepare, submit, and recover an exact Base USDC exit
Move an authenticated CDP end user's own Base USDC only through a server-held durable reservation. prepare returns one exact EIP-1559 transaction for client-side signing; the client must never broadcast it. submit validates and durably records the signed bytes and computed hash before the server broadcasts. status is read-only and cross-device. reconcile proves a canonical receipt without broadcasting, or returns the exact finalized sender+nonce replacement proof when another transaction consumed the reserved nonce. retry_same is explicit and can broadcast only the already-stored byte-identical transaction after reconciling first. cancel is accepted only before signed bytes were recorded. The caller presents Otto's delegation secret in x-otto-delegation-auth; user identity is always derived from accessToken.
破壊的操作あり 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['phase', 'has_exit', 'user_id'], 'properties': {'epoch': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'phase': {'enum': ['prepare', 'resume', 'submit', 'status', 'reconcile', 'retry_same', 'cancel'], 'type': 'string'}, 'state': {'enum': ['preparing', 'signing', 'signed', 'submitted', 'unknown', 'confirmed', 'reverted', 'replaced', 'canceled'], 'type': 'string'}, 'account': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'receipt': {'type': 'object', 'required': ['transaction_hash', 'block_number', 'block_hash', 'status'], 'properties': {'status': {'enum': ['success', 'reverted'], 'type': 'string'}, 'block_hash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'block_number': {'type': 'string', 'pattern': '^[1-9][0-9]*$'}, 'transaction_hash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}}, 'additionalProperties': False}, 'user_id': {'type': 'string', 'pattern': '^[a-zA-Z0-9-]{1,100}$'}, 'has_exit': {'type': 'boolean'}, 'created_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'updated_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'destination': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'owner_token': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'replacement': {'type': 'object', 'required': ['transaction_hash', 'block_number', 'block_hash', 'finalized_head_block_number', 'finalized_head_block_hash', 'finalized_nonce'], 'properties': {'block_hash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'block_number': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)$'}, 'finalized_nonce': {'type': 'string', 'pattern': '^[1-9][0-9]*$'}, 'transaction_hash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'finalized_head_block_hash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'finalized_head_block_number': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)$'}}, 'additionalProperties': False}, 'transaction': {'type': 'object', 'required': ['type', 'chain_id', 'nonce', 'from', 'to', 'value', 'data', 'gas', 'max_fee_per_gas', 'max_priority_fee_per_gas', 'sign_idempotency_key'], 'properties': {'to': {'type': 'string', 'const': '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'}, 'gas': {'type': 'string', 'pattern': '^[1-9][0-9]*$'}, 'data': {'type': 'string', 'pattern': '^0x(?:[0-9a-fA-F]{2})+$'}, 'from': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'type': {'type': 'string', 'const': 'eip1559'}, 'nonce': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)$'}, 'value': {'type': 'string', 'const': '0'}, 'chain_id': {'type': 'number', 'const': 8453}, 'max_fee_per_gas': {'type': 'string', 'pattern': '^[1-9][0-9]*$'}, 'sign_idempotency_key': {'type': 'string', 'pattern': '^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$'}, 'max_priority_fee_per_gas': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)$'}}, 'additionalProperties': False}, 'operation_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'amount_atomic': {'type': 'string', 'pattern': '^[1-9][0-9]*$'}, 'lease_expires_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'transaction_hash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'broadcast_attempts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
otto_delegation_fence
Ensure the Model-B project policy (the delegation fence) is installed and reads back as v-current
Idempotent ensure-by-digest of the ONE CDP project-scope policy that fences every delegated send, then a read-back. Writes only when no project policy exists (creates it) or when the existing one is Otto's own lineage with stale rules (updates it in place). REFUSES BY NAME if a different project-scope policy is installed — it is never overwritten or deleted. Never downgrades a newer fence. An OPS action: at most one ensure runs project-wide at a time, never during a rolling deploy, never from the dApp (the mint gate reads fence.present from otto_delegation_status). Arguments: {}. Output: the policy id, versioned name, rules digest and the per-swap cap; the tool fails unless the fence reads back present under the written id. Server-to-server only: the caller presents Otto's delegation secret in the `x-otto-delegation-auth` request header (never in arguments); a call without it is refused before anything is read. The listed input schema is intentionally permissive — the strict schema is validated after the caller is authenticated.
外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'action', 'policy_id', 'policy_name', 'rules_digest', 'per_swap_cap_usd'], 'properties': {'action': {'enum': ['unchanged', 'created', 'updated'], 'type': 'string'}, 'status': {'type': 'string', 'const': 'present'}, 'policy_id': {'type': 'string'}, 'policy_name': {'type': 'string'}, 'rules_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'per_swap_cap_usd': {'type': 'number', 'const': 5000}}, 'additionalProperties': False}
otto_delegation_fence_status
Read the Model-B delegation fence (public promise: present, name, rules digest, per-swap cap)
PUBLIC and read-only, no header: reports whether the Model B project policy still fences existing delegated sends, its name and rules digest, the shared cap ceiling, and mint_enabled for new Model B trade setup. New trade-permission creation is retired, so mint_enabled is false on the serving retirement build. Existing status, revoke and exits remain available. No user, grant, address or policy contents are exposed. Arguments: {}.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['present', 'policy_name', 'per_swap_cap_usd', 'per_swap_cap_min_usd', 'ruleset_version', 'mint_enabled'], 'properties': {'reason': {'enum': ['absent', 'ambiguous', 'name_mismatch', 'digest_mismatch'], 'type': 'string'}, 'present': {'type': 'boolean'}, 'project_id': {'type': 'string', 'pattern': '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'}, 'policy_name': {'type': 'string'}, 'mint_enabled': {'type': 'boolean'}, 'rules_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'ruleset_version': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}, 'per_swap_cap_usd': {'type': 'number', 'const': 5000}, 'per_swap_cap_min_usd': {'type': 'number', 'const': 1}}, 'additionalProperties': False}
otto_delegation_operations
Read one end user's delegated operation history and recovery state
Read the durable Base delegated-operation journal for the end user resolved from { accessToken }. Optional artifactId selects one exact own-user operation; without it, the result includes a bounded recent terminal history and every unresolved operation regardless of age. The global unresolved flag is fail-closed: it is true when the store is unavailable, journal coverage is not rollout-ready, or any operation has a prepared/submitted/unknown outcome. Stored serialized transactions and CDP idempotency keys are never returned, and this tool never submits or retries anything. Server-to-server only: the caller also presents Otto's delegation secret in the x-otto-delegation-auth request header; no userId argument is accepted.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['user_id', 'store_available', 'journal', 'unresolved', 'operations'], 'properties': {'journal': {'type': 'object', 'required': ['schema_version', 'ready', 'coverage_started_at'], 'properties': {'ready': {'type': 'boolean'}, 'schema_version': {'type': 'number', 'const': 2}, 'coverage_started_at': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'user_id': {'type': 'string', 'pattern': '^[a-zA-Z0-9-]{1,100}$'}, 'operations': {'type': 'array', 'items': {'type': 'object', 'required': ['artifact_id', 'account', 'chain_id', 'state', 'created_at', 'updated_at', 'steps'], 'properties': {'state': {'enum': ['prepared', 'submitted', 'confirmed', 'failed', 'unknown'], 'type': 'string'}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['index', 'state'], 'properties': {'index': {'type': 'integer', 'maximum': 3, 'minimum': 0}, 'state': {'enum': ['prepared', 'submitted', 'confirmed', 'failed', 'unknown'], 'type': 'string'}, 'transaction_hash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}}, 'additionalProperties': False}}, 'result': {'type': 'object', 'required': ['status', 'user_id', 'address', 'chain_id', 'artifact_id', 'steps', 'fence', 'delegation', 'verification'], 'properties': {'fence': {'type': 'object', 'required': ['policy_id', 'policy_name', 'rules_digest', 'per_swap_cap_usd', 'user_cap_usd'], 'properties': {'policy_id': {'type': 'string'}, 'policy_name': {'type': 'string'}, 'rules_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'user_cap_usd': {'type': 'integer', 'maximum': 5000, 'minimum': 1}, 'per_swap_cap_usd': {'type': 'number', 'const': 5000}}, 'additionalProperties': False}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['index', 'kind', 'to', 'transaction_hash', 'status', 'block_number', 'gas_used'], 'properties': {'to': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'kind': {'enum': ['approve_reset', 'approve', 'call'], 'type': 'string'}, 'index': {'type': 'integer', 'maximum': 2, 'minimum': 0}, 'status': {'type': 'string', 'const': 'success'}, 'gas_used': {'type': 'string', 'pattern': '^\\d+$'}, 'block_number': {'type': 'string', 'pattern': '^\\d+$'}, 'transaction_hash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}}, 'additionalProperties': False}, 'maxItems': 3, 'minItems': 3}, 'status': {'type': 'string', 'const': 'sent'}, 'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'user_id': {'type': 'string', 'pattern': '^[a-zA-Z0-9-]{1,100}$'}, 'chain_id': {'type': 'number', 'const': 8453}, 'replayed': {'type': 'boolean'}, 'delegation': {'type': 'object', 'required': ['expires_at'], 'properties': {'expires_at': {'type': 'string'}}, 'additionalProperties': False}, 'artifact_id': {'type': 'string', 'pattern': '^[0-9A-HJKMNP-TV-Z]{26}$'}, 'verification': {'type': 'object', 'required': ['checks', 'gross', 'min_amount_out', 'otto_fee_atomic', 'otto_fee_recipient', 'fee_config_version', 'receiver'], 'properties': {'gross': {'type': 'string', 'pattern': '^\\d+$'}, 'checks': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 12}, 'receiver': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'min_amount_out': {'type': 'string', 'pattern': '^\\d+$'}, 'otto_fee_atomic': {'type': 'string', 'pattern': '^\\d+$'}, 'call_data_digest': {'type': 'string', 'pattern': '^0x(?:[0-9a-fA-F]{2})*$'}, 'fee_config_version': {'type': 'string'}, 'otto_fee_recipient': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'account': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chain_id': {'type': 'number', 'const': 8453}, 'created_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'updated_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'artifact_id': {'type': 'string', 'pattern': '^[0-9A-HJKMNP-TV-Z]{26}$'}}, 'additionalProperties': False}}, 'unresolved': {'type': 'boolean'}, 'store_available': {'type': 'boolean'}}, 'additionalProperties': False}
otto_delegation_reconcile
Reconcile one end user's known-hash delegated operation
Acquire the artifact's permanent process-liveness guard, then check Base for finalized canonical receipts of already-stored transaction hashes. Every chain transaction must match the stored chain, hash, sender, target, calldata, value, nonce, gas and EIP-1559 fee fields before its receipt is recorded. This tool never calls CDP, never retries a request, never builds or submits a later step, and leaves prepared/unknown no-hash steps unresolved. It returns the same token-bound operation snapshot as otto_delegation_operations. Server-to-server only: the caller also presents Otto's delegation secret in x-otto-delegation-auth.
外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['user_id', 'store_available', 'journal', 'unresolved', 'operations'], 'properties': {'journal': {'type': 'object', 'required': ['schema_version', 'ready', 'coverage_started_at'], 'properties': {'ready': {'type': 'boolean'}, 'schema_version': {'type': 'number', 'const': 2}, 'coverage_started_at': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'user_id': {'type': 'string', 'pattern': '^[a-zA-Z0-9-]{1,100}$'}, 'operations': {'type': 'array', 'items': {'type': 'object', 'required': ['artifact_id', 'account', 'chain_id', 'state', 'created_at', 'updated_at', 'steps'], 'properties': {'state': {'enum': ['prepared', 'submitted', 'confirmed', 'failed', 'unknown'], 'type': 'string'}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['index', 'state'], 'properties': {'index': {'type': 'integer', 'maximum': 3, 'minimum': 0}, 'state': {'enum': ['prepared', 'submitted', 'confirmed', 'failed', 'unknown'], 'type': 'string'}, 'transaction_hash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}}, 'additionalProperties': False}}, 'result': {'type': 'object', 'required': ['status', 'user_id', 'address', 'chain_id', 'artifact_id', 'steps', 'fence', 'delegation', 'verification'], 'properties': {'fence': {'type': 'object', 'required': ['policy_id', 'policy_name', 'rules_digest', 'per_swap_cap_usd', 'user_cap_usd'], 'properties': {'policy_id': {'type': 'string'}, 'policy_name': {'type': 'string'}, 'rules_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'user_cap_usd': {'type': 'integer', 'maximum': 5000, 'minimum': 1}, 'per_swap_cap_usd': {'type': 'number', 'const': 5000}}, 'additionalProperties': False}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['index', 'kind', 'to', 'transaction_hash', 'status', 'block_number', 'gas_used'], 'properties': {'to': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'kind': {'enum': ['approve_reset', 'approve', 'call'], 'type': 'string'}, 'index': {'type': 'integer', 'maximum': 2, 'minimum': 0}, 'status': {'type': 'string', 'const': 'success'}, 'gas_used': {'type': 'string', 'pattern': '^\\d+$'}, 'block_number': {'type': 'string', 'pattern': '^\\d+$'}, 'transaction_hash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}}, 'additionalProperties': False}, 'maxItems': 3, 'minItems': 3}, 'status': {'type': 'string', 'const': 'sent'}, 'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'user_id': {'type': 'string', 'pattern': '^[a-zA-Z0-9-]{1,100}$'}, 'chain_id': {'type': 'number', 'const': 8453}, 'replayed': {'type': 'boolean'}, 'delegation': {'type': 'object', 'required': ['expires_at'], 'properties': {'expires_at': {'type': 'string'}}, 'additionalProperties': False}, 'artifact_id': {'type': 'string', 'pattern': '^[0-9A-HJKMNP-TV-Z]{26}$'}, 'verification': {'type': 'object', 'required': ['checks', 'gross', 'min_amount_out', 'otto_fee_atomic', 'otto_fee_recipient', 'fee_config_version', 'receiver'], 'properties': {'gross': {'type': 'string', 'pattern': '^\\d+$'}, 'checks': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 12}, 'receiver': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'min_amount_out': {'type': 'string', 'pattern': '^\\d+$'}, 'otto_fee_atomic': {'type': 'string', 'pattern': '^\\d+$'}, 'call_data_digest': {'type': 'string', 'pattern': '^0x(?:[0-9a-fA-F]{2})*$'}, 'fee_config_version': {'type': 'string'}, 'otto_fee_recipient': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'account': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chain_id': {'type': 'number', 'const': 8453}, 'created_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'updated_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'artifact_id': {'type': 'string', 'pattern': '^[0-9A-HJKMNP-TV-Z]{26}$'}}, 'additionalProperties': False}}, 'unresolved': {'type': 'boolean'}, 'store_available': {'type': 'boolean'}}, 'additionalProperties': False}
otto_delegation_revoke
Revoke one end user's delegation, developer-side, confirmed by read-back
Revoke the end user's delegation from Otto's side and confirm by read-back that it no longer exists; from then on this server submits nothing for that user (fail-closed, even if the read-back had failed). Arguments: EITHER { accessToken } (the user path — the server resolves the user from the token) OR { userId, support_reason } (the support path, for an operator holding the server secret; the reason is logged, the token never is). Server-to-server only: the caller presents Otto's delegation secret in the `x-otto-delegation-auth` request header (never in arguments); a call without it is refused before anything is read. The listed input schema is intentionally permissive — the strict schema is validated after the caller is authenticated.
破壊的操作あり 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['user_id', 'revoked', 'reads_back', 'path'], 'properties': {'path': {'enum': ['user', 'support'], 'type': 'string'}, 'revoked': {'type': 'boolean', 'const': True}, 'user_id': {'type': 'string', 'pattern': '^[a-zA-Z0-9-]{1,100}$'}, 'reads_back': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}
otto_delegation_status
Read one end user's delegation status (token-bound)
Read back, for the end user identified by a CDP access token, their CDP accounts, whether the Model-B fence is present, and whether an active delegation reads back (with its expiry and the per-swap cap recorded for it). Arguments: { accessToken } — the server resolves the user from the token; a client-sent user id is refused. delegation.per_swap_cap_usd is the number THIS user chose at mint time; it is ABSENT when no cap is recorded for the grant, which means the delegated send will refuse it — say so rather than showing the shared ceiling. fence.per_swap_cap_usd is that shared ceiling and is never a per-user number. Output is bound to that user; nothing about any other user is returned. Server-to-server only: the caller presents Otto's delegation secret in the `x-otto-delegation-auth` request header (never in arguments); a call without it is refused before anything is read. The listed input schema is intentionally permissive — the strict schema is validated after the caller is authenticated.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['user_id', 'addresses', 'fence', 'delegation', 'revocation_requested_here', 'ruleset_version', 'mint_enabled'], 'properties': {'fence': {'type': 'object', 'required': ['present', 'policy_name', 'per_swap_cap_usd'], 'properties': {'present': {'type': 'boolean'}, 'policy_name': {'type': 'string'}, 'rules_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'per_swap_cap_usd': {'type': 'number', 'const': 5000}}, 'additionalProperties': False}, 'user_id': {'type': 'string', 'pattern': '^[a-zA-Z0-9-]{1,100}$'}, 'addresses': {'type': 'array', 'items': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}}, 'delegation': {'type': 'object', 'required': ['active'], 'properties': {'active': {'type': 'boolean'}, 'expires_at': {'type': 'string'}, 'per_swap_cap_usd': {'type': 'integer', 'maximum': 5000, 'minimum': 1}}, 'additionalProperties': False}, 'mint_enabled': {'type': 'boolean'}, 'ruleset_version': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}, 'revocation_requested_here': {'type': 'boolean'}}, 'additionalProperties': False}
otto_equity_intel
Otto equity intelligence
Read SEC-EDGAR fundamentals and filings context for a US ticker: revenue and net-income trends, margins, EPS, leverage, recent 10-K/10-Q/8-K filings, and a guarded AI summary. Fundamentals scanner only; not a price feed or recommendation. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.003 USDC through x402.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'pattern': '^\\$?[A-Za-z][A-Za-z.-]{0,9}$', 'maxLength': 11, 'minLength': 1, 'description': 'US-listed stock ticker, for example NVDA, AAPL, or JPM.'}, 'x_payment': {'type': 'string', 'maxLength': 65536, 'minLength': 1, 'description': 'Signed x402 payment payload. Omit it to receive the machine-actionable payment challenge, then retry with the signed payload.'}}, 'additionalProperties': False}
otto_equity_smart_money
Otto equity smart-money scanner
Read a public-domain SEC bundle for a US ticker: Form 4 insider activity plus trailing-twelve-month XBRL fundamentals. Scanner context only; not a pick or recommendation. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.006 USDC through x402.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'pattern': '^\\$?[A-Za-z][A-Za-z.-]{0,9}$', 'maxLength': 11, 'minLength': 1, 'description': 'US-listed stock ticker, for example NVDA, AAPL, or JPM.'}, 'x_payment': {'type': 'string', 'maxLength': 65536, 'minLength': 1, 'description': 'Signed x402 payment payload. Omit it to receive the machine-actionable payment challenge, then retry with the signed payload.'}}, 'additionalProperties': False}
otto_equity_smart_money_brief
Otto equity smart-money brief
Read one guarded AI brief over observed SEC Form 4 flow, 13D/13G ownership events, and fundamentals for a US ticker. Filing scanner only; generation rejects buy/sell advice and the result is not a recommendation. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.10 USDC through x402.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'pattern': '^\\$?[A-Za-z][A-Za-z.-]{0,9}$', 'maxLength': 11, 'minLength': 1, 'description': 'US-listed stock ticker, for example NVDA, AAPL, or JPM.'}, 'x_payment': {'type': 'string', 'maxLength': 65536, 'minLength': 1, 'description': 'Signed x402 payment payload. Omit it to receive the machine-actionable payment challenge, then retry with the signed payload.'}}, 'additionalProperties': False}
otto_insider_trades
Otto insider trades
Read parsed SEC Form 4 insider transactions for a US ticker, including purchase/sale counts, dollar values, roles, and net P/S balance. Filing scanner only; not a recommendation. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.003 USDC through x402.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'pattern': '^\\$?[A-Za-z][A-Za-z.-]{0,9}$', 'maxLength': 11, 'minLength': 1, 'description': 'US-listed stock ticker, for example NVDA, AAPL, or JPM.'}, 'x_payment': {'type': 'string', 'maxLength': 65536, 'minLength': 1, 'description': 'Signed x402 payment payload. Omit it to receive the machine-actionable payment challenge, then retry with the signed payload.'}}, 'additionalProperties': False}
otto_institutional_holdings
Otto institutional holdings
Read the latest SEC 13F-HR top positions for an institutional manager by CIK or manager ticker, with amendments applied. Ownership data only; not a recommendation. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.003 USDC through x402.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['manager'], 'properties': {'manager': {'type': 'string', 'pattern': '^\\$?[A-Za-z0-9][A-Za-z0-9.-]{0,9}$', 'maxLength': 11, 'minLength': 1, 'description': 'SEC manager CIK, such as 1067983, or listed manager ticker, such as BLK.'}, 'x_payment': {'type': 'string', 'maxLength': 65536, 'minLength': 1, 'description': 'Signed x402 payment payload. Omit it to receive the machine-actionable payment challenge, then retry with the signed payload.'}}, 'additionalProperties': False}
otto_lp_collect_userop
Review or recover sponsored LP collection
Protected same-account Uniswap V3 guarded collection on Base. Read availability, prepare and explicitly confirm one operation, or read/reconcile it. May collect owed principal and fees; profit remains unknown. Account upgrade is separate. Current owner authority, reviewed guard and provider policy are required. Unknown delivery retains the original operation; no replacement is allowed. Preparation and simulation are not funded execution.
破壊的操作あり 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['schemaVersion', 'kind'], 'properties': {'gas': {'oneOf': [{'type': 'object', 'required': ['payer', 'maximumCostWei', 'maximumUserCostWei', 'maximumActivationCostWei'], 'properties': {'payer': {'type': 'string', 'const': 'sponsor'}, 'actualCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]{0,77})$', 'maxLength': 78}, 'paymentReview': {'type': 'object', 'required': ['version', 'revision', 'payer', 'sponsorStatus', 'subsidyCapUsdMicros', 'quote'], 'properties': {'payer': {'enum': ['sponsor', 'account'], 'type': 'string'}, 'quote': {'type': 'object', 'required': ['version', 'kind', 'payer', 'account', 'chainId', 'entryPoint', 'nativeAsset', 'callsCommitment', 'nonce', 'blockNumber', 'blockHash', 'blockTimestampMs', 'observedAtMs', 'expiresAtMs', 'simulation', 'providerEstimate', 'gas', 'balance'], 'properties': {'gas': {'type': 'object', 'required': ['callGasLimit', 'verificationGasLimit', 'preVerificationGas', 'maxFeePerGasWei', 'maxPriorityFeePerGasWei', 'estimatedPrefundWei', 'reserveWei', 'estimatedRequiredWei', 'reserveBps'], 'properties': {'reserveBps': {'type': 'string', 'const': '2500'}, 'reserveWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'callGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'preVerificationGas': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedPrefundWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedRequiredWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'verificationGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxPriorityFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'kind': {'type': 'string', 'const': 'estimate'}, 'nonce': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'payer': {'type': 'string', 'const': 'user'}, 'account': {'type': 'string', 'pattern': '^0x[0-9a-f]{40}$'}, 'balance': {'type': 'object', 'required': ['nativeWei', 'entryPointDepositWei', 'callValueWei', 'depositAppliedToGasWei', 'walletGasRequirementWei', 'nativeAvailableForGasWei', 'gasShortfallWei', 'requiredNativeWei', 'shortfallWei'], 'properties': {'nativeWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'callValueWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'shortfallWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'gasShortfallWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'requiredNativeWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'entryPointDepositWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'depositAppliedToGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'walletGasRequirementWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'nativeAvailableForGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'chainId': {'anyOf': [{'type': 'number', 'const': 1}, {'type': 'number', 'const': 8453}, {'type': 'number', 'const': 42161}, {'type': 'number', 'const': 10}, {'type': 'number', 'const': 137}]}, 'version': {'type': 'number', 'const': 1}, 'usdPrice': {'type': 'object', 'required': ['amountAtomic', 'decimals', 'observedAtMs', 'expiresAtMs'], 'properties': {'decimals': {'type': 'integer', 'maximum': 77, 'minimum': 0}, 'expiresAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'amountAtomic': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'observedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'blockHash': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$'}, 'entryPoint': {'type': 'string', 'pattern': '^0x[0-9a-f]{40}$'}, 'simulation': {'type': 'string', 'const': 'sender-balance-override'}, 'blockNumber': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'expiresAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'nativeAsset': {'type': 'object', 'required': ['symbol', 'decimals'], 'properties': {'symbol': {'enum': ['ETH', 'POL'], 'type': 'string'}, 'decimals': {'type': 'number', 'const': 18}}, 'additionalProperties': False}, 'observedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'callsCommitment': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'blockTimestampMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'providerEstimate': {'type': 'object', 'required': ['blockAnchor', 'startedAtMs', 'completedAtMs', 'elapsedMs'], 'properties': {'elapsedMs': {'type': 'number', 'maximum': 30000, 'minimum': 0}, 'blockAnchor': {'type': 'string', 'const': 'unanchored'}, 'startedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'completedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'sponsoredEstimate': {'type': 'object', 'required': ['kind', 'simulation', 'entryPointVersion', 'paymaster', 'sponsorshipPolicyId', 'paymasterAndDataCommitment', 'providerEstimate', 'gas'], 'properties': {'gas': {'type': 'object', 'required': ['callGasLimit', 'verificationGasLimit', 'preVerificationGas', 'maxFeePerGasWei', 'maxPriorityFeePerGasWei', 'verificationGasMultiplier', 'estimatedPrefundWei', 'reserveWei', 'estimatedRequiredWei', 'reserveBps'], 'properties': {'reserveBps': {'type': 'string', 'const': '2500'}, 'reserveWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'callGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'preVerificationGas': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedPrefundWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedRequiredWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'verificationGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxPriorityFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'verificationGasMultiplier': {'type': 'string', 'const': '3'}}, 'additionalProperties': False}, 'kind': {'type': 'string', 'const': 'estimate'}, 'paymaster': {'type': 'string', 'pattern': '^0x[0-9a-f]{40}$'}, 'simulation': {'type': 'string', 'const': 'paymaster-stub'}, 'providerEstimate': {'type': 'object', 'required': ['blockAnchor', 'startedAtMs', 'completedAtMs', 'elapsedMs'], 'properties': {'elapsedMs': {'type': 'number', 'maximum': 30000, 'minimum': 0}, 'blockAnchor': {'type': 'string', 'const': 'unanchored'}, 'startedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'completedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'entryPointVersion': {'type': 'string', 'const': '0.6'}, 'sponsorshipPolicyId': {'type': 'string', 'pattern': '^[a-zA-Z0-9_-]{1,128}$'}, 'estimatedGasCostUsdMicros': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'paymasterAndDataCommitment': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}}, 'additionalProperties': False}, 'estimatedGasCostUsdMicros': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'version': {'type': 'number', 'const': 1}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'sponsorStatus': {'enum': ['eligible', 'above-limit', 'unavailable', 'price-unavailable'], 'type': 'string'}, 'subsidyCapUsdMicros': {'type': 'string', 'const': '100000'}}, 'additionalProperties': False}, 'reviewFailure': {'enum': ['ACCOUNT_GAS_REVIEW_REQUIRED', 'ACCOUNT_GAS_REVIEW_CHANGED', 'ACCOUNT_GAS_REVIEW_STALE', 'ACCOUNT_GAS_REVIEW_UNAVAILABLE', 'ACCOUNT_GAS_REVIEW_INVALID', 'ACCOUNT_GAS_FUNDING_REQUIRED', 'ACCOUNT_GAS_SPONSOR_INELIGIBLE', 'ACCOUNT_GAS_QUOTE_UNAVAILABLE'], 'type': 'string'}, 'maximumCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]{0,77})$', 'maxLength': 78}, 'reviewRequired': {'type': 'boolean', 'const': True}, 'maximumUserCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]{0,77})$', 'maxLength': 78}, 'activationChainHalted': {'type': 'boolean', 'const': True}, 'maximumActivationCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]{0,77})$', 'maxLength': 78}}, 'additionalProperties': False}, {'type': 'object', 'required': ['payer', 'paymentReview'], 'properties': {'payer': {'type': 'string', 'const': 'account'}, 'actualCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]{0,77})$', 'maxLength': 78}, 'paymentReview': {'type': 'object', 'required': ['version', 'revision', 'payer', 'sponsorStatus', 'subsidyCapUsdMicros', 'quote'], 'properties': {'payer': {'enum': ['sponsor', 'account'], 'type': 'string'}, 'quote': {'type': 'object', 'required': ['version', 'kind', 'payer', 'account', 'chainId', 'entryPoint', 'nativeAsset', 'callsCommitment', 'nonce', 'blockNumber', 'blockHash', 'blockTimestampMs', 'observedAtMs', 'expiresAtMs', 'simulation', 'providerEstimate', 'gas', 'balance'], 'properties': {'gas': {'type': 'object', 'required': ['callGasLimit', 'verificationGasLimit', 'preVerificationGas', 'maxFeePerGasWei', 'maxPriorityFeePerGasWei', 'estimatedPrefundWei', 'reserveWei', 'estimatedRequiredWei', 'reserveBps'], 'properties': {'reserveBps': {'type': 'string', 'const': '2500'}, 'reserveWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'callGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'preVerificationGas': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedPrefundWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedRequiredWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'verificationGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxPriorityFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'kind': {'type': 'string', 'const': 'estimate'}, 'nonce': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'payer': {'type': 'string', 'const': 'user'}, 'account': {'type': 'string', 'pattern': '^0x[0-9a-f]{40}$'}, 'balance': {'type': 'object', 'required': ['nativeWei', 'entryPointDepositWei', 'callValueWei', 'depositAppliedToGasWei', 'walletGasRequirementWei', 'nativeAvailableForGasWei', 'gasShortfallWei', 'requiredNativeWei', 'shortfallWei'], 'properties': {'nativeWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'callValueWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'shortfallWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'gasShortfallWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'requiredNativeWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'entryPointDepositWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'depositAppliedToGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'walletGasRequirementWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'nativeAvailableForGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'chainId': {'anyOf': [{'type': 'number', 'const': 1}, {'type': 'number', 'const': 8453}, {'type': 'number', 'const': 42161}, {'type': 'number', 'const': 10}, {'type': 'number', 'const': 137}]}, 'version': {'type': 'number', 'const': 1}, 'usdPrice': {'type': 'object', 'required': ['amountAtomic', 'decimals', 'observedAtMs', 'expiresAtMs'], 'properties': {'decimals': {'type': 'integer', 'maximum': 77, 'minimum': 0}, 'expiresAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'amountAtomic': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'observedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'blockHash': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$'}, 'entryPoint': {'type': 'string', 'pattern': '^0x[0-9a-f]{40}$'}, 'simulation': {'type': 'string', 'const': 'sender-balance-override'}, 'blockNumber': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'expiresAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'nativeAsset': {'type': 'object', 'required': ['symbol', 'decimals'], 'properties': {'symbol': {'enum': ['ETH', 'POL'], 'type': 'string'}, 'decimals': {'type': 'number', 'const': 18}}, 'additionalProperties': False}, 'observedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'callsCommitment': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'blockTimestampMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'providerEstimate': {'type': 'object', 'required': ['blockAnchor', 'startedAtMs', 'completedAtMs', 'elapsedMs'], 'properties': {'elapsedMs': {'type': 'number', 'maximum': 30000, 'minimum': 0}, 'blockAnchor': {'type': 'string', 'const': 'unanchored'}, 'startedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'completedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'sponsoredEstimate': {'type': 'object', 'required': ['kind', 'simulation', 'entryPointVersion', 'paymaster', 'sponsorshipPolicyId', 'paymasterAndDataCommitment', 'providerEstimate', 'gas'], 'properties': {'gas': {'type': 'object', 'required': ['callGasLimit', 'verificationGasLimit', 'preVerificationGas', 'maxFeePerGasWei', 'maxPriorityFeePerGasWei', 'verificationGasMultiplier', 'estimatedPrefundWei', 'reserveWei', 'estimatedRequiredWei', 'reserveBps'], 'properties': {'reserveBps': {'type': 'string', 'const': '2500'}, 'reserveWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'callGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'preVerificationGas': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedPrefundWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedRequiredWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'verificationGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxPriorityFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'verificationGasMultiplier': {'type': 'string', 'const': '3'}}, 'additionalProperties': False}, 'kind': {'type': 'string', 'const': 'estimate'}, 'paymaster': {'type': 'string', 'pattern': '^0x[0-9a-f]{40}$'}, 'simulation': {'type': 'string', 'const': 'paymaster-stub'}, 'providerEstimate': {'type': 'object', 'required': ['blockAnchor', 'startedAtMs', 'completedAtMs', 'elapsedMs'], 'properties': {'elapsedMs': {'type': 'number', 'maximum': 30000, 'minimum': 0}, 'blockAnchor': {'type': 'string', 'const': 'unanchored'}, 'startedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'completedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'entryPointVersion': {'type': 'string', 'const': '0.6'}, 'sponsorshipPolicyId': {'type': 'string', 'pattern': '^[a-zA-Z0-9_-]{1,128}$'}, 'estimatedGasCostUsdMicros': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'paymasterAndDataCommitment': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}}, 'additionalProperties': False}, 'estimatedGasCostUsdMicros': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'version': {'type': 'number', 'const': 1}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'sponsorStatus': {'enum': ['eligible', 'above-limit', 'unavailable', 'price-unavailable'], 'type': 'string'}, 'subsidyCapUsdMicros': {'type': 'string', 'const': '100000'}}, 'additionalProperties': False}, 'reviewFailure': {'enum': ['ACCOUNT_GAS_REVIEW_REQUIRED', 'ACCOUNT_GAS_REVIEW_CHANGED', 'ACCOUNT_GAS_REVIEW_STALE', 'ACCOUNT_GAS_REVIEW_UNAVAILABLE', 'ACCOUNT_GAS_REVIEW_INVALID', 'ACCOUNT_GAS_FUNDING_REQUIRED', 'ACCOUNT_GAS_SPONSOR_INELIGIBLE', 'ACCOUNT_GAS_QUOTE_UNAVAILABLE'], 'type': 'string'}, 'reviewRequired': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}]}, 'kind': {'type': 'string', 'const': 'lp-collect-userop'}, 'pool': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'state': {'enum': ['review', 'active', 'unknown', 'submitted', 'completed', 'failed'], 'type': 'string'}, 'action': {'type': 'string', 'const': 'guarded-collect'}, 'reason': {'enum': ['SPONSOR_ACTIVATION_UNCONFIGURED', 'SPONSOR_ACTIVATION_UNAVAILABLE', 'SPONSOR_RECOVERY_ONLY', 'SPONSOR_CAPABILITY_UNAVAILABLE', 'SPONSOR_RUNTIME_UNAVAILABLE', 'SPONSOR_JOURNAL_UNAVAILABLE', 'SPONSOR_REQUEST_INVALID', 'SPONSOR_REQUEST_REFUSED', 'SPONSOR_SESSION_REQUIRED', 'SPONSOR_SESSION_INVALID', 'SPONSOR_OWNER_MISMATCH', 'SPONSOR_EXPLICIT_WALLET_UPGRADE_REQUIRED', 'SPONSOR_CURRENT_GRANT_REQUIRED', 'SPONSOR_CAP_UNAVAILABLE', 'SPONSOR_POLICY_CHANGED', 'SPONSOR_CHAIN_UNAVAILABLE', 'SPONSOR_ACCOUNT_PROOF_UNAVAILABLE', 'SPONSOR_ACCOUNT_PROOF_MISMATCH', 'SPONSOR_INPUT_OUTSIDE_REVIEWED_CAP', 'SPONSOR_REVIEW_AUTHORITY_CHANGED', 'SPONSOR_REVIEW_EXPIRED', 'SPONSOR_STOP_OR_CAP_CHANGED', 'SPONSOR_BALANCE_INSUFFICIENT', 'SPONSOR_OUTPUT_TOKEN_UNREVIEWED', 'SPONSOR_BUDGET_HALTED', 'SPONSOR_NOT_SUBMITTED', 'SPONSOR_USER_OPERATION_REVERTED', 'SPONSOR_GAS_CAP_EXCEEDED', 'ACCOUNT_GAS_REVIEW_REQUIRED', 'ACCOUNT_GAS_REVIEW_CHANGED', 'ACCOUNT_GAS_REVIEW_STALE', 'ACCOUNT_GAS_REVIEW_UNAVAILABLE', 'ACCOUNT_GAS_REVIEW_INVALID', 'ACCOUNT_GAS_FUNDING_REQUIRED', 'ACCOUNT_GAS_SPONSOR_INELIGIBLE', 'ACCOUNT_GAS_QUOTE_UNAVAILABLE'], 'type': 'string'}, 'status': {'type': 'string', 'const': 'outcome-unknown'}, 'account': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'type': 'number', 'const': 8453}, 'tokenId': {'type': 'string', 'pattern': '^(0|[1-9][0-9]{0,77})$', 'maxLength': 78}, 'protocol': {'type': 'string', 'const': 'uniswap-v3'}, 'attention': {'anyOf': [{'type': 'string', 'const': 'The original provider request is unresolved. Read or reconcile this operation; do not submit a replacement.'}, {'type': 'string', 'const': 'The outcome of the original submission is unknown. Read or reconcile this operation; do not submit a replacement.'}]}, 'retrySafe': {'type': 'boolean', 'const': False}, 'collection': {'type': 'object', 'required': ['tokens', 'maximum', 'minimum', 'tokensOwedAtReview', 'maximumAuthorized', 'mayIncludeOwedPrincipal', 'profitClassification', 'distributableProfitRaw'], 'properties': {'tokens': {'type': 'array', 'items': [{'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}]}, 'maximum': {'type': 'array', 'items': [{'type': 'string', 'pattern': '^(0|[1-9][0-9]{0,77})$', 'maxLength': 78}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]{0,77})$', 'maxLength': 78}]}, 'minimum': {'type': 'array', 'items': [{'type': 'string', 'pattern': '^(0|[1-9][0-9]{0,77})$', 'maxLength': 78}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]{0,77})$', 'maxLength': 78}]}, 'maximumAuthorized': {'type': 'array', 'items': [{'type': 'string', 'pattern': '^(0|[1-9][0-9]{0,77})$', 'maxLength': 78}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]{0,77})$', 'maxLength': 78}]}, 'tokensOwedAtReview': {'type': 'array', 'items': [{'type': 'string', 'pattern': '^(0|[1-9][0-9]{0,77})$', 'maxLength': 78}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]{0,77})$', 'maxLength': 78}]}, 'profitClassification': {'type': 'string', 'const': 'UNKNOWN'}, 'distributableProfitRaw': {'type': 'null'}, 'mayIncludeOwedPrincipal': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, 'configured': {'type': 'boolean'}, 'settlement': {'anyOf': [{'type': 'object', 'required': ['status', 'reason', 'userOpHash', 'transactionHash', 'releaseClaim', 'retrySafe'], 'properties': {'reason': {'type': 'string'}, 'status': {'enum': ['held', 'unknown'], 'type': 'string'}, 'retrySafe': {'type': 'boolean', 'const': False}, 'userOpHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'releaseClaim': {'type': 'boolean', 'const': False}, 'transactionHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['userOpHash', 'transactionHash', 'blockHash', 'blockNumber', 'userOpNonce', 'owner', 'chainId', 'pool', 'tokenId', 'planCommitment', 'baselineCommitment', 'accountingCommitment', 'collectedRaw', 'liquidityDelta', 'ownerBalancesAtBlock', 'nftTokenApprovalCleared', 'erc20AllowancesCleared', 'actualGasCostWei', 'actualGasUsed', 'paymaster', 'profitClassification', 'distributableProfitRaw', 'releaseClaim', 'retrySafe', 'finality', 'status', 'protocolActionVerified'], 'properties': {'pool': {'type': 'string'}, 'owner': {'type': 'string'}, 'status': {'type': 'string', 'const': 'completed'}, 'chainId': {'type': 'number', 'const': 8453}, 'tokenId': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'finality': {'type': 'object', 'required': ['policyCommitment', 'observedAtMs', 'finalizedBlockNumber', 'finalizedBlockHash', 'confirmations'], 'properties': {'observedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'confirmations': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'policyCommitment': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'finalizedBlockHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'finalizedBlockNumber': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}}, 'additionalProperties': False}, 'blockHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'paymaster': {'type': 'string'}, 'retrySafe': {'type': 'boolean', 'const': False}, 'userOpHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'blockNumber': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'userOpNonce': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'collectedRaw': {'type': 'array', 'items': [{'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}]}, 'releaseClaim': {'type': 'boolean', 'const': True}, 'actualGasUsed': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'liquidityDelta': {'type': 'string', 'const': '0'}, 'planCommitment': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'transactionHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'actualGasCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'baselineCommitment': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'accountingCommitment': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'ownerBalancesAtBlock': {'type': 'array', 'items': [{'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}]}, 'profitClassification': {'type': 'string', 'const': 'UNKNOWN'}, 'distributableProfitRaw': {'type': 'null'}, 'erc20AllowancesCleared': {'type': 'boolean', 'const': True}, 'protocolActionVerified': {'type': 'boolean', 'const': True}, 'nftTokenApprovalCleared': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, {'type': 'object', 'required': ['userOpHash', 'transactionHash', 'blockHash', 'blockNumber', 'userOpNonce', 'owner', 'chainId', 'pool', 'tokenId', 'planCommitment', 'baselineCommitment', 'accountingCommitment', 'collectedRaw', 'liquidityDelta', 'ownerBalancesAtBlock', 'nftTokenApprovalCleared', 'erc20AllowancesCleared', 'actualGasCostWei', 'actualGasUsed', 'paymaster', 'profitClassification', 'distributableProfitRaw', 'releaseClaim', 'retrySafe', 'finality', 'status', 'protocolActionVerified'], 'properties': {'pool': {'type': 'string'}, 'owner': {'type': 'string'}, 'status': {'type': 'string', 'const': 'reverted'}, 'chainId': {'type': 'number', 'const': 8453}, 'tokenId': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'finality': {'type': 'object', 'required': ['policyCommitment', 'observedAtMs', 'finalizedBlockNumber', 'finalizedBlockHash', 'confirmations'], 'properties': {'observedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'confirmations': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'policyCommitment': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'finalizedBlockHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'finalizedBlockNumber': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}}, 'additionalProperties': False}, 'blockHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'paymaster': {'type': 'string'}, 'retrySafe': {'type': 'boolean', 'const': False}, 'userOpHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'blockNumber': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'userOpNonce': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'collectedRaw': {'type': 'array', 'items': [{'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}]}, 'releaseClaim': {'type': 'boolean', 'const': True}, 'actualGasUsed': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'liquidityDelta': {'type': 'string', 'const': '0'}, 'planCommitment': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'transactionHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'actualGasCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'baselineCommitment': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'accountingCommitment': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'ownerBalancesAtBlock': {'type': 'array', 'items': [{'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}]}, 'profitClassification': {'type': 'string', 'const': 'UNKNOWN'}, 'distributableProfitRaw': {'type': 'null'}, 'erc20AllowancesCleared': {'type': 'boolean', 'const': True}, 'protocolActionVerified': {'type': 'boolean', 'const': False}, 'nftTokenApprovalCleared': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}]}, 'userOpHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'failureCode': {'enum': ['SPONSOR_NOT_SUBMITTED', 'SPONSOR_USER_OPERATION_REVERTED', 'SPONSOR_GAS_CAP_EXCEEDED'], 'type': 'string'}, 'operationId': {'type': 'string', 'pattern': '^sp_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$'}, 'confirmation': {'enum': ['I reviewed this position collection and sponsored atomic batch', 'I reviewed this position collection and account-paid atomic batch'], 'type': 'string'}, 'validUntilMs': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'schemaVersion': {'type': 'string', 'const': '1'}, 'reviewConsumed': {'type': 'boolean'}, 'transactionHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'executionEnabled': {'type': 'boolean'}, 'reviewCommitment': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'supportedActions': {'type': 'array', 'items': [{'type': 'string', 'const': 'guarded-collect'}]}, 'recoveryAvailable': {'type': 'boolean'}, 'envelopeCommitment': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'replacementPermitted': {'type': 'boolean', 'const': False}, 'protocolActionVerified': {'type': 'boolean'}, 'requiresReconciliation': {'type': 'boolean', 'const': True}, 'requiresOperationReview': {'type': 'boolean'}, 'automaticExecutionEnabled': {'type': 'boolean', 'const': False}, 'supportedSameAddressChains': {'type': 'array', 'items': {'type': 'number', 'const': 8453}, 'maxItems': 1}, 'requiresSeparateWalletUpgrade': {'type': 'boolean', 'const': True}, 'walletAuthorityChangeIncluded': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}
otto_muse_autopay_availability
Otto Muse research autopay availability
Manage same-wallet research autopay. Enrollment needs a CDP-authenticated pending reservation; capability is returned once. Secret-bearing input/output must not be logged.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': {}}
otto_muse_autopay_enroll
Otto Muse research autopay enroll
Manage same-wallet research autopay. Enrollment needs a CDP-authenticated pending reservation; capability is returned once. Secret-bearing input/output must not be logged.
外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['accessToken', 'enrollmentId'], 'properties': {'accessToken': {'type': 'string', 'description': 'Secret credential. Never log, echo or persist plaintext.'}, 'enrollmentId': {'type': 'string', 'description': 'Session ID reserved by prepare; retained before enrollment for recovery.'}}, 'additionalProperties': {}}
otto_muse_autopay_prepare
Otto Muse research autopay prepare
Manage same-wallet research autopay. Enrollment needs a CDP-authenticated pending reservation; capability is returned once. Secret-bearing input/output must not be logged.
外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['accessToken', 'wallet', 'expiresAt', 'perCallAtomic', 'totalAtomic', 'allowedTools'], 'properties': {'wallet': {'type': 'string', 'description': 'Exact CDP embedded EOA.'}, 'expiresAt': {'type': 'string', 'description': 'Requested session end as an ISO-8601 UTC timestamp.'}, 'accessToken': {'type': 'string', 'description': 'Secret credential. Never log, echo or persist plaintext.'}, 'totalAtomic': {'type': 'string', 'description': 'Positive cumulative atomic USDC budget, including ambiguous attempts.'}, 'allowedTools': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Subset of allowedTools returned by availability; research only.'}, 'perCallAtomic': {'type': 'string', 'description': 'Positive atomic USDC per-call ceiling; at most 1000000.'}}, 'additionalProperties': {}}
otto_muse_autopay_revoke
Otto Muse research autopay revoke
Manage same-wallet research autopay. Enrollment needs a CDP-authenticated pending reservation; capability is returned once. Secret-bearing input/output must not be logged.
外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'sessionId': {'type': 'string', 'description': 'Session ID reserved by prepare; retained before enrollment for recovery.'}, 'capability': {'type': 'string', 'description': 'Secret credential. Never log, echo or persist plaintext.'}, 'accessToken': {'type': 'string', 'description': 'Secret credential. Never log, echo or persist plaintext.'}}, 'description': 'Use capability OR accessToken plus sessionId. Revokes this research session, not the global provider grant.', 'additionalProperties': {}}
otto_muse_autopay_sign
Otto Muse research autopay sign
Sign one exact allowlisted Base-USDC research payment under an existing bounded capability. Never sends it. Never retry an uncertain signing attempt with a new nonce.
外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['capability', 'operationId', 'tool', 'arguments', 'resource', 'amountAtomic', 'nonce', 'validAfter', 'validBefore'], 'properties': {'tool': {'type': 'string', 'description': 'Exact allowlisted research MCP tool.'}, 'nonce': {'type': 'string', 'description': 'Persisted 32-byte EIP-3009 nonce.'}, 'resource': {'type': 'string', 'description': 'Exact canonical resource from the prepared payment challenge.'}, 'arguments': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'capability': {'type': 'string', 'description': 'Secret credential. Never log, echo or persist plaintext.'}, 'validAfter': {'type': 'string', 'description': 'Must be "0".'}, 'operationId': {'type': 'string', 'description': 'Stable operation ID, 8–128 safe characters; never replace on retry.'}, 'validBefore': {'type': 'string', 'description': 'Unix seconds as a decimal string; at most 300 seconds ahead.'}, 'amountAtomic': {'type': 'string', 'description': 'Exact registry price, atomic USDC.'}}, 'additionalProperties': {}}
otto_muse_autopay_status
Otto Muse research autopay status
Manage same-wallet research autopay. Enrollment needs a CDP-authenticated pending reservation; capability is returned once. Secret-bearing input/output must not be logged.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'wallet': {'type': 'string'}, 'sessionId': {'type': 'string', 'description': 'Session ID reserved by prepare; retained before enrollment for recovery.'}, 'capability': {'type': 'string', 'description': 'Secret credential. Never log, echo or persist plaintext.'}, 'accessToken': {'type': 'string', 'description': 'Secret credential. Never log, echo or persist plaintext.'}, 'operationId': {'type': 'string'}, 'enrollmentId': {'type': 'string', 'description': 'Session ID reserved by prepare; retained before enrollment for recovery.'}}, 'description': 'Use capability OR CDP accessToken. Owner lookup may omit IDs to discover pending sessions.', 'additionalProperties': {}}
otto_native_yield_userop
Review or recover an account native yield action
Protected native protocol action. Read availability, review and confirm native scope, prepare, reviewGas for current payer and network estimate, and explicitly confirm one operation, or read/reconcile/revoke native consent. Account upgrade is separate. Source activation and current owner authority are required. Unknown delivery retains the original operation; no replacement is allowed. A preparation or simulation is not funded execution.
破壊的操作あり 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['schemaVersion', 'kind'], 'properties': {'gas': {'oneOf': [{'type': 'object', 'required': ['payer', 'maximumCostWei', 'maximumUserCostWei', 'maximumActivationCostWei'], 'properties': {'payer': {'type': 'string', 'const': 'sponsor'}, 'actualCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'paymentReview': {'type': 'object', 'required': ['version', 'revision', 'payer', 'sponsorStatus', 'subsidyCapUsdMicros', 'quote'], 'properties': {'payer': {'enum': ['sponsor', 'account'], 'type': 'string'}, 'quote': {'type': 'object', 'required': ['version', 'kind', 'payer', 'account', 'chainId', 'entryPoint', 'nativeAsset', 'callsCommitment', 'nonce', 'blockNumber', 'blockHash', 'blockTimestampMs', 'observedAtMs', 'expiresAtMs', 'simulation', 'providerEstimate', 'gas', 'balance'], 'properties': {'gas': {'type': 'object', 'required': ['callGasLimit', 'verificationGasLimit', 'preVerificationGas', 'maxFeePerGasWei', 'maxPriorityFeePerGasWei', 'estimatedPrefundWei', 'reserveWei', 'estimatedRequiredWei', 'reserveBps'], 'properties': {'reserveBps': {'type': 'string', 'const': '2500'}, 'reserveWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'callGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'preVerificationGas': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedPrefundWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedRequiredWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'verificationGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxPriorityFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'kind': {'type': 'string', 'const': 'estimate'}, 'nonce': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'payer': {'type': 'string', 'const': 'user'}, 'account': {'type': 'string', 'pattern': '^0x[0-9a-f]{40}$'}, 'balance': {'type': 'object', 'required': ['nativeWei', 'entryPointDepositWei', 'callValueWei', 'depositAppliedToGasWei', 'walletGasRequirementWei', 'nativeAvailableForGasWei', 'gasShortfallWei', 'requiredNativeWei', 'shortfallWei'], 'properties': {'nativeWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'callValueWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'shortfallWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'gasShortfallWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'requiredNativeWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'entryPointDepositWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'depositAppliedToGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'walletGasRequirementWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'nativeAvailableForGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'chainId': {'anyOf': [{'type': 'number', 'const': 1}, {'type': 'number', 'const': 8453}, {'type': 'number', 'const': 42161}, {'type': 'number', 'const': 10}, {'type': 'number', 'const': 137}]}, 'version': {'type': 'number', 'const': 1}, 'usdPrice': {'type': 'object', 'required': ['amountAtomic', 'decimals', 'observedAtMs', 'expiresAtMs'], 'properties': {'decimals': {'type': 'integer', 'maximum': 77, 'minimum': 0}, 'expiresAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'amountAtomic': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'observedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'blockHash': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$'}, 'entryPoint': {'type': 'string', 'pattern': '^0x[0-9a-f]{40}$'}, 'simulation': {'type': 'string', 'const': 'sender-balance-override'}, 'blockNumber': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'expiresAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'nativeAsset': {'type': 'object', 'required': ['symbol', 'decimals'], 'properties': {'symbol': {'enum': ['ETH', 'POL'], 'type': 'string'}, 'decimals': {'type': 'number', 'const': 18}}, 'additionalProperties': False}, 'observedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'callsCommitment': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'blockTimestampMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'providerEstimate': {'type': 'object', 'required': ['blockAnchor', 'startedAtMs', 'completedAtMs', 'elapsedMs'], 'properties': {'elapsedMs': {'type': 'number', 'maximum': 30000, 'minimum': 0}, 'blockAnchor': {'type': 'string', 'const': 'unanchored'}, 'startedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'completedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'sponsoredEstimate': {'type': 'object', 'required': ['kind', 'simulation', 'entryPointVersion', 'paymaster', 'sponsorshipPolicyId', 'paymasterAndDataCommitment', 'providerEstimate', 'gas'], 'properties': {'gas': {'type': 'object', 'required': ['callGasLimit', 'verificationGasLimit', 'preVerificationGas', 'maxFeePerGasWei', 'maxPriorityFeePerGasWei', 'verificationGasMultiplier', 'estimatedPrefundWei', 'reserveWei', 'estimatedRequiredWei', 'reserveBps'], 'properties': {'reserveBps': {'type': 'string', 'const': '2500'}, 'reserveWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'callGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'preVerificationGas': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedPrefundWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedRequiredWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'verificationGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxPriorityFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'verificationGasMultiplier': {'type': 'string', 'const': '3'}}, 'additionalProperties': False}, 'kind': {'type': 'string', 'const': 'estimate'}, 'paymaster': {'type': 'string', 'pattern': '^0x[0-9a-f]{40}$'}, 'simulation': {'type': 'string', 'const': 'paymaster-stub'}, 'providerEstimate': {'type': 'object', 'required': ['blockAnchor', 'startedAtMs', 'completedAtMs', 'elapsedMs'], 'properties': {'elapsedMs': {'type': 'number', 'maximum': 30000, 'minimum': 0}, 'blockAnchor': {'type': 'string', 'const': 'unanchored'}, 'startedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'completedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'entryPointVersion': {'type': 'string', 'const': '0.6'}, 'sponsorshipPolicyId': {'type': 'string', 'pattern': '^[a-zA-Z0-9_-]{1,128}$'}, 'estimatedGasCostUsdMicros': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'paymasterAndDataCommitment': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}}, 'additionalProperties': False}, 'estimatedGasCostUsdMicros': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'version': {'type': 'number', 'const': 1}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'sponsorStatus': {'enum': ['eligible', 'above-limit', 'unavailable', 'price-unavailable'], 'type': 'string'}, 'subsidyCapUsdMicros': {'type': 'string', 'const': '100000'}}, 'additionalProperties': False}, 'reviewFailure': {'enum': ['ACCOUNT_GAS_REVIEW_REQUIRED', 'ACCOUNT_GAS_REVIEW_CHANGED', 'ACCOUNT_GAS_REVIEW_STALE', 'ACCOUNT_GAS_REVIEW_UNAVAILABLE', 'ACCOUNT_GAS_REVIEW_INVALID', 'ACCOUNT_GAS_FUNDING_REQUIRED', 'ACCOUNT_GAS_SPONSOR_INELIGIBLE', 'ACCOUNT_GAS_QUOTE_UNAVAILABLE'], 'type': 'string'}, 'maximumCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'reviewRequired': {'type': 'boolean', 'const': True}, 'maximumUserCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'activationChainHalted': {'type': 'boolean', 'const': True}, 'maximumActivationCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, {'type': 'object', 'required': ['payer', 'paymentReview'], 'properties': {'payer': {'type': 'string', 'const': 'account'}, 'actualCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'paymentReview': {'type': 'object', 'required': ['version', 'revision', 'payer', 'sponsorStatus', 'subsidyCapUsdMicros', 'quote'], 'properties': {'payer': {'enum': ['sponsor', 'account'], 'type': 'string'}, 'quote': {'type': 'object', 'required': ['version', 'kind', 'payer', 'account', 'chainId', 'entryPoint', 'nativeAsset', 'callsCommitment', 'nonce', 'blockNumber', 'blockHash', 'blockTimestampMs', 'observedAtMs', 'expiresAtMs', 'simulation', 'providerEstimate', 'gas', 'balance'], 'properties': {'gas': {'type': 'object', 'required': ['callGasLimit', 'verificationGasLimit', 'preVerificationGas', 'maxFeePerGasWei', 'maxPriorityFeePerGasWei', 'estimatedPrefundWei', 'reserveWei', 'estimatedRequiredWei', 'reserveBps'], 'properties': {'reserveBps': {'type': 'string', 'const': '2500'}, 'reserveWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'callGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'preVerificationGas': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedPrefundWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedRequiredWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'verificationGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxPriorityFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'kind': {'type': 'string', 'const': 'estimate'}, 'nonce': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'payer': {'type': 'string', 'const': 'user'}, 'account': {'type': 'string', 'pattern': '^0x[0-9a-f]{40}$'}, 'balance': {'type': 'object', 'required': ['nativeWei', 'entryPointDepositWei', 'callValueWei', 'depositAppliedToGasWei', 'walletGasRequirementWei', 'nativeAvailableForGasWei', 'gasShortfallWei', 'requiredNativeWei', 'shortfallWei'], 'properties': {'nativeWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'callValueWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'shortfallWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'gasShortfallWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'requiredNativeWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'entryPointDepositWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'depositAppliedToGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'walletGasRequirementWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'nativeAvailableForGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'chainId': {'anyOf': [{'type': 'number', 'const': 1}, {'type': 'number', 'const': 8453}, {'type': 'number', 'const': 42161}, {'type': 'number', 'const': 10}, {'type': 'number', 'const': 137}]}, 'version': {'type': 'number', 'const': 1}, 'usdPrice': {'type': 'object', 'required': ['amountAtomic', 'decimals', 'observedAtMs', 'expiresAtMs'], 'properties': {'decimals': {'type': 'integer', 'maximum': 77, 'minimum': 0}, 'expiresAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'amountAtomic': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'observedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'blockHash': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$'}, 'entryPoint': {'type': 'string', 'pattern': '^0x[0-9a-f]{40}$'}, 'simulation': {'type': 'string', 'const': 'sender-balance-override'}, 'blockNumber': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'expiresAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'nativeAsset': {'type': 'object', 'required': ['symbol', 'decimals'], 'properties': {'symbol': {'enum': ['ETH', 'POL'], 'type': 'string'}, 'decimals': {'type': 'number', 'const': 18}}, 'additionalProperties': False}, 'observedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'callsCommitment': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'blockTimestampMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'providerEstimate': {'type': 'object', 'required': ['blockAnchor', 'startedAtMs', 'completedAtMs', 'elapsedMs'], 'properties': {'elapsedMs': {'type': 'number', 'maximum': 30000, 'minimum': 0}, 'blockAnchor': {'type': 'string', 'const': 'unanchored'}, 'startedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'completedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'sponsoredEstimate': {'type': 'object', 'required': ['kind', 'simulation', 'entryPointVersion', 'paymaster', 'sponsorshipPolicyId', 'paymasterAndDataCommitment', 'providerEstimate', 'gas'], 'properties': {'gas': {'type': 'object', 'required': ['callGasLimit', 'verificationGasLimit', 'preVerificationGas', 'maxFeePerGasWei', 'maxPriorityFeePerGasWei', 'verificationGasMultiplier', 'estimatedPrefundWei', 'reserveWei', 'estimatedRequiredWei', 'reserveBps'], 'properties': {'reserveBps': {'type': 'string', 'const': '2500'}, 'reserveWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'callGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'preVerificationGas': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedPrefundWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedRequiredWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'verificationGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxPriorityFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'verificationGasMultiplier': {'type': 'string', 'const': '3'}}, 'additionalProperties': False}, 'kind': {'type': 'string', 'const': 'estimate'}, 'paymaster': {'type': 'string', 'pattern': '^0x[0-9a-f]{40}$'}, 'simulation': {'type': 'string', 'const': 'paymaster-stub'}, 'providerEstimate': {'type': 'object', 'required': ['blockAnchor', 'startedAtMs', 'completedAtMs', 'elapsedMs'], 'properties': {'elapsedMs': {'type': 'number', 'maximum': 30000, 'minimum': 0}, 'blockAnchor': {'type': 'string', 'const': 'unanchored'}, 'startedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'completedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'entryPointVersion': {'type': 'string', 'const': '0.6'}, 'sponsorshipPolicyId': {'type': 'string', 'pattern': '^[a-zA-Z0-9_-]{1,128}$'}, 'estimatedGasCostUsdMicros': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'paymasterAndDataCommitment': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}}, 'additionalProperties': False}, 'estimatedGasCostUsdMicros': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'version': {'type': 'number', 'const': 1}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'sponsorStatus': {'enum': ['eligible', 'above-limit', 'unavailable', 'price-unavailable'], 'type': 'string'}, 'subsidyCapUsdMicros': {'type': 'string', 'const': '100000'}}, 'additionalProperties': False}, 'reviewFailure': {'enum': ['ACCOUNT_GAS_REVIEW_REQUIRED', 'ACCOUNT_GAS_REVIEW_CHANGED', 'ACCOUNT_GAS_REVIEW_STALE', 'ACCOUNT_GAS_REVIEW_UNAVAILABLE', 'ACCOUNT_GAS_REVIEW_INVALID', 'ACCOUNT_GAS_FUNDING_REQUIRED', 'ACCOUNT_GAS_SPONSOR_INELIGIBLE', 'ACCOUNT_GAS_QUOTE_UNAVAILABLE'], 'type': 'string'}, 'reviewRequired': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}]}, 'kind': {'type': 'string', 'const': 'native-yield-userop'}, 'input': {'type': 'object', 'required': ['token', 'amount'], 'properties': {'token': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'amount': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'scope': {'type': 'object', 'required': ['account', 'chainId', 'scopes', 'marketLimits', 'perDepositCapUsd', 'maximumGasCostWei', 'maximumUserGasCostWei', 'maximumActivationGasCostWei', 'expiresAtMs', 'requiresSeparateOperationReview'], 'properties': {'scopes': {'type': 'array', 'items': {'enum': ['approve-reset', 'approve', 'deposit', 'withdraw', 'revoke'], 'type': 'string'}, 'maxItems': 5, 'minItems': 5}, 'account': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'anyOf': [{'type': 'number', 'const': 8453}, {'type': 'number', 'const': 42161}]}, 'expiresAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'marketLimits': {'type': 'array', 'items': {'type': 'object', 'required': ['marketId', 'action', 'inputToken', 'maximumInputAtomic'], 'properties': {'action': {'enum': ['deposit', 'withdraw'], 'type': 'string'}, 'marketId': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'inputToken': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'maximumInputAtomic': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'maxItems': 12, 'minItems': 1}, 'perDepositCapUsd': {'type': 'integer', 'maximum': 5000, 'minimum': 1}, 'maximumGasCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maximumUserGasCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maximumActivationGasCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'requiresSeparateOperationReview': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, 'state': {'enum': ['review', 'active', 'unknown', 'submitted', 'completed', 'failed'], 'type': 'string'}, 'action': {'enum': ['deposit', 'withdraw'], 'type': 'string'}, 'output': {'type': 'object', 'required': ['token', 'minimum'], 'properties': {'token': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'minimum': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'reason': {'enum': ['SPONSOR_ACTIVATION_UNCONFIGURED', 'SPONSOR_ACTIVATION_UNAVAILABLE', 'SPONSOR_RECOVERY_ONLY', 'SPONSOR_CAPABILITY_UNAVAILABLE', 'SPONSOR_RUNTIME_UNAVAILABLE', 'SPONSOR_JOURNAL_UNAVAILABLE', 'SPONSOR_REQUEST_INVALID', 'SPONSOR_REQUEST_REFUSED', 'SPONSOR_SESSION_REQUIRED', 'SPONSOR_SESSION_INVALID', 'SPONSOR_OWNER_MISMATCH', 'SPONSOR_EXPLICIT_WALLET_UPGRADE_REQUIRED', 'SPONSOR_CURRENT_GRANT_REQUIRED', 'SPONSOR_CAP_UNAVAILABLE', 'SPONSOR_POLICY_CHANGED', 'SPONSOR_CHAIN_UNAVAILABLE', 'SPONSOR_ACCOUNT_PROOF_UNAVAILABLE', 'SPONSOR_ACCOUNT_PROOF_MISMATCH', 'SPONSOR_INPUT_OUTSIDE_REVIEWED_CAP', 'SPONSOR_REVIEW_AUTHORITY_CHANGED', 'SPONSOR_REVIEW_EXPIRED', 'SPONSOR_STOP_OR_CAP_CHANGED', 'SPONSOR_BALANCE_INSUFFICIENT', 'SPONSOR_OUTPUT_TOKEN_UNREVIEWED', 'SPONSOR_BUDGET_HALTED', 'SPONSOR_NOT_SUBMITTED', 'SPONSOR_USER_OPERATION_REVERTED', 'SPONSOR_GAS_CAP_EXCEEDED', 'ACCOUNT_GAS_REVIEW_REQUIRED', 'ACCOUNT_GAS_REVIEW_CHANGED', 'ACCOUNT_GAS_REVIEW_STALE', 'ACCOUNT_GAS_REVIEW_UNAVAILABLE', 'ACCOUNT_GAS_REVIEW_INVALID', 'ACCOUNT_GAS_FUNDING_REQUIRED', 'ACCOUNT_GAS_SPONSOR_INELIGIBLE', 'ACCOUNT_GAS_QUOTE_UNAVAILABLE'], 'type': 'string'}, 'status': {'type': 'string', 'const': 'outcome-unknown'}, 'account': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'anyOf': [{'type': 'number', 'const': 8453}, {'type': 'number', 'const': 42161}]}, 'consent': {'type': 'object', 'required': ['consentId', 'consentCommitment', 'state', 'generation', 'createdAtMs', 'challengeExpiresAtMs', 'confirmedAtMs', 'account', 'chainId'], 'properties': {'state': {'enum': ['challenge', 'confirmed', 'revoked', 'superseded'], 'type': 'string'}, 'account': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'anyOf': [{'type': 'number', 'const': 8453}, {'type': 'number', 'const': 42161}]}, 'consentId': {'type': 'string', 'pattern': '^(ny|nc)_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$'}, 'generation': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'createdAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'confirmedAtMs': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'consentCommitment': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'challengeExpiresAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}, 'marketId': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'attention': {'anyOf': [{'type': 'string', 'const': 'The original provider request is unresolved. Read or reconcile this operation; do not submit a replacement.'}, {'type': 'string', 'const': 'The outcome of the original submission is unknown. Read or reconcile this operation; do not submit a replacement.'}]}, 'retrySafe': {'type': 'boolean', 'const': False}, 'configured': {'type': 'boolean'}, 'settlement': {'anyOf': [{'type': 'object', 'required': ['transactionHash', 'userOpHash', 'blockHash', 'blockNumber', 'owner', 'marketId', 'action', 'inputAllowance', 'protocolAllowance', 'positionBalanceAtBlock', 'assetBalanceAtBlock', 'routerNonceAtBlock', 'actualGasCostWei', 'actualGasUsed', 'paymaster', 'releaseClaim', 'retrySafe', 'status', 'actualInput', 'actualOutput', 'actualOttoFee', 'feeToken', 'protocolActionVerified'], 'properties': {'owner': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'action': {'enum': ['deposit', 'withdraw'], 'type': 'string'}, 'status': {'type': 'string', 'const': 'completed'}, 'feeToken': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'marketId': {'type': 'string'}, 'blockHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'paymaster': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'retrySafe': {'type': 'boolean', 'const': False}, 'userOpHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'actualInput': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'blockNumber': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'actualOutput': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'releaseClaim': {'type': 'boolean', 'const': True}, 'actualGasUsed': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'actualOttoFee': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'inputAllowance': {'type': 'string', 'const': '0'}, 'transactionHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'actualGasCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'protocolAllowance': {'type': 'string', 'const': '0'}, 'routerNonceAtBlock': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'assetBalanceAtBlock': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'positionBalanceAtBlock': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'protocolActionVerified': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, {'type': 'object', 'required': ['transactionHash', 'userOpHash', 'blockHash', 'blockNumber', 'owner', 'marketId', 'action', 'inputAllowance', 'protocolAllowance', 'positionBalanceAtBlock', 'assetBalanceAtBlock', 'routerNonceAtBlock', 'actualGasCostWei', 'actualGasUsed', 'paymaster', 'releaseClaim', 'retrySafe', 'status', 'protocolActionVerified'], 'properties': {'owner': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'action': {'enum': ['deposit', 'withdraw'], 'type': 'string'}, 'status': {'type': 'string', 'const': 'reverted'}, 'marketId': {'type': 'string'}, 'blockHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'paymaster': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'retrySafe': {'type': 'boolean', 'const': False}, 'userOpHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'blockNumber': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'releaseClaim': {'type': 'boolean', 'const': True}, 'actualGasUsed': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'inputAllowance': {'type': 'string', 'const': '0'}, 'transactionHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'actualGasCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'protocolAllowance': {'type': 'string', 'const': '0'}, 'routerNonceAtBlock': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'assetBalanceAtBlock': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'positionBalanceAtBlock': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'protocolActionVerified': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}]}, 'userOpHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'failureCode': {'enum': ['SPONSOR_NOT_SUBMITTED', 'SPONSOR_USER_OPERATION_REVERTED', 'SPONSOR_GAS_CAP_EXCEEDED'], 'type': 'string'}, 'operationId': {'type': 'string', 'pattern': '^sp_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$'}, 'confirmation': {'enum': ['I reviewed this native yield action and sponsored atomic batch', 'I reviewed this native yield action and account-paid atomic batch'], 'type': 'string'}, 'scopeConsent': {'type': 'object', 'required': ['consentId', 'consentCommitment', 'generation'], 'properties': {'consentId': {'type': 'string', 'pattern': '^nc_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$'}, 'generation': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'consentCommitment': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'additionalProperties': False}, 'validUntilMs': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'schemaVersion': {'type': 'string', 'const': '1'}, 'reviewConsumed': {'type': 'boolean'}, 'transactionHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'estimatedOttoFee': {'type': 'object', 'required': ['token', 'amount'], 'properties': {'token': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'amount': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'executionEnabled': {'type': 'boolean'}, 'perDepositCapUsd': {'type': 'integer', 'maximum': 5000, 'minimum': 1}, 'reviewCommitment': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'recoveryAvailable': {'type': 'boolean'}, 'envelopeCommitment': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'nativeConsentRevoked': {'type': 'boolean', 'const': True}, 'replacementPermitted': {'type': 'boolean', 'const': False}, 'requiresNativeConsent': {'type': 'boolean', 'const': True}, 'protocolActionVerified': {'type': 'boolean'}, 'requiresReconciliation': {'type': 'boolean', 'const': True}, 'requiresOperationReview': {'type': 'boolean'}, 'automaticExecutionEnabled': {'type': 'boolean', 'const': False}, 'supportedSameAddressChains': {'type': 'array', 'items': {'anyOf': [{'type': 'number', 'const': 8453}, {'type': 'number', 'const': 42161}]}, 'maxItems': 2}, 'requiresSeparateWalletUpgrade': {'type': 'boolean', 'const': True}, 'walletAuthorityChangeIncluded': {'type': 'boolean', 'const': False}, 'requiresSeparateOperationReview': {'type': 'boolean', 'const': True}, 'existingOperationRequiresReconciliation': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}
otto_news_recaps
Otto crypto market recap
Read a concise crypto market recap with ranked stories, source links where available, analysis window and freshness. A cached result can use the hosted free allowance; a cold or unavailable read returns a payment challenge without generating a recap for free. Stale-but-servable cached results retain their upstream freshness and degraded indicators. Market context only; not a recommendation. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.003 USDC through x402.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'x_payment': {'type': 'string', 'maxLength': 65536, 'minLength': 1, 'description': 'Signed x402 payment payload. Omit it to receive the machine-actionable payment challenge, then retry with the signed payload.'}}, 'additionalProperties': False}
otto_pm_crypto
Otto crypto prediction-market context
Read high-volume open BTC, ETH, and crypto Polymarket markets with current outcome probabilities and market context. Event-probability data only; not a recommendation. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.001 USDC through x402.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'x_payment': {'type': 'string', 'maxLength': 65536, 'minLength': 1, 'description': 'Signed x402 payment payload. Omit it to receive the machine-actionable payment challenge, then retry with the signed payload.'}}, 'additionalProperties': False}
otto_pm_markets
Otto prediction-market context
Read the highest-volume open Polymarket markets with live outcome probabilities, bid/ask context, liquidity, volume, and end dates. Event-probability context only; not a recommendation. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.001 USDC through x402.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'x_payment': {'type': 'string', 'maxLength': 65536, 'minLength': 1, 'description': 'Signed x402 payment payload. Omit it to receive the machine-actionable payment challenge, then retry with the signed payload.'}}, 'additionalProperties': False}
otto_prepare_bridge
Prepare an Otto-attributed LI.FI cross-chain USDC bridge
Prepare, decode, and verify an unsigned cross-chain native-USDC bridge construction aid for the caller-owned EOA or Safe, over the enumerated v1 Circle-CCTP route set (Ethereum, Polygon, Base, Arbitrum, Avalanche); any other chain, token, or bridge route is refused by name. The envelope's valid_until bounds freshness and is committed to the artifact digest; the signer account nonce is the on-chain replay boundary, and this tool cannot guarantee single execution. Returns ordered allowance-reset, approval, and call steps on the source chain only; never signs or submits. Every envelope from this server is valid for 300 seconds from construction (valid_until); a stale envelope is refused by the verifier — request a fresh one.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['accountProfile', 'fromChainId', 'toChainId', 'fromToken', 'toToken', 'fromAmount', 'slippage'], 'properties': {'toToken': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$', 'description': 'Native USDC on the destination chain; the v1 bridge route set is USDC-only.'}, 'slippage': {'type': 'object', 'required': ['maxBps'], 'properties': {'maxBps': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'minAmountOut': {'type': 'string', 'pattern': '^[1-9]\\d*$'}}, 'additionalProperties': False}, 'fromToken': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$', 'description': 'Native USDC on the source chain; the v1 bridge route set is USDC-only.'}, 'toChainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'client_ref': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'fromAmount': {'type': 'string', 'pattern': '^[1-9]\\d*$', 'description': 'Exact gross input amount in atomic token units.'}, 'fromChainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'accountProfile': {'type': 'object', 'required': ['kind', 'address', 'chainId'], 'properties': {'kind': {'enum': ['eoa', 'safe'], 'type': 'string'}, 'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'destinationRecipient': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$', 'description': 'Where the destination mint lands. Optional for an EOA, whose address is identical on every EVM chain; REQUIRED for a Safe, whose address is not guaranteed to be the same contract on the destination chain.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['schema_version', 'artifact_id', 'rail', 'operation', 'intent_digest', 'account_binding', 'required_capabilities', 'payload', 'fee_attribution', 'replay_disclosure', 'assertions', 'valid_until', 'submission'], 'properties': {'rail': {'type': 'string', 'const': 'lifi'}, 'payload': {'oneOf': [{'type': 'object', 'required': ['kind', 'chain_id', 'steps'], 'properties': {'kind': {'type': 'string', 'const': 'evm_execution_plan'}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['to', 'value', 'data', 'kind'], 'properties': {'to': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'data': {'type': 'string', 'pattern': '^0x(?:[0-9a-fA-F]{2})*$'}, 'kind': {'enum': ['approve_reset', 'approve', 'call'], 'type': 'string'}, 'value': {'type': 'string', 'pattern': '^\\d+$'}}, 'additionalProperties': False}, 'maxItems': 3, 'minItems': 3}, 'chain_id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}]}, 'operation': {'type': 'string', 'const': 'bridge'}, 'assertions': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'result'], 'properties': {'id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'result': {'type': 'string', 'const': 'passed'}}, 'additionalProperties': False}, 'minItems': 1}, 'submission': {'type': 'object', 'required': ['method', 'chain_id', 'artifact_id', 'payload_digest', 'artifact_digest', 'adapter_owned_fields'], 'properties': {'method': {'enum': ['send_evm_transaction', 'submit_evm_batch'], 'type': 'string'}, 'chain_id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'client_ref': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'artifact_id': {'type': 'string', 'pattern': '^[0-9A-HJKMNP-TV-Z]{26}$'}, 'payload_digest': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'artifact_digest': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'adapter_owned_fields': {'type': 'array', 'items': [{'type': 'string', 'const': 'nonce'}, {'type': 'string', 'const': 'gas'}, {'type': 'string', 'const': 'serialization'}]}}, 'additionalProperties': False}, 'artifact_id': {'type': 'string', 'pattern': '^[0-9A-HJKMNP-TV-Z]{26}$'}, 'valid_until': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'intent_digest': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'schema_version': {'type': 'string', 'const': '1'}, 'account_binding': {'type': 'object', 'required': ['kind', 'address', 'chainId', 'protocol_roles'], 'properties': {'kind': {'enum': ['eoa', 'safe'], 'type': 'string'}, 'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'protocol_roles': {'type': 'object', 'required': ['lifi'], 'properties': {'lifi': {'type': 'object', 'required': ['sender', 'receiver', 'source_chain_id', 'destination_chain_id', 'sending_asset', 'receiving_asset'], 'properties': {'sender': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'receiver': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'sending_asset': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'receiving_asset': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'source_chain_id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'destination_chain_id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'fee_attribution': {'type': 'object', 'required': ['mechanism', 'config_version'], 'properties': {'mechanism': {'type': 'string', 'const': 'lifi_integrator_fee'}, 'config_version': {'type': 'string', 'maxLength': 64, 'minLength': 1}}, 'additionalProperties': False}, 'replay_disclosure': {'type': 'object', 'required': ['artifact_role', 'freshness_boundary', 'onchain_replay_boundary', 'tool_guarantees_single_execution'], 'properties': {'artifact_role': {'type': 'string', 'const': 'construction_aid'}, 'freshness_boundary': {'type': 'string', 'const': 'valid_until'}, 'onchain_replay_boundary': {'type': 'string', 'const': 'signer_account_nonce'}, 'tool_guarantees_single_execution': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'required_capabilities': {'type': 'array', 'items': {'enum': ['send_evm_transaction', 'submit_evm_batch'], 'type': 'string'}, 'maxItems': 1, 'minItems': 1}}, 'additionalProperties': False}
otto_prepare_polymarket_order
Prepare an Otto-attributed Polymarket CLOB limit order
Prepare and verify an unsigned Polymarket CTF Exchange V2 limit order (GTC) for the caller-owned Polygon EOA, with Otto's builder code stamped inside the EIP-712 order struct and re-asserted on the exact digest the signer will sign. The price must be an exact multiple of the market's live minimum tick size and the size at or above its published minimum. The envelope's valid_until bounds freshness and is committed to the artifact digest; the exchange's own order hash is the replay boundary, and this tool cannot guarantee single execution. Returns order args and typed data only; never signs or submits, holds no CLOB credentials, and touches no collateral or allowance. Every envelope from this server is valid for 300 seconds from construction (valid_until); a stale envelope is refused by the verifier — request a fresh one.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['accountProfile', 'tokenId', 'side', 'price', 'size'], 'properties': {'side': {'enum': ['BUY', 'SELL'], 'type': 'string'}, 'size': {'type': 'string', 'pattern': '^(?:0|[1-9]\\d{0,9})(?:\\.\\d{1,2})?$', 'description': 'Order size in outcome-token shares.'}, 'price': {'type': 'string', 'pattern': '^0\\.\\d{1,4}$', 'description': "Limit price as a probability, e.g. '0.045'. Must be an exact multiple of the market's minimum tick size."}, 'tokenId': {'type': 'string', 'pattern': '^[1-9]\\d{0,77}$', 'description': 'Outcome-token id (NOT the condition id): YES and NO are different token ids.'}, 'client_ref': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'accountProfile': {'type': 'object', 'required': ['kind', 'address', 'chainId'], 'properties': {'kind': {'enum': ['eoa', 'safe'], 'type': 'string'}, 'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['schema_version', 'artifact_id', 'rail', 'operation', 'intent_digest', 'account_binding', 'required_capabilities', 'payload', 'fee_attribution', 'replay_disclosure', 'assertions', 'valid_until', 'submission'], 'properties': {'rail': {'type': 'string', 'const': 'polymarket'}, 'payload': {'type': 'object', 'required': ['kind', 'chain_id', 'exchange', 'neg_risk', 'tick_size', 'order_type', 'order', 'eip712', 'order_hash'], 'properties': {'kind': {'type': 'string', 'const': 'polymarket_order_v2'}, 'order': {'type': 'object', 'required': ['salt', 'maker', 'signer', 'tokenId', 'makerAmount', 'takerAmount', 'side', 'signatureType', 'metadata', 'builder', 'timestamp', 'expiration'], 'properties': {'salt': {'type': 'string', 'pattern': '^[1-9]\\d*$'}, 'side': {'enum': ['BUY', 'SELL'], 'type': 'string'}, 'maker': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'signer': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'builder': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'tokenId': {'type': 'string', 'pattern': '^\\d+$'}, 'metadata': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'timestamp': {'type': 'string', 'pattern': '^\\d+$'}, 'expiration': {'type': 'string', 'pattern': '^\\d+$'}, 'makerAmount': {'type': 'string', 'pattern': '^\\d+$'}, 'takerAmount': {'type': 'string', 'pattern': '^\\d+$'}, 'signatureType': {'type': 'number', 'const': 0}}, 'additionalProperties': False}, 'eip712': {'type': 'object', 'required': ['primary_type', 'domain', 'types', 'message'], 'properties': {'types': {'type': 'object', 'required': ['Order'], 'properties': {'Order': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'name': {'type': 'string', 'minLength': 1}, 'type': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 11, 'minItems': 11}}, 'additionalProperties': False}, 'domain': {'type': 'object', 'required': ['name', 'version', 'chainId', 'verifyingContract'], 'properties': {'name': {'type': 'string', 'const': 'Polymarket CTF Exchange'}, 'chainId': {'type': 'number', 'const': 137}, 'version': {'type': 'string', 'const': '2'}, 'verifyingContract': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}}, 'additionalProperties': False}, 'message': {'type': 'object', 'required': ['salt', 'maker', 'signer', 'tokenId', 'makerAmount', 'takerAmount', 'side', 'signatureType', 'timestamp', 'metadata', 'builder'], 'properties': {'salt': {'type': 'string', 'pattern': '^[1-9]\\d*$'}, 'side': {'anyOf': [{'type': 'number', 'const': 0}, {'type': 'number', 'const': 1}]}, 'maker': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'signer': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'builder': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'tokenId': {'type': 'string', 'pattern': '^\\d+$'}, 'metadata': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'timestamp': {'type': 'string', 'pattern': '^\\d+$'}, 'makerAmount': {'type': 'string', 'pattern': '^\\d+$'}, 'takerAmount': {'type': 'string', 'pattern': '^\\d+$'}, 'signatureType': {'type': 'number', 'const': 0}}, 'additionalProperties': False}, 'primary_type': {'type': 'string', 'const': 'Order'}}, 'additionalProperties': False}, 'chain_id': {'type': 'number', 'const': 137}, 'exchange': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'neg_risk': {'type': 'boolean'}, 'tick_size': {'enum': ['0.1', '0.01', '0.001', '0.0001'], 'type': 'string'}, 'order_hash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'order_type': {'type': 'string', 'const': 'GTC'}}, 'additionalProperties': False}, 'operation': {'type': 'string', 'const': 'pm_order'}, 'assertions': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'result'], 'properties': {'id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'result': {'type': 'string', 'const': 'passed'}}, 'additionalProperties': False}, 'minItems': 1}, 'submission': {'type': 'object', 'required': ['method', 'chain_id', 'artifact_id', 'payload_digest', 'artifact_digest', 'adapter_owned_fields'], 'properties': {'method': {'type': 'string', 'const': 'sign_eip712'}, 'chain_id': {'type': 'number', 'const': 137}, 'client_ref': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'artifact_id': {'type': 'string', 'pattern': '^[0-9A-HJKMNP-TV-Z]{26}$'}, 'payload_digest': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'artifact_digest': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'adapter_owned_fields': {'type': 'array', 'items': [{'type': 'string', 'const': 'signature'}, {'type': 'string', 'const': 'clob_post'}]}}, 'additionalProperties': False}, 'artifact_id': {'type': 'string', 'pattern': '^[0-9A-HJKMNP-TV-Z]{26}$'}, 'valid_until': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'intent_digest': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'schema_version': {'type': 'string', 'const': '1'}, 'account_binding': {'type': 'object', 'required': ['kind', 'address', 'chainId', 'protocol_roles'], 'properties': {'kind': {'enum': ['eoa', 'safe'], 'type': 'string'}, 'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'protocol_roles': {'type': 'object', 'required': ['polymarket'], 'properties': {'polymarket': {'type': 'object', 'required': ['maker', 'signer', 'funder', 'exchange', 'token_id', 'signature_type'], 'properties': {'maker': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'funder': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'signer': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'exchange': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'token_id': {'type': 'string', 'pattern': '^\\d+$'}, 'signature_type': {'type': 'number', 'const': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'fee_attribution': {'type': 'object', 'required': ['mechanism', 'config_version'], 'properties': {'mechanism': {'type': 'string', 'const': 'polymarket_builder_code'}, 'config_version': {'type': 'string', 'maxLength': 64, 'minLength': 1}}, 'additionalProperties': False}, 'replay_disclosure': {'type': 'object', 'required': ['artifact_role', 'freshness_boundary', 'onchain_replay_boundary', 'tool_guarantees_single_execution'], 'properties': {'artifact_role': {'type': 'string', 'const': 'construction_aid'}, 'freshness_boundary': {'type': 'string', 'const': 'valid_until'}, 'onchain_replay_boundary': {'type': 'string', 'const': 'exchange_order_hash'}, 'tool_guarantees_single_execution': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'required_capabilities': {'type': 'array', 'items': [{'type': 'string', 'const': 'sign_eip712'}]}}, 'additionalProperties': False}
otto_prepare_stock_buy
Prepare a tokenized-stock buy (Coinbase B20 on Base) as an unsigned swap pair
Prepare the EXACT otto_prepare_swap pair (envelope + prepareInput) that buys one of the executable Coinbase B20 tokenized equities on Base with USDC, as a LI.FI route through the fenced diamond whose receiver is the signing account. The token comes from the registry row named by executableEquityId and is never an input; the caller's registryCommitment must equal the commitment recomputed over the current record. The WORST PERMISSIBLE FILL (amount over the route's own floor) is checked against the equity's own Chainlink total-return mark and refused when it exceeds the pinned tolerance, or when the feed is frozen (> 24 h). Returns the pair unchanged plus a preview; never signs or submits. New Model B delegated trading is retired, including under existing grants: otto_submit_under_delegation refuses this pair. Preparation does not authorize execution. Every envelope from this server is valid for 300 seconds from construction (valid_until); a stale envelope is refused by the verifier — request a fresh one.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['accountProfile', 'executableEquityId', 'registryCommitment', 'amount', 'slippage'], 'properties': {'amount': {'type': 'string', 'pattern': '^[1-9]\\d*$', 'description': 'Exact USDC amount to spend, in atomic units (6 decimals).'}, 'slippage': {'type': 'object', 'required': ['maxBps'], 'properties': {'maxBps': {'type': 'integer', 'maximum': 100, 'minimum': 1}}, 'additionalProperties': False}, 'client_ref': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'accountProfile': {'type': 'object', 'required': ['kind', 'address', 'chainId'], 'properties': {'kind': {'enum': ['eoa', 'safe'], 'type': 'string'}, 'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'executableEquityId': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'The executable equity id the READ half served, e.g. b20-nvda (Coinbase B20 on Base only).'}, 'registryCommitment': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$', 'description': 'The registry commitment served with that row. It must equal the commitment this server recomputes over the CURRENT record; a stale or foreign row is refused by name.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['envelope', 'prepareInput', 'preview', 'registry_commitment'], 'properties': {'preview': {'type': 'object', 'required': ['equity_id', 'venue', 'chain_id', 'underlying', 'symbol', 'token', 'asset', 'amount', 'expected_tokens', 'min_tokens', 'oracle_price', 'oracle_age_sec', 'parity_premium_bps', 'parity_tolerance_bps', 'quoted_fees'], 'properties': {'asset': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'token': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'venue': {'type': 'string', 'const': 'COINBASE_B20'}, 'amount': {'type': 'string', 'pattern': '^\\d+$'}, 'symbol': {'type': 'string'}, 'chain_id': {'type': 'number', 'const': 8453}, 'equity_id': {'type': 'string'}, 'min_tokens': {'type': 'string', 'pattern': '^\\d+$'}, 'underlying': {'type': 'string'}, 'quoted_fees': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'amount_usd'], 'properties': {'name': {'type': 'string'}, 'amount_usd': {'type': 'string'}}, 'additionalProperties': False}}, 'oracle_price': {'type': 'string', 'pattern': '^\\d+$'}, 'oracle_age_sec': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'quoted_gas_usd': {'type': 'string'}, 'expected_tokens': {'type': 'string', 'pattern': '^\\d+$'}, 'parity_premium_bps': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'parity_tolerance_bps': {'type': 'number', 'const': 175}}, 'additionalProperties': False}, 'envelope': {'type': 'object', 'required': ['schema_version', 'artifact_id', 'rail', 'operation', 'intent_digest', 'account_binding', 'required_capabilities', 'payload', 'fee_attribution', 'replay_disclosure', 'assertions', 'valid_until', 'submission'], 'properties': {'rail': {'type': 'string', 'const': 'lifi'}, 'payload': {'oneOf': [{'type': 'object', 'required': ['kind', 'chain_id', 'steps'], 'properties': {'kind': {'type': 'string', 'const': 'evm_execution_plan'}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['to', 'value', 'data', 'kind'], 'properties': {'to': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'data': {'type': 'string', 'pattern': '^0x(?:[0-9a-fA-F]{2})*$'}, 'kind': {'enum': ['approve_reset', 'approve', 'call'], 'type': 'string'}, 'value': {'type': 'string', 'pattern': '^\\d+$'}}, 'additionalProperties': False}, 'maxItems': 3, 'minItems': 3}, 'chain_id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}]}, 'operation': {'type': 'string', 'const': 'swap'}, 'assertions': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'result'], 'properties': {'id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'result': {'type': 'string', 'const': 'passed'}}, 'additionalProperties': False}, 'minItems': 1}, 'submission': {'type': 'object', 'required': ['method', 'chain_id', 'artifact_id', 'payload_digest', 'artifact_digest', 'adapter_owned_fields'], 'properties': {'method': {'enum': ['send_evm_transaction', 'submit_evm_batch'], 'type': 'string'}, 'chain_id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'client_ref': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'artifact_id': {'type': 'string', 'pattern': '^[0-9A-HJKMNP-TV-Z]{26}$'}, 'payload_digest': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'artifact_digest': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'adapter_owned_fields': {'type': 'array', 'items': [{'type': 'string', 'const': 'nonce'}, {'type': 'string', 'const': 'gas'}, {'type': 'string', 'const': 'serialization'}]}}, 'additionalProperties': False}, 'artifact_id': {'type': 'string', 'pattern': '^[0-9A-HJKMNP-TV-Z]{26}$'}, 'valid_until': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'intent_digest': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'schema_version': {'type': 'string', 'const': '1'}, 'account_binding': {'type': 'object', 'required': ['kind', 'address', 'chainId', 'protocol_roles'], 'properties': {'kind': {'enum': ['eoa', 'safe'], 'type': 'string'}, 'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'protocol_roles': {'type': 'object', 'required': ['lifi'], 'properties': {'lifi': {'type': 'object', 'required': ['sender', 'receiver'], 'properties': {'sender': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'receiver': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'fee_attribution': {'type': 'object', 'required': ['mechanism', 'config_version'], 'properties': {'mechanism': {'type': 'string', 'const': 'lifi_integrator_fee'}, 'config_version': {'type': 'string', 'maxLength': 64, 'minLength': 1}}, 'additionalProperties': False}, 'replay_disclosure': {'type': 'object', 'required': ['artifact_role', 'freshness_boundary', 'onchain_replay_boundary', 'tool_guarantees_single_execution'], 'properties': {'artifact_role': {'type': 'string', 'const': 'construction_aid'}, 'freshness_boundary': {'type': 'string', 'const': 'valid_until'}, 'onchain_replay_boundary': {'type': 'string', 'const': 'signer_account_nonce'}, 'tool_guarantees_single_execution': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'required_capabilities': {'type': 'array', 'items': {'enum': ['send_evm_transaction', 'submit_evm_batch'], 'type': 'string'}, 'maxItems': 1, 'minItems': 1}}, 'additionalProperties': False}, 'prepareInput': {'type': 'object', 'required': ['accountProfile', 'chainId', 'fromToken', 'toToken', 'fromAmount', 'slippage'], 'properties': {'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'toToken': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$', 'description': 'ERC20 output token address; native-token routes are out of v1.'}, 'slippage': {'type': 'object', 'required': ['maxBps'], 'properties': {'maxBps': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'minAmountOut': {'type': 'string', 'pattern': '^[1-9]\\d*$'}}, 'additionalProperties': False}, 'fromToken': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$', 'description': 'ERC20 input token address; native-token routes are out of v1.'}, 'client_ref': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'fromAmount': {'type': 'string', 'pattern': '^[1-9]\\d*$', 'description': 'Exact input amount in atomic token units.'}, 'accountProfile': {'type': 'object', 'required': ['kind', 'address', 'chainId'], 'properties': {'kind': {'enum': ['eoa', 'safe'], 'type': 'string'}, 'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'registry_commitment': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'additionalProperties': False}
otto_prepare_swap
Prepare an Otto-attributed LI.FI swap
Prepare, decode, and verify an unsigned same-chain EVM ERC20 swap construction aid for the caller-owned EOA or Safe. The envelope's valid_until bounds freshness and is committed to the artifact digest; the signer account nonce is the on-chain replay boundary, and this tool cannot guarantee single execution. Returns ordered allowance-reset, approval, and call steps only; never signs or submits. Every envelope from this server is valid for 300 seconds from construction (valid_until); a stale envelope is refused by the verifier — request a fresh one.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['accountProfile', 'chainId', 'fromToken', 'toToken', 'fromAmount', 'slippage'], 'properties': {'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'toToken': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$', 'description': 'ERC20 output token address; native-token routes are out of v1.'}, 'slippage': {'type': 'object', 'required': ['maxBps'], 'properties': {'maxBps': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'minAmountOut': {'type': 'string', 'pattern': '^[1-9]\\d*$'}}, 'additionalProperties': False}, 'fromToken': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$', 'description': 'ERC20 input token address; native-token routes are out of v1.'}, 'client_ref': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'fromAmount': {'type': 'string', 'pattern': '^[1-9]\\d*$', 'description': 'Exact input amount in atomic token units.'}, 'accountProfile': {'type': 'object', 'required': ['kind', 'address', 'chainId'], 'properties': {'kind': {'enum': ['eoa', 'safe'], 'type': 'string'}, 'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['schema_version', 'artifact_id', 'rail', 'operation', 'intent_digest', 'account_binding', 'required_capabilities', 'payload', 'fee_attribution', 'replay_disclosure', 'assertions', 'valid_until', 'submission'], 'properties': {'rail': {'type': 'string', 'const': 'lifi'}, 'payload': {'oneOf': [{'type': 'object', 'required': ['kind', 'chain_id', 'steps'], 'properties': {'kind': {'type': 'string', 'const': 'evm_execution_plan'}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['to', 'value', 'data', 'kind'], 'properties': {'to': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'data': {'type': 'string', 'pattern': '^0x(?:[0-9a-fA-F]{2})*$'}, 'kind': {'enum': ['approve_reset', 'approve', 'call'], 'type': 'string'}, 'value': {'type': 'string', 'pattern': '^\\d+$'}}, 'additionalProperties': False}, 'maxItems': 3, 'minItems': 3}, 'chain_id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}]}, 'operation': {'type': 'string', 'const': 'swap'}, 'assertions': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'result'], 'properties': {'id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'result': {'type': 'string', 'const': 'passed'}}, 'additionalProperties': False}, 'minItems': 1}, 'submission': {'type': 'object', 'required': ['method', 'chain_id', 'artifact_id', 'payload_digest', 'artifact_digest', 'adapter_owned_fields'], 'properties': {'method': {'enum': ['send_evm_transaction', 'submit_evm_batch'], 'type': 'string'}, 'chain_id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'client_ref': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'artifact_id': {'type': 'string', 'pattern': '^[0-9A-HJKMNP-TV-Z]{26}$'}, 'payload_digest': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'artifact_digest': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'adapter_owned_fields': {'type': 'array', 'items': [{'type': 'string', 'const': 'nonce'}, {'type': 'string', 'const': 'gas'}, {'type': 'string', 'const': 'serialization'}]}}, 'additionalProperties': False}, 'artifact_id': {'type': 'string', 'pattern': '^[0-9A-HJKMNP-TV-Z]{26}$'}, 'valid_until': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'intent_digest': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'schema_version': {'type': 'string', 'const': '1'}, 'account_binding': {'type': 'object', 'required': ['kind', 'address', 'chainId', 'protocol_roles'], 'properties': {'kind': {'enum': ['eoa', 'safe'], 'type': 'string'}, 'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'protocol_roles': {'type': 'object', 'required': ['lifi'], 'properties': {'lifi': {'type': 'object', 'required': ['sender', 'receiver'], 'properties': {'sender': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'receiver': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'fee_attribution': {'type': 'object', 'required': ['mechanism', 'config_version'], 'properties': {'mechanism': {'type': 'string', 'const': 'lifi_integrator_fee'}, 'config_version': {'type': 'string', 'maxLength': 64, 'minLength': 1}}, 'additionalProperties': False}, 'replay_disclosure': {'type': 'object', 'required': ['artifact_role', 'freshness_boundary', 'onchain_replay_boundary', 'tool_guarantees_single_execution'], 'properties': {'artifact_role': {'type': 'string', 'const': 'construction_aid'}, 'freshness_boundary': {'type': 'string', 'const': 'valid_until'}, 'onchain_replay_boundary': {'type': 'string', 'const': 'signer_account_nonce'}, 'tool_guarantees_single_execution': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'required_capabilities': {'type': 'array', 'items': {'enum': ['send_evm_transaction', 'submit_evm_batch'], 'type': 'string'}, 'maxItems': 1, 'minItems': 1}}, 'additionalProperties': False}
otto_prepare_yield_deposit
Prepare a Yield Copilot vault deposit (Morpho USDC on Base) as an unsigned swap pair
Prepare the EXACT otto_prepare_swap pair (envelope + prepareInput) that deposits USDC into one of the executable Morpho vaults from the Yield Copilot registry, as a LI.FI position-acquisition route (which may buy shares or compose a protocol deposit) whose output token is the vault's ERC-4626 share token and whose receiver is the signing account. The vault comes from the registry row named by executableMarketId and is never an input; the caller's registryCommitment must equal the commitment recomputed over the current record. The quoted shares are checked against the vault's own previewDeposit and refused when they fall short by more than the pinned tolerance. Returns the pair unchanged plus a preview; never signs or submits. New Model B delegated trading is retired, including under existing grants: otto_submit_under_delegation refuses this pair. Preparation does not authorize execution. Every envelope from this server is valid for 300 seconds from construction (valid_until); a stale envelope is refused by the verifier — request a fresh one.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['accountProfile', 'executableMarketId', 'registryCommitment', 'amount', 'slippage'], 'properties': {'amount': {'type': 'string', 'pattern': '^[1-9]\\d*$', 'description': 'Exact USDC amount to deposit, in atomic units (6 decimals).'}, 'slippage': {'type': 'object', 'required': ['maxBps'], 'properties': {'maxBps': {'type': 'integer', 'maximum': 1000, 'minimum': 1}}, 'additionalProperties': False}, 'client_ref': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'accountProfile': {'type': 'object', 'required': ['kind', 'address', 'chainId'], 'properties': {'kind': {'enum': ['eoa', 'safe'], 'type': 'string'}, 'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'executableMarketId': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'The executable market id the READ half served (`GET /api/yield-copilot` rows with deployable:true), e.g. base-usdc-morpho-gauntlet-prime.'}, 'registryCommitment': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$', 'description': 'The registry commitment served with that row. It must equal the commitment this server recomputes over the CURRENT record; a stale or foreign row is refused by name.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['envelope', 'prepareInput', 'preview', 'registry_commitment'], 'properties': {'preview': {'type': 'object', 'required': ['market_id', 'venue', 'protocol', 'chain_id', 'vault', 'asset', 'amount', 'expected_shares', 'min_shares', 'preview_deposit_shares', 'parity_shortfall_bps', 'parity_tolerance_bps', 'quoted_fees', 'route_semantics'], 'properties': {'asset': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'vault': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'venue': {'type': 'string'}, 'amount': {'type': 'string', 'pattern': '^\\d+$'}, 'chain_id': {'type': 'number', 'const': 8453}, 'protocol': {'type': 'string', 'const': 'MORPHO'}, 'market_id': {'type': 'string'}, 'min_shares': {'type': 'string', 'pattern': '^\\d+$'}, 'quoted_fees': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'amount_usd'], 'properties': {'name': {'type': 'string'}, 'amount_usd': {'type': 'string'}}, 'additionalProperties': False}}, 'quoted_gas_usd': {'type': 'string'}, 'expected_shares': {'type': 'string', 'pattern': '^\\d+$'}, 'route_semantics': {'type': 'object', 'required': ['transport', 'action', 'classification', 'evidence', 'protocol_action_verified', 'tools'], 'properties': {'tools': {'type': 'array', 'items': {'type': 'string'}}, 'action': {'enum': ['deposit', 'withdraw'], 'type': 'string'}, 'evidence': {'type': 'string', 'const': 'provider-quote-steps'}, 'transport': {'type': 'string', 'const': 'lifi'}, 'classification': {'enum': ['share-purchase', 'share-sale', 'protocol-composition', 'mixed', 'unclassified'], 'type': 'string'}, 'protocol_action_verified': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'parity_shortfall_bps': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'parity_tolerance_bps': {'type': 'number', 'const': 30}, 'preview_deposit_shares': {'type': 'string', 'pattern': '^\\d+$'}}, 'additionalProperties': False}, 'envelope': {'type': 'object', 'required': ['schema_version', 'artifact_id', 'rail', 'operation', 'intent_digest', 'account_binding', 'required_capabilities', 'payload', 'fee_attribution', 'replay_disclosure', 'assertions', 'valid_until', 'submission'], 'properties': {'rail': {'type': 'string', 'const': 'lifi'}, 'payload': {'oneOf': [{'type': 'object', 'required': ['kind', 'chain_id', 'steps'], 'properties': {'kind': {'type': 'string', 'const': 'evm_execution_plan'}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['to', 'value', 'data', 'kind'], 'properties': {'to': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'data': {'type': 'string', 'pattern': '^0x(?:[0-9a-fA-F]{2})*$'}, 'kind': {'enum': ['approve_reset', 'approve', 'call'], 'type': 'string'}, 'value': {'type': 'string', 'pattern': '^\\d+$'}}, 'additionalProperties': False}, 'maxItems': 3, 'minItems': 3}, 'chain_id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}]}, 'operation': {'type': 'string', 'const': 'swap'}, 'assertions': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'result'], 'properties': {'id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'result': {'type': 'string', 'const': 'passed'}}, 'additionalProperties': False}, 'minItems': 1}, 'submission': {'type': 'object', 'required': ['method', 'chain_id', 'artifact_id', 'payload_digest', 'artifact_digest', 'adapter_owned_fields'], 'properties': {'method': {'enum': ['send_evm_transaction', 'submit_evm_batch'], 'type': 'string'}, 'chain_id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'client_ref': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'artifact_id': {'type': 'string', 'pattern': '^[0-9A-HJKMNP-TV-Z]{26}$'}, 'payload_digest': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'artifact_digest': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'adapter_owned_fields': {'type': 'array', 'items': [{'type': 'string', 'const': 'nonce'}, {'type': 'string', 'const': 'gas'}, {'type': 'string', 'const': 'serialization'}]}}, 'additionalProperties': False}, 'artifact_id': {'type': 'string', 'pattern': '^[0-9A-HJKMNP-TV-Z]{26}$'}, 'valid_until': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'intent_digest': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'schema_version': {'type': 'string', 'const': '1'}, 'account_binding': {'type': 'object', 'required': ['kind', 'address', 'chainId', 'protocol_roles'], 'properties': {'kind': {'enum': ['eoa', 'safe'], 'type': 'string'}, 'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'protocol_roles': {'type': 'object', 'required': ['lifi'], 'properties': {'lifi': {'type': 'object', 'required': ['sender', 'receiver'], 'properties': {'sender': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'receiver': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'fee_attribution': {'type': 'object', 'required': ['mechanism', 'config_version'], 'properties': {'mechanism': {'type': 'string', 'const': 'lifi_integrator_fee'}, 'config_version': {'type': 'string', 'maxLength': 64, 'minLength': 1}}, 'additionalProperties': False}, 'replay_disclosure': {'type': 'object', 'required': ['artifact_role', 'freshness_boundary', 'onchain_replay_boundary', 'tool_guarantees_single_execution'], 'properties': {'artifact_role': {'type': 'string', 'const': 'construction_aid'}, 'freshness_boundary': {'type': 'string', 'const': 'valid_until'}, 'onchain_replay_boundary': {'type': 'string', 'const': 'signer_account_nonce'}, 'tool_guarantees_single_execution': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'required_capabilities': {'type': 'array', 'items': {'enum': ['send_evm_transaction', 'submit_evm_batch'], 'type': 'string'}, 'maxItems': 1, 'minItems': 1}}, 'additionalProperties': False}, 'prepareInput': {'type': 'object', 'required': ['accountProfile', 'chainId', 'fromToken', 'toToken', 'fromAmount', 'slippage'], 'properties': {'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'toToken': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$', 'description': 'ERC20 output token address; native-token routes are out of v1.'}, 'slippage': {'type': 'object', 'required': ['maxBps'], 'properties': {'maxBps': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'minAmountOut': {'type': 'string', 'pattern': '^[1-9]\\d*$'}}, 'additionalProperties': False}, 'fromToken': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$', 'description': 'ERC20 input token address; native-token routes are out of v1.'}, 'client_ref': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'fromAmount': {'type': 'string', 'pattern': '^[1-9]\\d*$', 'description': 'Exact input amount in atomic token units.'}, 'accountProfile': {'type': 'object', 'required': ['kind', 'address', 'chainId'], 'properties': {'kind': {'enum': ['eoa', 'safe'], 'type': 'string'}, 'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'registry_commitment': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'additionalProperties': False}
otto_prepare_yield_withdraw
Prepare a Yield Copilot vault withdraw (Morpho USDC on Base) as a delegable swap pair
Prepare the EXACT otto_prepare_swap pair (envelope + prepareInput) that redeems vault shares from one of the executable Morpho vaults in the Yield Copilot registry back to USDC in the signing account, as a LI.FI exit route (which may sell shares or compose a protocol redemption) whose input token is the vault's ERC-4626 share token. The vault and the asset come from the registry row named by executableMarketId and are never inputs; the caller's registryCommitment must equal the commitment recomputed over the current record. The quoted USDC is checked against the vault's own previewRedeem and refused when it falls short by more than the pinned tolerance. Returns the pair unchanged plus a preview; never signs or submits — submit the pair through otto_submit_under_delegation, which admits a withdraw only under fence v2 and a permission minted under cap ruleset v2, values it at zero against the per-swap cap (it returns the person's own assets), and bounds it by the engine's share cap. Every envelope from this server is valid for 300 seconds from construction (valid_until); a stale envelope is refused by the verifier — request a fresh one.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['accountProfile', 'executableMarketId', 'registryCommitment', 'shares', 'slippage'], 'properties': {'shares': {'type': 'string', 'pattern': '^[1-9]\\d*$'}, 'slippage': {'type': 'object', 'required': ['maxBps'], 'properties': {'maxBps': {'type': 'integer', 'maximum': 1000, 'minimum': 1}}, 'additionalProperties': False}, 'client_ref': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'accountProfile': {'type': 'object', 'required': ['kind', 'address', 'chainId'], 'properties': {'kind': {'enum': ['eoa', 'safe'], 'type': 'string'}, 'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'executableMarketId': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'registryCommitment': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['envelope', 'prepareInput', 'preview', 'registry_commitment'], 'properties': {'preview': {'type': 'object', 'required': ['market_id', 'venue', 'protocol', 'chain_id', 'vault', 'asset', 'shares', 'expected_assets', 'min_assets', 'preview_redeem_assets', 'parity_shortfall_bps', 'parity_tolerance_bps', 'quoted_fees', 'route_semantics'], 'properties': {'asset': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'vault': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'venue': {'type': 'string'}, 'shares': {'type': 'string', 'pattern': '^\\d+$'}, 'chain_id': {'type': 'number', 'const': 8453}, 'protocol': {'type': 'string', 'const': 'MORPHO'}, 'market_id': {'type': 'string'}, 'min_assets': {'type': 'string', 'pattern': '^\\d+$'}, 'quoted_fees': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'amount_usd'], 'properties': {'name': {'type': 'string'}, 'amount_usd': {'type': 'string'}}, 'additionalProperties': False}}, 'quoted_gas_usd': {'type': 'string'}, 'expected_assets': {'type': 'string', 'pattern': '^\\d+$'}, 'route_semantics': {'type': 'object', 'required': ['transport', 'action', 'classification', 'evidence', 'protocol_action_verified', 'tools'], 'properties': {'tools': {'type': 'array', 'items': {'type': 'string'}}, 'action': {'enum': ['deposit', 'withdraw'], 'type': 'string'}, 'evidence': {'type': 'string', 'const': 'provider-quote-steps'}, 'transport': {'type': 'string', 'const': 'lifi'}, 'classification': {'enum': ['share-purchase', 'share-sale', 'protocol-composition', 'mixed', 'unclassified'], 'type': 'string'}, 'protocol_action_verified': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'parity_shortfall_bps': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'parity_tolerance_bps': {'type': 'number', 'const': 30}, 'preview_redeem_assets': {'type': 'string', 'pattern': '^\\d+$'}}, 'additionalProperties': False}, 'envelope': {'type': 'object', 'required': ['schema_version', 'artifact_id', 'rail', 'operation', 'intent_digest', 'account_binding', 'required_capabilities', 'payload', 'fee_attribution', 'replay_disclosure', 'assertions', 'valid_until', 'submission'], 'properties': {'rail': {'type': 'string', 'const': 'lifi'}, 'payload': {'oneOf': [{'type': 'object', 'required': ['kind', 'chain_id', 'steps'], 'properties': {'kind': {'type': 'string', 'const': 'evm_execution_plan'}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['to', 'value', 'data', 'kind'], 'properties': {'to': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'data': {'type': 'string', 'pattern': '^0x(?:[0-9a-fA-F]{2})*$'}, 'kind': {'enum': ['approve_reset', 'approve', 'call'], 'type': 'string'}, 'value': {'type': 'string', 'pattern': '^\\d+$'}}, 'additionalProperties': False}, 'maxItems': 3, 'minItems': 3}, 'chain_id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}]}, 'operation': {'type': 'string', 'const': 'swap'}, 'assertions': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'result'], 'properties': {'id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'result': {'type': 'string', 'const': 'passed'}}, 'additionalProperties': False}, 'minItems': 1}, 'submission': {'type': 'object', 'required': ['method', 'chain_id', 'artifact_id', 'payload_digest', 'artifact_digest', 'adapter_owned_fields'], 'properties': {'method': {'enum': ['send_evm_transaction', 'submit_evm_batch'], 'type': 'string'}, 'chain_id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'client_ref': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'artifact_id': {'type': 'string', 'pattern': '^[0-9A-HJKMNP-TV-Z]{26}$'}, 'payload_digest': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'artifact_digest': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'adapter_owned_fields': {'type': 'array', 'items': [{'type': 'string', 'const': 'nonce'}, {'type': 'string', 'const': 'gas'}, {'type': 'string', 'const': 'serialization'}]}}, 'additionalProperties': False}, 'artifact_id': {'type': 'string', 'pattern': '^[0-9A-HJKMNP-TV-Z]{26}$'}, 'valid_until': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'intent_digest': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'schema_version': {'type': 'string', 'const': '1'}, 'account_binding': {'type': 'object', 'required': ['kind', 'address', 'chainId', 'protocol_roles'], 'properties': {'kind': {'enum': ['eoa', 'safe'], 'type': 'string'}, 'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'protocol_roles': {'type': 'object', 'required': ['lifi'], 'properties': {'lifi': {'type': 'object', 'required': ['sender', 'receiver'], 'properties': {'sender': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'receiver': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'fee_attribution': {'type': 'object', 'required': ['mechanism', 'config_version'], 'properties': {'mechanism': {'type': 'string', 'const': 'lifi_integrator_fee'}, 'config_version': {'type': 'string', 'maxLength': 64, 'minLength': 1}}, 'additionalProperties': False}, 'replay_disclosure': {'type': 'object', 'required': ['artifact_role', 'freshness_boundary', 'onchain_replay_boundary', 'tool_guarantees_single_execution'], 'properties': {'artifact_role': {'type': 'string', 'const': 'construction_aid'}, 'freshness_boundary': {'type': 'string', 'const': 'valid_until'}, 'onchain_replay_boundary': {'type': 'string', 'const': 'signer_account_nonce'}, 'tool_guarantees_single_execution': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'required_capabilities': {'type': 'array', 'items': {'enum': ['send_evm_transaction', 'submit_evm_batch'], 'type': 'string'}, 'maxItems': 1, 'minItems': 1}}, 'additionalProperties': False}, 'prepareInput': {'type': 'object', 'required': ['accountProfile', 'chainId', 'fromToken', 'toToken', 'fromAmount', 'slippage'], 'properties': {'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'toToken': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$', 'description': 'ERC20 output token address; native-token routes are out of v1.'}, 'slippage': {'type': 'object', 'required': ['maxBps'], 'properties': {'maxBps': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'minAmountOut': {'type': 'string', 'pattern': '^[1-9]\\d*$'}}, 'additionalProperties': False}, 'fromToken': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$', 'description': 'ERC20 input token address; native-token routes are out of v1.'}, 'client_ref': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'fromAmount': {'type': 'string', 'pattern': '^[1-9]\\d*$', 'description': 'Exact input amount in atomic token units.'}, 'accountProfile': {'type': 'object', 'required': ['kind', 'address', 'chainId'], 'properties': {'kind': {'enum': ['eoa', 'safe'], 'type': 'string'}, 'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'registry_commitment': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'additionalProperties': False}
otto_rh_season
Otto Robinhood Chain season
Scan rug-screened Robinhood Chain (4663) movers with honeypot filters and per-token risk flags. Market context only; not a pick, recommendation, or trade instruction. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.001 USDC through x402.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'x_payment': {'type': 'string', 'maxLength': 65536, 'minLength': 1, 'description': 'Signed x402 payment payload. Omit it to receive the machine-actionable payment challenge, then retry with the signed payload.'}}, 'additionalProperties': False}
otto_sponsored_account
Review or recover an account transaction
Protected account action: availability, prepare, reviewGas for current gas payer and estimate, explicit submit, owned read or reconcile. Gas refresh is read-only planning and requires new confirmation before any send. Wallet upgrade is separate. Sponsorship requires a reviewed source activation; current availability is authoritative. A missing submission response is unknown and must never cause a replacement submission.
破壊的操作あり 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['schemaVersion'], 'properties': {'gas': {'oneOf': [{'type': 'object', 'required': ['payer', 'maximumCostWei'], 'properties': {'payer': {'type': 'string', 'const': 'sponsor'}, 'actualCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'paymentReview': {'type': 'object', 'required': ['version', 'revision', 'payer', 'sponsorStatus', 'subsidyCapUsdMicros', 'quote'], 'properties': {'payer': {'enum': ['sponsor', 'account'], 'type': 'string'}, 'quote': {'type': 'object', 'required': ['version', 'kind', 'payer', 'account', 'chainId', 'entryPoint', 'nativeAsset', 'callsCommitment', 'nonce', 'blockNumber', 'blockHash', 'blockTimestampMs', 'observedAtMs', 'expiresAtMs', 'simulation', 'providerEstimate', 'gas', 'balance'], 'properties': {'gas': {'type': 'object', 'required': ['callGasLimit', 'verificationGasLimit', 'preVerificationGas', 'maxFeePerGasWei', 'maxPriorityFeePerGasWei', 'estimatedPrefundWei', 'reserveWei', 'estimatedRequiredWei', 'reserveBps'], 'properties': {'reserveBps': {'type': 'string', 'const': '2500'}, 'reserveWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'callGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'preVerificationGas': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedPrefundWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedRequiredWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'verificationGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxPriorityFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'kind': {'type': 'string', 'const': 'estimate'}, 'nonce': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'payer': {'type': 'string', 'const': 'user'}, 'account': {'type': 'string', 'pattern': '^0x[0-9a-f]{40}$'}, 'balance': {'type': 'object', 'required': ['nativeWei', 'entryPointDepositWei', 'callValueWei', 'depositAppliedToGasWei', 'walletGasRequirementWei', 'nativeAvailableForGasWei', 'gasShortfallWei', 'requiredNativeWei', 'shortfallWei'], 'properties': {'nativeWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'callValueWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'shortfallWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'gasShortfallWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'requiredNativeWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'entryPointDepositWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'depositAppliedToGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'walletGasRequirementWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'nativeAvailableForGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'chainId': {'anyOf': [{'type': 'number', 'const': 1}, {'type': 'number', 'const': 8453}, {'type': 'number', 'const': 42161}, {'type': 'number', 'const': 10}, {'type': 'number', 'const': 137}]}, 'version': {'type': 'number', 'const': 1}, 'usdPrice': {'type': 'object', 'required': ['amountAtomic', 'decimals', 'observedAtMs', 'expiresAtMs'], 'properties': {'decimals': {'type': 'integer', 'maximum': 77, 'minimum': 0}, 'expiresAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'amountAtomic': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'observedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'blockHash': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$'}, 'entryPoint': {'type': 'string', 'pattern': '^0x[0-9a-f]{40}$'}, 'simulation': {'type': 'string', 'const': 'sender-balance-override'}, 'blockNumber': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'expiresAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'nativeAsset': {'type': 'object', 'required': ['symbol', 'decimals'], 'properties': {'symbol': {'enum': ['ETH', 'POL'], 'type': 'string'}, 'decimals': {'type': 'number', 'const': 18}}, 'additionalProperties': False}, 'observedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'callsCommitment': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'blockTimestampMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'providerEstimate': {'type': 'object', 'required': ['blockAnchor', 'startedAtMs', 'completedAtMs', 'elapsedMs'], 'properties': {'elapsedMs': {'type': 'number', 'maximum': 30000, 'minimum': 0}, 'blockAnchor': {'type': 'string', 'const': 'unanchored'}, 'startedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'completedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'sponsoredEstimate': {'type': 'object', 'required': ['kind', 'simulation', 'entryPointVersion', 'paymaster', 'sponsorshipPolicyId', 'paymasterAndDataCommitment', 'providerEstimate', 'gas'], 'properties': {'gas': {'type': 'object', 'required': ['callGasLimit', 'verificationGasLimit', 'preVerificationGas', 'maxFeePerGasWei', 'maxPriorityFeePerGasWei', 'verificationGasMultiplier', 'estimatedPrefundWei', 'reserveWei', 'estimatedRequiredWei', 'reserveBps'], 'properties': {'reserveBps': {'type': 'string', 'const': '2500'}, 'reserveWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'callGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'preVerificationGas': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedPrefundWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedRequiredWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'verificationGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxPriorityFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'verificationGasMultiplier': {'type': 'string', 'const': '3'}}, 'additionalProperties': False}, 'kind': {'type': 'string', 'const': 'estimate'}, 'paymaster': {'type': 'string', 'pattern': '^0x[0-9a-f]{40}$'}, 'simulation': {'type': 'string', 'const': 'paymaster-stub'}, 'providerEstimate': {'type': 'object', 'required': ['blockAnchor', 'startedAtMs', 'completedAtMs', 'elapsedMs'], 'properties': {'elapsedMs': {'type': 'number', 'maximum': 30000, 'minimum': 0}, 'blockAnchor': {'type': 'string', 'const': 'unanchored'}, 'startedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'completedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'entryPointVersion': {'type': 'string', 'const': '0.6'}, 'sponsorshipPolicyId': {'type': 'string', 'pattern': '^[a-zA-Z0-9_-]{1,128}$'}, 'estimatedGasCostUsdMicros': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'paymasterAndDataCommitment': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}}, 'additionalProperties': False}, 'estimatedGasCostUsdMicros': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'version': {'type': 'number', 'const': 1}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'sponsorStatus': {'enum': ['eligible', 'above-limit', 'unavailable', 'price-unavailable'], 'type': 'string'}, 'subsidyCapUsdMicros': {'type': 'string', 'const': '100000'}}, 'additionalProperties': False}, 'reviewFailure': {'enum': ['ACCOUNT_GAS_REVIEW_REQUIRED', 'ACCOUNT_GAS_REVIEW_CHANGED', 'ACCOUNT_GAS_REVIEW_STALE', 'ACCOUNT_GAS_REVIEW_UNAVAILABLE', 'ACCOUNT_GAS_REVIEW_INVALID', 'ACCOUNT_GAS_FUNDING_REQUIRED', 'ACCOUNT_GAS_SPONSOR_INELIGIBLE', 'ACCOUNT_GAS_QUOTE_UNAVAILABLE'], 'type': 'string'}, 'maximumCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'reviewRequired': {'type': 'boolean', 'const': True}, 'activationChainHalted': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, {'type': 'object', 'required': ['payer', 'paymentReview'], 'properties': {'payer': {'type': 'string', 'const': 'account'}, 'actualCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'paymentReview': {'type': 'object', 'required': ['version', 'revision', 'payer', 'sponsorStatus', 'subsidyCapUsdMicros', 'quote'], 'properties': {'payer': {'enum': ['sponsor', 'account'], 'type': 'string'}, 'quote': {'type': 'object', 'required': ['version', 'kind', 'payer', 'account', 'chainId', 'entryPoint', 'nativeAsset', 'callsCommitment', 'nonce', 'blockNumber', 'blockHash', 'blockTimestampMs', 'observedAtMs', 'expiresAtMs', 'simulation', 'providerEstimate', 'gas', 'balance'], 'properties': {'gas': {'type': 'object', 'required': ['callGasLimit', 'verificationGasLimit', 'preVerificationGas', 'maxFeePerGasWei', 'maxPriorityFeePerGasWei', 'estimatedPrefundWei', 'reserveWei', 'estimatedRequiredWei', 'reserveBps'], 'properties': {'reserveBps': {'type': 'string', 'const': '2500'}, 'reserveWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'callGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'preVerificationGas': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedPrefundWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedRequiredWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'verificationGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxPriorityFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'kind': {'type': 'string', 'const': 'estimate'}, 'nonce': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'payer': {'type': 'string', 'const': 'user'}, 'account': {'type': 'string', 'pattern': '^0x[0-9a-f]{40}$'}, 'balance': {'type': 'object', 'required': ['nativeWei', 'entryPointDepositWei', 'callValueWei', 'depositAppliedToGasWei', 'walletGasRequirementWei', 'nativeAvailableForGasWei', 'gasShortfallWei', 'requiredNativeWei', 'shortfallWei'], 'properties': {'nativeWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'callValueWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'shortfallWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'gasShortfallWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'requiredNativeWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'entryPointDepositWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'depositAppliedToGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'walletGasRequirementWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'nativeAvailableForGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'chainId': {'anyOf': [{'type': 'number', 'const': 1}, {'type': 'number', 'const': 8453}, {'type': 'number', 'const': 42161}, {'type': 'number', 'const': 10}, {'type': 'number', 'const': 137}]}, 'version': {'type': 'number', 'const': 1}, 'usdPrice': {'type': 'object', 'required': ['amountAtomic', 'decimals', 'observedAtMs', 'expiresAtMs'], 'properties': {'decimals': {'type': 'integer', 'maximum': 77, 'minimum': 0}, 'expiresAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'amountAtomic': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'observedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'blockHash': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$'}, 'entryPoint': {'type': 'string', 'pattern': '^0x[0-9a-f]{40}$'}, 'simulation': {'type': 'string', 'const': 'sender-balance-override'}, 'blockNumber': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'expiresAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'nativeAsset': {'type': 'object', 'required': ['symbol', 'decimals'], 'properties': {'symbol': {'enum': ['ETH', 'POL'], 'type': 'string'}, 'decimals': {'type': 'number', 'const': 18}}, 'additionalProperties': False}, 'observedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'callsCommitment': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'blockTimestampMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'providerEstimate': {'type': 'object', 'required': ['blockAnchor', 'startedAtMs', 'completedAtMs', 'elapsedMs'], 'properties': {'elapsedMs': {'type': 'number', 'maximum': 30000, 'minimum': 0}, 'blockAnchor': {'type': 'string', 'const': 'unanchored'}, 'startedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'completedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'sponsoredEstimate': {'type': 'object', 'required': ['kind', 'simulation', 'entryPointVersion', 'paymaster', 'sponsorshipPolicyId', 'paymasterAndDataCommitment', 'providerEstimate', 'gas'], 'properties': {'gas': {'type': 'object', 'required': ['callGasLimit', 'verificationGasLimit', 'preVerificationGas', 'maxFeePerGasWei', 'maxPriorityFeePerGasWei', 'verificationGasMultiplier', 'estimatedPrefundWei', 'reserveWei', 'estimatedRequiredWei', 'reserveBps'], 'properties': {'reserveBps': {'type': 'string', 'const': '2500'}, 'reserveWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'callGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'preVerificationGas': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedPrefundWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'estimatedRequiredWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'verificationGasLimit': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'maxPriorityFeePerGasWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'verificationGasMultiplier': {'type': 'string', 'const': '3'}}, 'additionalProperties': False}, 'kind': {'type': 'string', 'const': 'estimate'}, 'paymaster': {'type': 'string', 'pattern': '^0x[0-9a-f]{40}$'}, 'simulation': {'type': 'string', 'const': 'paymaster-stub'}, 'providerEstimate': {'type': 'object', 'required': ['blockAnchor', 'startedAtMs', 'completedAtMs', 'elapsedMs'], 'properties': {'elapsedMs': {'type': 'number', 'maximum': 30000, 'minimum': 0}, 'blockAnchor': {'type': 'string', 'const': 'unanchored'}, 'startedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'completedAtMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'entryPointVersion': {'type': 'string', 'const': '0.6'}, 'sponsorshipPolicyId': {'type': 'string', 'pattern': '^[a-zA-Z0-9_-]{1,128}$'}, 'estimatedGasCostUsdMicros': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}, 'paymasterAndDataCommitment': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}}, 'additionalProperties': False}, 'estimatedGasCostUsdMicros': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'maxLength': 78}}, 'additionalProperties': False}, 'version': {'type': 'number', 'const': 1}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'sponsorStatus': {'enum': ['eligible', 'above-limit', 'unavailable', 'price-unavailable'], 'type': 'string'}, 'subsidyCapUsdMicros': {'type': 'string', 'const': '100000'}}, 'additionalProperties': False}, 'reviewFailure': {'enum': ['ACCOUNT_GAS_REVIEW_REQUIRED', 'ACCOUNT_GAS_REVIEW_CHANGED', 'ACCOUNT_GAS_REVIEW_STALE', 'ACCOUNT_GAS_REVIEW_UNAVAILABLE', 'ACCOUNT_GAS_REVIEW_INVALID', 'ACCOUNT_GAS_FUNDING_REQUIRED', 'ACCOUNT_GAS_SPONSOR_INELIGIBLE', 'ACCOUNT_GAS_QUOTE_UNAVAILABLE'], 'type': 'string'}, 'reviewRequired': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}]}, 'input': {'type': 'object', 'required': ['token', 'amount'], 'properties': {'token': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'amount': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}}, 'additionalProperties': False}, 'state': {'enum': ['review', 'active', 'unknown', 'submitted', 'completed', 'failed'], 'type': 'string'}, 'terms': {'type': 'object', 'required': ['activationId', 'perSwapCapUsdc', 'grantExpiresAt', 'scope', 'walletAuthorityChangeIncluded', 'providerPolicyId'], 'properties': {'scope': {'type': 'string', 'const': 'one reviewed same-chain USDC swap into an explicitly reviewed ERC20, with allowance cleared in the same batch; native output is unsupported'}, 'activationId': {'type': 'string', 'pattern': '^[a-zA-Z0-9_-]{8,100}$'}, 'grantExpiresAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'perSwapCapUsdc': {'type': 'integer', 'maximum': 5000, 'minimum': 1}, 'providerPolicyId': {'type': 'string', 'pattern': '^[a-zA-Z0-9_-]{1,128}$'}, 'walletAuthorityChangeIncluded': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'output': {'type': 'object', 'required': ['token', 'minimum'], 'properties': {'token': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'minimum': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}}, 'additionalProperties': False}, 'reason': {'enum': ['SPONSOR_ACTIVATION_UNCONFIGURED', 'SPONSOR_ACTIVATION_UNAVAILABLE', 'SPONSOR_RECOVERY_ONLY', 'SPONSOR_CAPABILITY_UNAVAILABLE', 'SPONSOR_RUNTIME_UNAVAILABLE', 'SPONSOR_JOURNAL_UNAVAILABLE', 'SPONSOR_REQUEST_INVALID', 'SPONSOR_REQUEST_REFUSED', 'SPONSOR_SESSION_REQUIRED', 'SPONSOR_SESSION_INVALID', 'SPONSOR_OWNER_MISMATCH', 'SPONSOR_EXPLICIT_WALLET_UPGRADE_REQUIRED', 'SPONSOR_CURRENT_GRANT_REQUIRED', 'SPONSOR_CAP_UNAVAILABLE', 'SPONSOR_POLICY_CHANGED', 'SPONSOR_CHAIN_UNAVAILABLE', 'SPONSOR_ACCOUNT_PROOF_UNAVAILABLE', 'SPONSOR_ACCOUNT_PROOF_MISMATCH', 'SPONSOR_INPUT_OUTSIDE_REVIEWED_CAP', 'SPONSOR_REVIEW_AUTHORITY_CHANGED', 'SPONSOR_REVIEW_EXPIRED', 'SPONSOR_STOP_OR_CAP_CHANGED', 'SPONSOR_BALANCE_INSUFFICIENT', 'SPONSOR_OUTPUT_TOKEN_UNREVIEWED', 'SPONSOR_BUDGET_HALTED', 'SPONSOR_NOT_SUBMITTED', 'SPONSOR_USER_OPERATION_REVERTED', 'SPONSOR_GAS_CAP_EXCEEDED', 'ACCOUNT_GAS_REVIEW_REQUIRED', 'ACCOUNT_GAS_REVIEW_CHANGED', 'ACCOUNT_GAS_REVIEW_STALE', 'ACCOUNT_GAS_REVIEW_UNAVAILABLE', 'ACCOUNT_GAS_REVIEW_INVALID', 'ACCOUNT_GAS_FUNDING_REQUIRED', 'ACCOUNT_GAS_SPONSOR_INELIGIBLE', 'ACCOUNT_GAS_QUOTE_UNAVAILABLE'], 'type': 'string'}, 'status': {'type': 'string', 'const': 'outcome-unknown'}, 'account': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'anyOf': [{'type': 'number', 'const': 1}, {'type': 'number', 'const': 8453}, {'type': 'number', 'const': 42161}, {'type': 'number', 'const': 10}, {'type': 'number', 'const': 137}]}, 'ottoFee': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'receipt': {'type': 'object', 'required': ['chainId', 'account', 'userOpHash', 'transactionHash', 'blockHash', 'blockNumber', 'nonce', 'paymaster', 'actualGasCostWei', 'actualGasUsed', 'status'], 'properties': {'nonce': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'status': {'enum': ['success', 'reverted'], 'type': 'string'}, 'account': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'chainId': {'anyOf': [{'type': 'number', 'const': 1}, {'type': 'number', 'const': 8453}, {'type': 'number', 'const': 42161}, {'type': 'number', 'const': 10}, {'type': 'number', 'const': 137}]}, 'blockHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'paymaster': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'userOpHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'blockNumber': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'actualGasUsed': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'transactionHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'actualGasCostWei': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}}, 'additionalProperties': False}, 'attention': {'anyOf': [{'type': 'string', 'const': 'The original provider request is unresolved. No replacement is permitted.'}, {'type': 'string', 'const': 'The outcome of the original submission is unknown. Read or reconcile this operation; do not submit a replacement.'}]}, 'configured': {'type': 'boolean'}, 'settlement': {'type': 'object', 'required': ['inputToken', 'outputToken', 'inputDebited', 'outputReceived', 'ottoFeeReceived', 'allowanceAfter', 'userOpHash', 'transactionHash'], 'properties': {'inputToken': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'userOpHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'outputToken': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'inputDebited': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'allowanceAfter': {'type': 'string', 'const': '0'}, 'outputReceived': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'ottoFeeReceived': {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$'}, 'transactionHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}}, 'additionalProperties': False}, 'userOpHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'failureCode': {'enum': ['SPONSOR_ACTIVATION_UNCONFIGURED', 'SPONSOR_ACTIVATION_UNAVAILABLE', 'SPONSOR_RECOVERY_ONLY', 'SPONSOR_CAPABILITY_UNAVAILABLE', 'SPONSOR_RUNTIME_UNAVAILABLE', 'SPONSOR_JOURNAL_UNAVAILABLE', 'SPONSOR_REQUEST_INVALID', 'SPONSOR_REQUEST_REFUSED', 'SPONSOR_SESSION_REQUIRED', 'SPONSOR_SESSION_INVALID', 'SPONSOR_OWNER_MISMATCH', 'SPONSOR_EXPLICIT_WALLET_UPGRADE_REQUIRED', 'SPONSOR_CURRENT_GRANT_REQUIRED', 'SPONSOR_CAP_UNAVAILABLE', 'SPONSOR_POLICY_CHANGED', 'SPONSOR_CHAIN_UNAVAILABLE', 'SPONSOR_ACCOUNT_PROOF_UNAVAILABLE', 'SPONSOR_ACCOUNT_PROOF_MISMATCH', 'SPONSOR_INPUT_OUTSIDE_REVIEWED_CAP', 'SPONSOR_REVIEW_AUTHORITY_CHANGED', 'SPONSOR_REVIEW_EXPIRED', 'SPONSOR_STOP_OR_CAP_CHANGED', 'SPONSOR_BALANCE_INSUFFICIENT', 'SPONSOR_OUTPUT_TOKEN_UNREVIEWED', 'SPONSOR_BUDGET_HALTED', 'SPONSOR_NOT_SUBMITTED', 'SPONSOR_USER_OPERATION_REVERTED', 'SPONSOR_GAS_CAP_EXCEEDED', 'ACCOUNT_GAS_REVIEW_REQUIRED', 'ACCOUNT_GAS_REVIEW_CHANGED', 'ACCOUNT_GAS_REVIEW_STALE', 'ACCOUNT_GAS_REVIEW_UNAVAILABLE', 'ACCOUNT_GAS_REVIEW_INVALID', 'ACCOUNT_GAS_FUNDING_REQUIRED', 'ACCOUNT_GAS_SPONSOR_INELIGIBLE', 'ACCOUNT_GAS_QUOTE_UNAVAILABLE'], 'type': 'string'}, 'operationId': {'type': 'string', 'pattern': '^sp_[a-f0-9-]{36}$'}, 'validUntilMs': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'schemaVersion': {'type': 'string', 'const': '1'}, 'reviewConsumed': {'type': 'boolean'}, 'transactionHash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}, 'executionEnabled': {'type': 'boolean'}, 'reviewCommitment': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'recoveryAvailable': {'type': 'boolean'}, 'replacementPermitted': {'type': 'boolean', 'const': False}, 'requiresReconciliation': {'type': 'boolean', 'const': True}, 'requiresOperationReview': {'type': 'boolean', 'const': True}, 'automaticExecutionEnabled': {'type': 'boolean', 'const': False}, 'supportedSameAddressChains': {'type': 'array', 'items': {'anyOf': [{'type': 'number', 'const': 1}, {'type': 'number', 'const': 8453}, {'type': 'number', 'const': 42161}, {'type': 'number', 'const': 10}, {'type': 'number', 'const': 137}]}, 'maxItems': 5}, 'requiresSeparateWalletUpgrade': {'type': 'boolean', 'const': True}, 'walletAuthorityChangeIncluded': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}
otto_stock_pools
Otto tokenized-stock pool discovery
Find the DEX pools a tokenized US stock or ETF is actually a member of, on Robinhood Chain, Base, BNB Chain or Solana. Returns each pool id (Uniswap v4 pool ids kept distinct from v3 pool addresses), DEX and version, which side the asset is on, the counterpart token with an evidence-backed classification (verified stock, verified stablecoin, or unclassified), reported USD liquidity and 24h volume, 24h transaction count, pool creation time, and the source coverage limits. Membership discovery only: a provider-covered observation rather than a complete census, no APR and no execution support, and the asset’s own 24h return is reported only from pools where it is the base token. Identify the asset by address when a ticker names two deployments on one chain — that spelling is refused rather than resolved to one of them. Not a pairing recommendation. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.001 USDC through x402.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['stock'], 'properties': {'stock': {'type': 'string', 'pattern': '^\\$?(robinhood|base|bsc|solana):[A-Za-z0-9._-]{1,50}$', 'maxLength': 64, 'minLength': 3, 'description': 'Network-qualified tokenized-stock identity: "<network>:<TICKER>" or "<network>:<token address>", where network is robinhood, base, bsc or solana. Example: robinhood:MU. A bare ticker is rejected, and so is a ticker that names two deployments on one chain — give the token address for those.'}, 'x_payment': {'type': 'string', 'maxLength': 65536, 'minLength': 1, 'description': 'Signed x402 payment payload. Omit it to receive the machine-actionable payment challenge, then retry with the signed payload.'}}, 'additionalProperties': False}
otto_submit_under_delegation
Submit a qualified Model B vault withdrawal or read an existing result
New Model B delegated trading is retired: swaps, stock buys and yield deposits are refused with DELEGATION_TRADING_RETIRED, including under old grants. The prepare-only tools remain available. This retained tool can submit a qualified vault withdrawal and replay an existing terminal result. Arguments: { userId, envelope, prepareInput (with slippage.minAmountOut) }, validated after caller authentication using the `x-otto-delegation-auth` header. Withdrawal identity comes from the fully verified plan's registered share input, never a caller operation label: output must be USDC, spender and share amount must satisfy the withdrawal fence, receiver must be the user's CDP account, and both fence v2 and confirmed ruleset-v2 consent are required. All existing grant, expiry, cap-record, replay-binding, journal and worker-guard checks remain. No new trading plan is signed, funded or submitted. The withdrawal's reset, approval and call are submitted sequentially with canonical receipts and allowance clearing on halt. Uncertain prior operations are never retried here: use delegation operations/reconciliation. Status, revoke and independently qualifying exits remain available. Shared Muse permissions use their separate tools.
破壊的操作あり 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'user_id', 'address', 'chain_id', 'artifact_id', 'steps', 'fence', 'delegation', 'verification'], 'properties': {'fence': {'type': 'object', 'required': ['policy_id', 'policy_name', 'rules_digest', 'per_swap_cap_usd', 'user_cap_usd'], 'properties': {'policy_id': {'type': 'string'}, 'policy_name': {'type': 'string'}, 'rules_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'user_cap_usd': {'type': 'integer', 'maximum': 5000, 'minimum': 1}, 'per_swap_cap_usd': {'type': 'number', 'const': 5000}}, 'additionalProperties': False}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['index', 'kind', 'to', 'transaction_hash', 'status', 'block_number', 'gas_used'], 'properties': {'to': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'kind': {'enum': ['approve_reset', 'approve', 'call'], 'type': 'string'}, 'index': {'type': 'integer', 'maximum': 2, 'minimum': 0}, 'status': {'type': 'string', 'const': 'success'}, 'gas_used': {'type': 'string', 'pattern': '^\\d+$'}, 'block_number': {'type': 'string', 'pattern': '^\\d+$'}, 'transaction_hash': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{64}$'}}, 'additionalProperties': False}, 'maxItems': 3, 'minItems': 3}, 'status': {'type': 'string', 'const': 'sent'}, 'address': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'user_id': {'type': 'string', 'pattern': '^[a-zA-Z0-9-]{1,100}$'}, 'chain_id': {'type': 'number', 'const': 8453}, 'replayed': {'type': 'boolean'}, 'delegation': {'type': 'object', 'required': ['expires_at'], 'properties': {'expires_at': {'type': 'string'}}, 'additionalProperties': False}, 'artifact_id': {'type': 'string', 'pattern': '^[0-9A-HJKMNP-TV-Z]{26}$'}, 'verification': {'type': 'object', 'required': ['checks', 'gross', 'min_amount_out', 'otto_fee_atomic', 'otto_fee_recipient', 'fee_config_version', 'receiver'], 'properties': {'gross': {'type': 'string', 'pattern': '^\\d+$'}, 'checks': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 12}, 'receiver': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}, 'min_amount_out': {'type': 'string', 'pattern': '^\\d+$'}, 'otto_fee_atomic': {'type': 'string', 'pattern': '^\\d+$'}, 'call_data_digest': {'type': 'string', 'pattern': '^0x(?:[0-9a-fA-F]{2})*$'}, 'fee_config_version': {'type': 'string'}, 'otto_fee_recipient': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]{40}$'}}, 'additionalProperties': False}}, 'additionalProperties': False}
otto_tokenized_equities
Otto tokenized equities
Scan the live registry of US equities and ETFs tokenized on Robinhood Chain (4663): symbol, canonical token address, decimals, the executable buy price a live route returns, the catalog reference price and the deviation between them, plus a verifiable tradability signal. An optional thesis returns a relevance-ranked shortlist with a match reason per row. Data only; not a recommendation or executable quote. Hosted access: the first eligible cached intelligence result is free; otherwise calls cost $0.001 USDC through x402.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'thesis': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Natural-language screening thesis, for example "AI infrastructure chips".'}, 'x_payment': {'type': 'string', 'maxLength': 65536, 'minLength': 1, 'description': 'Signed x402 payment payload. Omit it to receive the machine-actionable payment challenge, then retry with the signed payload.'}}, 'additionalProperties': False}
otto_x_recipes
otto x layer recipes
Return Otto X's live X Layer recipe menu — each recipe's path, price, and the X Layer (eip155:196) payment requirement decoded from its unpaid 402 challenge: token asset, issuer name/version, payTo, and a copy-paste curl. Settles in USD₮0 / USD Coin / Global Dollar on X Layer via the PAYMENT-SIGNATURE header. Always free and read-only; never signs or pays and does not consume the free intelligence call.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
削除
otto_prepare_perp_order
2026年9月29日2:59
変更
otto_submit_under_delegation
2026年9月29日2:59
変更
otto_prepare_stock_buy
2026年9月29日2:59
変更
otto_prepare_yield_deposit
2026年9月29日2:59
変更
otto_delegation_cap
2026年9月27日2:50
変更
otto_delegation_fence_status
2026年9月27日2:50
変更
otto_submit_under_delegation
2026年9月27日2:50
追加
otto_muse_autopay_revoke
2026年9月23日2:50
追加
otto_muse_autopay_status
2026年9月23日2:50
追加
otto_muse_autopay_sign
2026年9月23日2:50
追加
otto_muse_autopay_enroll
2026年9月23日2:50
追加
otto_muse_autopay_prepare
2026年9月23日2:50
追加
otto_muse_autopay_availability
2026年9月23日2:50
変更
otto_stock_pools
2026年9月23日2:50
変更
otto_pm_crypto
2026年9月23日2:50
変更
otto_pm_markets
2026年9月23日2:50
変更
otto_base_season
2026年9月23日2:50
変更
otto_equity_smart_money_brief
2026年9月23日2:50
変更
otto_equity_smart_money
2026年9月23日2:50
変更
otto_institutional_holdings
2026年9月23日2:50
変更
otto_insider_trades
2026年9月23日2:50
変更
otto_equity_intel
2026年9月23日2:50
変更
otto_rh_season
2026年9月23日2:50
変更
otto_tokenized_equities
2026年9月23日2:50
追加
otto_news_recaps
2026年9月23日2:50
追加
otto_crypto_news
2026年9月23日2:50
追加
otto_x_recipes
2026年9月17日12:54
追加
otto_catalog
2026年9月17日12:54
追加
otto_lp_collect_userop
2026年9月17日12:54
追加
otto_delegation_exit
2026年9月17日12:54