{"components":{"schemas":{"Error":{"additionalProperties":true,"properties":{"active_session_release_at":{"format":"date-time","type":["string","null"]},"error":{"type":"string"},"next_action":{"type":"string"},"recovery":{"type":"object"},"required_workflow_state":{"type":"string"},"retry_after_seconds":{"minimum":1,"type":"integer"},"retryable":{"type":"boolean"},"status":{"type":"string"},"workflow_state":{"type":"string"}},"required":["error"],"type":"object"},"Quote":{"additionalProperties":true,"properties":{"cache":{"enum":["hit","miss"],"type":"string"},"execution":{"description":"Invite-only unsigned-action availability.","type":"object"},"intent":{"type":"object"},"offer":{"description":"Fee-inclusive receive estimates. The cost interval is a model range, not an extra charge.","type":"object"},"provider":{"const":"AssetFare"},"quote_id":{"format":"uuid","type":"string"},"risk":{"description":"Non-atomic workflow and recovery disclosures.","type":"object"},"route":{"items":{"type":"object"},"type":"array"},"status":{"const":"available"},"ttl_seconds":{"type":"integer"}},"required":["quote_id","provider","status","ttl_seconds","intent","offer","route","risk","execution"],"type":"object"},"Session":{"additionalProperties":true,"properties":{"action_available":{"type":"boolean"},"action_expires_at":{"format":"date-time","type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"blocker":{"type":["string","null"]},"execution_mode":{"const":"agent_signed_unsigned_actions"},"idempotent_replay":{"type":"boolean"},"locked_source_terms":{"properties":{"input_lamports":{"type":"integer"},"minimum_output_usdc_base_units":{"type":"integer"}},"type":"object"},"next_action":{"type":["string","null"]},"prepared_action_id":{"type":"string"},"quote_id":{"format":"uuid","type":"string"},"recovery":{"type":"object"},"server_submission_enabled":{"const":false},"session_id":{"format":"uuid","type":"string"},"signed":{"const":false},"source_action_expired":{"type":"boolean"},"source_action_prepared":{"type":"boolean"},"source_action_ready":{"type":"boolean"},"status":{"description":"Current availability status, including action expiry","type":"string"},"submitted":{"const":false},"unsigned_action":{"additionalProperties":true,"properties":{"action_id":{"type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"expires_at":{"format":"date-time","type":"string"},"expires_in_seconds":{"const":60},"fee_payer":{"type":"string"},"input_lamports":{"type":"integer"},"instructions":{"items":{"type":"object"},"type":"array"},"minimum_output_usdc_base_units":{"type":"integer"},"payload_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"description":"Exact SHA-256 preimage construction: UTF-8 ECMAScript JSON.stringify, ordered top-level and projected instruction/key fields.","type":"object"},"prepared_at":{"format":"date-time","type":"string"},"programs":{"items":{"type":"string"},"type":"array"},"required_signers":{"items":{"type":"string"},"type":"array"},"signed":{"const":false},"submitted":{"const":false}},"required":["action_id","prepared_at","expires_at","expires_in_seconds","fee_payer","required_signers","input_lamports","minimum_output_usdc_base_units","programs","instructions","payload_sha256","payload_sha256_spec","agent_must_verify","signed","submitted"],"type":"object"},"unsigned_action_endpoint":{"type":"string"},"workflow_state":{"description":"Last verified event-driven state","type":"string"}},"required":["session_id","workflow_state","status","next_action","signed","submitted"],"type":"object"},"UnsignedSourceAction":{"additionalProperties":true,"properties":{"action_id":{"type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"expires_at":{"format":"date-time","type":"string"},"expires_in_seconds":{"const":60},"fee_payer":{"type":"string"},"input_lamports":{"type":"integer"},"instructions":{"items":{"type":"object"},"type":"array"},"minimum_output_usdc_base_units":{"type":"integer"},"payload_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"description":"Exact SHA-256 preimage construction: UTF-8 ECMAScript JSON.stringify, ordered top-level and projected instruction/key fields.","type":"object"},"prepared_at":{"format":"date-time","type":"string"},"programs":{"items":{"type":"string"},"type":"array"},"required_signers":{"items":{"type":"string"},"type":"array"},"signed":{"const":false},"submitted":{"const":false}},"required":["action_id","prepared_at","expires_at","expires_in_seconds","fee_payer","required_signers","input_lamports","minimum_output_usdc_base_units","programs","instructions","payload_sha256","payload_sha256_spec","agent_must_verify","signed","submitted"],"type":"object"},"WalletAuthChallengeRequest":{"additionalProperties":false,"properties":{"source_wallet":{"description":"Solana public key. The returned message must be signed with this wallet's Ed25519 signMessage capability.","type":"string"}},"required":["source_wallet"],"type":"object"},"WalletAuthVerifyRequest":{"additionalProperties":false,"properties":{"challenge_id":{"format":"uuid","type":"string"},"signature":{"description":"Base58-encoded 64-byte Ed25519 signature of the exact challenge message","type":"string"},"source_wallet":{"type":"string"},"terms_version":{"type":"string"}},"required":["challenge_id","source_wallet","signature","terms_version"],"type":"object"}},"securitySchemes":{"bearerAuth":{"description":"Revocable wallet-bound credential required for session endpoints","scheme":"bearer","type":"http"}}},"externalDocs":{"description":"Agent route skill, MCP endpoint, signed manifest, and verification material","url":"https://assetfare.dev/.well-known/assetfare.json"},"info":{"contact":{"email":"support@assetfare.dev","name":"AssetFare support","url":"https://assetfare.dev/security/"},"description":"Public fee-inclusive quotes for two capped Solana-origin corridors. Wallet-signed self-service execution is available only when the runtime launch gates are enabled. AssetFare returns bounded unsigned actions; the user's agent verifies, signs, and submits every transaction. AssetFare never receives private keys and never submits transactions. The three-stage cross-chain workflow is non-atomic.","termsOfService":"https://assetfare.dev/terms/","title":"AssetFare Agent-native Route API","version":"0.8.2"},"openapi":"3.1.0","paths":{"/.well-known/assetfare-manifest.json":{"get":{"operationId":"getSignedManifest","responses":{"200":{"description":"Ed25519-signed capability, contract, and mainnet-evidence manifest"}},"summary":"Read signed AssetFare verification manifest"}},"/v1/auth/challenge":{"post":{"description":"The challenge message authorizes no transaction, approval, or transfer. Availability is controlled by the public-demand-validation launch gates.","operationId":"createWalletChallenge","requestBody":{"content":{"application/json":{"examples":{"wallet_login":{"value":{"source_wallet":"ExampleSolanaPublicKeyOnly1111111111111111111111111"}}},"schema":{"additionalProperties":false,"properties":{"source_wallet":{"description":"Solana public key. The returned message must be signed with this wallet's Ed25519 signMessage capability.","type":"string"}},"required":["source_wallet"],"type":"object"}}},"required":true},"responses":{"201":{"description":"Wallet challenge"},"400":{"description":"Invalid public wallet"},"429":{"content":{"application/json":{"example":{"error":"wallet_challenge_limit_reached","retry_after_seconds":300},"schema":{"additionalProperties":true,"properties":{"active_session_release_at":{"format":"date-time","type":["string","null"]},"error":{"type":"string"},"next_action":{"type":"string"},"recovery":{"type":"object"},"required_workflow_state":{"type":"string"},"retry_after_seconds":{"minimum":1,"type":"integer"},"retryable":{"type":"boolean"},"status":{"type":"string"},"workflow_state":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"Authentication rate or live-challenge limit exceeded"},"503":{"description":"Self-service authentication is not enabled"}},"summary":"Request a wallet-signable self-service authentication challenge"}},"/v1/auth/verify":{"post":{"description":"Feature-gated during implementation. A verified login rotates any prior AssetFare token for the same wallet.","operationId":"verifyWalletSignature","requestBody":{"content":{"application/json":{"examples":{"signed_message":{"summary":"Use the exact challenge message; never sign a transaction here","value":{"challenge_id":"00000000-0000-4000-8000-000000000000","signature":"base58_signature_from_signMessage","source_wallet":"ExampleSolanaPublicKeyOnly1111111111111111111111111","terms_version":"2026-09-14-public-demand-validation-draft"}}},"schema":{"additionalProperties":false,"properties":{"challenge_id":{"format":"uuid","type":"string"},"signature":{"description":"Base58-encoded 64-byte Ed25519 signature of the exact challenge message","type":"string"},"source_wallet":{"type":"string"},"terms_version":{"type":"string"}},"required":["challenge_id","source_wallet","signature","terms_version"],"type":"object"}}},"required":true},"responses":{"201":{"description":"One-time access token response"},"400":{"content":{"application/json":{"example":{"error":"terms_version_mismatch"},"schema":{"additionalProperties":true,"properties":{"active_session_release_at":{"format":"date-time","type":["string","null"]},"error":{"type":"string"},"next_action":{"type":"string"},"recovery":{"type":"object"},"required_workflow_state":{"type":"string"},"retry_after_seconds":{"minimum":1,"type":"integer"},"retryable":{"type":"boolean"},"status":{"type":"string"},"workflow_state":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"Invalid or expired challenge/signature"},"429":{"description":"Authentication rate limited"},"503":{"description":"Self-service authentication is not enabled"}},"summary":"Verify a Solana wallet signature and issue a wallet-bound session token"}},"/v1/quote":{"post":{"description":"Public quote only. Exactly five fields are accepted. Choose Base or Arbitrum as the destination; other tokens and corridors are unsupported.","operationId":"getQuote","requestBody":{"content":{"application/json":{"examples":{"solana_to_arbitrum_300":{"summary":"Solana to Arbitrum","value":{"amount_usd":300,"from_chain":"solana","from_token":"SOL","to_chain":"arbitrum","to_token":"ETH"}},"solana_to_base_300":{"summary":"Solana to Base","value":{"amount_usd":300,"from_chain":"solana","from_token":"SOL","to_chain":"base","to_token":"ETH"}}},"schema":{"additionalProperties":false,"properties":{"amount_usd":{"maximum":1000,"minimum":250,"multipleOf":1,"type":"number"},"from_chain":{"const":"solana","type":"string"},"from_token":{"const":"SOL","type":"string"},"to_chain":{"enum":["base","arbitrum"],"type":"string"},"to_token":{"const":"ETH","type":"string"}},"required":["from_chain","from_token","to_chain","to_token","amount_usd"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"cache":{"enum":["hit","miss"],"type":"string"},"execution":{"description":"Invite-only unsigned-action availability.","type":"object"},"intent":{"type":"object"},"offer":{"description":"Fee-inclusive receive estimates. The cost interval is a model range, not an extra charge.","type":"object"},"provider":{"const":"AssetFare"},"quote_id":{"format":"uuid","type":"string"},"risk":{"description":"Non-atomic workflow and recovery disclosures.","type":"object"},"route":{"items":{"type":"object"},"type":"array"},"status":{"const":"available"},"ttl_seconds":{"type":"integer"}},"required":["quote_id","provider","status","ttl_seconds","intent","offer","route","risk","execution"],"type":"object"}}},"description":"Fresh or cached offer"},"400":{"content":{"application/json":{"example":{"error":"amount_usd_out_of_range_250_1000"},"schema":{"additionalProperties":true,"properties":{"active_session_release_at":{"format":"date-time","type":["string","null"]},"error":{"type":"string"},"next_action":{"type":"string"},"recovery":{"type":"object"},"required_workflow_state":{"type":"string"},"retry_after_seconds":{"minimum":1,"type":"integer"},"retryable":{"type":"boolean"},"status":{"type":"string"},"workflow_state":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"Invalid request or unsupported corridor"},"429":{"content":{"application/json":{"example":{"error":"quote_capacity_budget_exhausted","retry_after_seconds":60},"schema":{"additionalProperties":true,"properties":{"active_session_release_at":{"format":"date-time","type":["string","null"]},"error":{"type":"string"},"next_action":{"type":"string"},"recovery":{"type":"object"},"required_workflow_state":{"type":"string"},"retry_after_seconds":{"minimum":1,"type":"integer"},"retryable":{"type":"boolean"},"status":{"type":"string"},"workflow_state":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"Expensive quote-miss budget exhausted"},"502":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"active_session_release_at":{"format":"date-time","type":["string","null"]},"error":{"type":"string"},"next_action":{"type":"string"},"recovery":{"type":"object"},"required_workflow_state":{"type":"string"},"retry_after_seconds":{"minimum":1,"type":"integer"},"retryable":{"type":"boolean"},"status":{"type":"string"},"workflow_state":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"Required quote source temporarily unavailable"}},"summary":"Get AssetFare's own fee-inclusive route offer"}},"/v1/session":{"post":{"operationId":"createSession","requestBody":{"content":{"application/json":{"examples":{"wallet_bound_session":{"value":{"destination_wallet":"0x0000000000000000000000000000000000000001","idempotency_key":"agent-unique-request-key","quote_id":"00000000-0000-4000-8000-000000000000","source_wallet":"ExampleSolanaPublicKeyOnly1111111111111111111111111"}}},"schema":{"additionalProperties":false,"properties":{"destination_wallet":{"description":"Base or Arbitrum owner address that receives native ETH","pattern":"^0x[0-9a-fA-F]{40}$","type":"string"},"idempotency_key":{"maxLength":128,"minLength":8,"type":"string"},"quote_id":{"format":"uuid","type":"string"},"source_wallet":{"description":"Solana public key that verifies, signs, and submits source actions","type":"string"}},"required":["quote_id","idempotency_key","source_wallet","destination_wallet"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"action_available":{"type":"boolean"},"action_expires_at":{"format":"date-time","type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"blocker":{"type":["string","null"]},"execution_mode":{"const":"agent_signed_unsigned_actions"},"idempotent_replay":{"type":"boolean"},"locked_source_terms":{"properties":{"input_lamports":{"type":"integer"},"minimum_output_usdc_base_units":{"type":"integer"}},"type":"object"},"next_action":{"type":["string","null"]},"prepared_action_id":{"type":"string"},"quote_id":{"format":"uuid","type":"string"},"recovery":{"type":"object"},"server_submission_enabled":{"const":false},"session_id":{"format":"uuid","type":"string"},"signed":{"const":false},"source_action_expired":{"type":"boolean"},"source_action_prepared":{"type":"boolean"},"source_action_ready":{"type":"boolean"},"status":{"description":"Current availability status, including action expiry","type":"string"},"submitted":{"const":false},"unsigned_action":{"additionalProperties":true,"properties":{"action_id":{"type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"expires_at":{"format":"date-time","type":"string"},"expires_in_seconds":{"const":60},"fee_payer":{"type":"string"},"input_lamports":{"type":"integer"},"instructions":{"items":{"type":"object"},"type":"array"},"minimum_output_usdc_base_units":{"type":"integer"},"payload_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"description":"Exact SHA-256 preimage construction: UTF-8 ECMAScript JSON.stringify, ordered top-level and projected instruction/key fields.","type":"object"},"prepared_at":{"format":"date-time","type":"string"},"programs":{"items":{"type":"string"},"type":"array"},"required_signers":{"items":{"type":"string"},"type":"array"},"signed":{"const":false},"submitted":{"const":false}},"required":["action_id","prepared_at","expires_at","expires_in_seconds","fee_payer","required_signers","input_lamports","minimum_output_usdc_base_units","programs","instructions","payload_sha256","payload_sha256_spec","agent_must_verify","signed","submitted"],"type":"object"},"unsigned_action_endpoint":{"type":"string"},"workflow_state":{"description":"Last verified event-driven state","type":"string"}},"required":["session_id","workflow_state","status","next_action","signed","submitted"],"type":"object"}}},"description":"Idempotent replay"},"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"action_available":{"type":"boolean"},"action_expires_at":{"format":"date-time","type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"blocker":{"type":["string","null"]},"execution_mode":{"const":"agent_signed_unsigned_actions"},"idempotent_replay":{"type":"boolean"},"locked_source_terms":{"properties":{"input_lamports":{"type":"integer"},"minimum_output_usdc_base_units":{"type":"integer"}},"type":"object"},"next_action":{"type":["string","null"]},"prepared_action_id":{"type":"string"},"quote_id":{"format":"uuid","type":"string"},"recovery":{"type":"object"},"server_submission_enabled":{"const":false},"session_id":{"format":"uuid","type":"string"},"signed":{"const":false},"source_action_expired":{"type":"boolean"},"source_action_prepared":{"type":"boolean"},"source_action_ready":{"type":"boolean"},"status":{"description":"Current availability status, including action expiry","type":"string"},"submitted":{"const":false},"unsigned_action":{"additionalProperties":true,"properties":{"action_id":{"type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"expires_at":{"format":"date-time","type":"string"},"expires_in_seconds":{"const":60},"fee_payer":{"type":"string"},"input_lamports":{"type":"integer"},"instructions":{"items":{"type":"object"},"type":"array"},"minimum_output_usdc_base_units":{"type":"integer"},"payload_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"description":"Exact SHA-256 preimage construction: UTF-8 ECMAScript JSON.stringify, ordered top-level and projected instruction/key fields.","type":"object"},"prepared_at":{"format":"date-time","type":"string"},"programs":{"items":{"type":"string"},"type":"array"},"required_signers":{"items":{"type":"string"},"type":"array"},"signed":{"const":false},"submitted":{"const":false}},"required":["action_id","prepared_at","expires_at","expires_in_seconds","fee_payer","required_signers","input_lamports","minimum_output_usdc_base_units","programs","instructions","payload_sha256","payload_sha256_spec","agent_must_verify","signed","submitted"],"type":"object"},"unsigned_action_endpoint":{"type":"string"},"workflow_state":{"description":"Last verified event-driven state","type":"string"}},"required":["session_id","workflow_state","status","next_action","signed","submitted"],"type":"object"}}},"description":"Quote-locked session"},"409":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"active_session_release_at":{"format":"date-time","type":["string","null"]},"error":{"type":"string"},"next_action":{"type":"string"},"recovery":{"type":"object"},"required_workflow_state":{"type":"string"},"retry_after_seconds":{"minimum":1,"type":"integer"},"retryable":{"type":"boolean"},"status":{"type":"string"},"workflow_state":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"Session policy or idempotency conflict. tenant_active_session_limit includes retryable and, when automatic expiry is known, retry_after_seconds plus active_session_release_at."}},"security":[{"bearerAuth":[]}],"summary":"Lock a fresh quote into an idempotent agent-signed execution session"}},"/v1/session/{session_id}":{"get":{"operationId":"getSession","parameters":[{"in":"path","name":"session_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"action_available":{"type":"boolean"},"action_expires_at":{"format":"date-time","type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"blocker":{"type":["string","null"]},"execution_mode":{"const":"agent_signed_unsigned_actions"},"idempotent_replay":{"type":"boolean"},"locked_source_terms":{"properties":{"input_lamports":{"type":"integer"},"minimum_output_usdc_base_units":{"type":"integer"}},"type":"object"},"next_action":{"type":["string","null"]},"prepared_action_id":{"type":"string"},"quote_id":{"format":"uuid","type":"string"},"recovery":{"type":"object"},"server_submission_enabled":{"const":false},"session_id":{"format":"uuid","type":"string"},"signed":{"const":false},"source_action_expired":{"type":"boolean"},"source_action_prepared":{"type":"boolean"},"source_action_ready":{"type":"boolean"},"status":{"description":"Current availability status, including action expiry","type":"string"},"submitted":{"const":false},"unsigned_action":{"additionalProperties":true,"properties":{"action_id":{"type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"expires_at":{"format":"date-time","type":"string"},"expires_in_seconds":{"const":60},"fee_payer":{"type":"string"},"input_lamports":{"type":"integer"},"instructions":{"items":{"type":"object"},"type":"array"},"minimum_output_usdc_base_units":{"type":"integer"},"payload_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"description":"Exact SHA-256 preimage construction: UTF-8 ECMAScript JSON.stringify, ordered top-level and projected instruction/key fields.","type":"object"},"prepared_at":{"format":"date-time","type":"string"},"programs":{"items":{"type":"string"},"type":"array"},"required_signers":{"items":{"type":"string"},"type":"array"},"signed":{"const":false},"submitted":{"const":false}},"required":["action_id","prepared_at","expires_at","expires_in_seconds","fee_payer","required_signers","input_lamports","minimum_output_usdc_base_units","programs","instructions","payload_sha256","payload_sha256_spec","agent_must_verify","signed","submitted"],"type":"object"},"unsigned_action_endpoint":{"type":"string"},"workflow_state":{"description":"Last verified event-driven state","type":"string"}},"required":["session_id","workflow_state","status","next_action","signed","submitted"],"type":"object"}}},"description":"Session state"}},"security":[{"bearerAuth":[]}],"summary":"Read session state"}},"/v1/session/{session_id}/next-action":{"get":{"description":"After prepare-source-action, retrieve the complete unsigned action here. Verify every agent_must_verify item before signing. AssetFare never signs or submits it.","operationId":"getNextAction","parameters":[{"in":"path","name":"session_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"action_available":{"type":"boolean"},"action_expires_at":{"format":"date-time","type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"blocker":{"type":["string","null"]},"execution_mode":{"const":"agent_signed_unsigned_actions"},"idempotent_replay":{"type":"boolean"},"locked_source_terms":{"properties":{"input_lamports":{"type":"integer"},"minimum_output_usdc_base_units":{"type":"integer"}},"type":"object"},"next_action":{"type":["string","null"]},"prepared_action_id":{"type":"string"},"quote_id":{"format":"uuid","type":"string"},"recovery":{"type":"object"},"server_submission_enabled":{"const":false},"session_id":{"format":"uuid","type":"string"},"signed":{"const":false},"source_action_expired":{"type":"boolean"},"source_action_prepared":{"type":"boolean"},"source_action_ready":{"type":"boolean"},"status":{"description":"Current availability status, including action expiry","type":"string"},"submitted":{"const":false},"unsigned_action":{"additionalProperties":true,"properties":{"action_id":{"type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"expires_at":{"format":"date-time","type":"string"},"expires_in_seconds":{"const":60},"fee_payer":{"type":"string"},"input_lamports":{"type":"integer"},"instructions":{"items":{"type":"object"},"type":"array"},"minimum_output_usdc_base_units":{"type":"integer"},"payload_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"description":"Exact SHA-256 preimage construction: UTF-8 ECMAScript JSON.stringify, ordered top-level and projected instruction/key fields.","type":"object"},"prepared_at":{"format":"date-time","type":"string"},"programs":{"items":{"type":"string"},"type":"array"},"required_signers":{"items":{"type":"string"},"type":"array"},"signed":{"const":false},"submitted":{"const":false}},"required":["action_id","prepared_at","expires_at","expires_in_seconds","fee_payer","required_signers","input_lamports","minimum_output_usdc_base_units","programs","instructions","payload_sha256","payload_sha256_spec","agent_must_verify","signed","submitted"],"type":"object"},"unsigned_action_endpoint":{"type":"string"},"workflow_state":{"description":"Last verified event-driven state","type":"string"}},"required":["session_id","workflow_state","status","next_action","signed","submitted"],"type":"object"}}},"description":"Current unsigned action, or a machine-readable blocker if no action is available"}},"security":[{"bearerAuth":[]}],"summary":"Read the current unsigned action or blocker"}},"/v1/session/{session_id}/observe-cctp":{"post":{"operationId":"observeCctp","parameters":[{"in":"path","name":"session_id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"request":{"value":{"burn_signature":"replace_with_verified_public_value","idempotency_key":"00000000-0000-4000-8000-000000000000"}}},"schema":{"additionalProperties":false,"properties":{"burn_signature":{"type":"string"},"idempotency_key":{"maxLength":128,"minLength":8,"type":"string"}},"required":["burn_signature","idempotency_key"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"action_available":{"type":"boolean"},"action_expires_at":{"format":"date-time","type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"blocker":{"type":["string","null"]},"execution_mode":{"const":"agent_signed_unsigned_actions"},"idempotent_replay":{"type":"boolean"},"locked_source_terms":{"properties":{"input_lamports":{"type":"integer"},"minimum_output_usdc_base_units":{"type":"integer"}},"type":"object"},"next_action":{"type":["string","null"]},"prepared_action_id":{"type":"string"},"quote_id":{"format":"uuid","type":"string"},"recovery":{"type":"object"},"server_submission_enabled":{"const":false},"session_id":{"format":"uuid","type":"string"},"signed":{"const":false},"source_action_expired":{"type":"boolean"},"source_action_prepared":{"type":"boolean"},"source_action_ready":{"type":"boolean"},"status":{"description":"Current availability status, including action expiry","type":"string"},"submitted":{"const":false},"unsigned_action":{"additionalProperties":true,"properties":{"action_id":{"type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"expires_at":{"format":"date-time","type":"string"},"expires_in_seconds":{"const":60},"fee_payer":{"type":"string"},"input_lamports":{"type":"integer"},"instructions":{"items":{"type":"object"},"type":"array"},"minimum_output_usdc_base_units":{"type":"integer"},"payload_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"description":"Exact SHA-256 preimage construction: UTF-8 ECMAScript JSON.stringify, ordered top-level and projected instruction/key fields.","type":"object"},"prepared_at":{"format":"date-time","type":"string"},"programs":{"items":{"type":"string"},"type":"array"},"required_signers":{"items":{"type":"string"},"type":"array"},"signed":{"const":false},"submitted":{"const":false}},"required":["action_id","prepared_at","expires_at","expires_in_seconds","fee_payer","required_signers","input_lamports","minimum_output_usdc_base_units","programs","instructions","payload_sha256","payload_sha256_spec","agent_must_verify","signed","submitted"],"type":"object"},"unsigned_action_endpoint":{"type":"string"},"workflow_state":{"description":"Last verified event-driven state","type":"string"}},"required":["session_id","workflow_state","status","next_action","signed","submitted"],"type":"object"}}},"description":"Verified CCTP destination funds"},"409":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"active_session_release_at":{"format":"date-time","type":["string","null"]},"error":{"type":"string"},"next_action":{"type":"string"},"recovery":{"type":"object"},"required_workflow_state":{"type":"string"},"retry_after_seconds":{"minimum":1,"type":"integer"},"retryable":{"type":"boolean"},"status":{"type":"string"},"workflow_state":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"Workflow order conflict; inspect error, workflow_state, required_workflow_state, and next_action"}},"security":[{"bearerAuth":[]}],"summary":"Read Circle attestation and forwarded mint after an externally submitted burn"}},"/v1/session/{session_id}/observe-destination":{"post":{"operationId":"observeDestination","parameters":[{"in":"path","name":"session_id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"request":{"value":{"idempotency_key":"00000000-0000-4000-8000-000000000000","transaction_hash":"replace_with_verified_public_value"}}},"schema":{"additionalProperties":false,"properties":{"idempotency_key":{"maxLength":128,"minLength":8,"type":"string"},"transaction_hash":{"pattern":"^0x[0-9a-fA-F]{64}$","type":"string"}},"required":["transaction_hash","idempotency_key"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"action_available":{"type":"boolean"},"action_expires_at":{"format":"date-time","type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"blocker":{"type":["string","null"]},"execution_mode":{"const":"agent_signed_unsigned_actions"},"idempotent_replay":{"type":"boolean"},"locked_source_terms":{"properties":{"input_lamports":{"type":"integer"},"minimum_output_usdc_base_units":{"type":"integer"}},"type":"object"},"next_action":{"type":["string","null"]},"prepared_action_id":{"type":"string"},"quote_id":{"format":"uuid","type":"string"},"recovery":{"type":"object"},"server_submission_enabled":{"const":false},"session_id":{"format":"uuid","type":"string"},"signed":{"const":false},"source_action_expired":{"type":"boolean"},"source_action_prepared":{"type":"boolean"},"source_action_ready":{"type":"boolean"},"status":{"description":"Current availability status, including action expiry","type":"string"},"submitted":{"const":false},"unsigned_action":{"additionalProperties":true,"properties":{"action_id":{"type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"expires_at":{"format":"date-time","type":"string"},"expires_in_seconds":{"const":60},"fee_payer":{"type":"string"},"input_lamports":{"type":"integer"},"instructions":{"items":{"type":"object"},"type":"array"},"minimum_output_usdc_base_units":{"type":"integer"},"payload_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"description":"Exact SHA-256 preimage construction: UTF-8 ECMAScript JSON.stringify, ordered top-level and projected instruction/key fields.","type":"object"},"prepared_at":{"format":"date-time","type":"string"},"programs":{"items":{"type":"string"},"type":"array"},"required_signers":{"items":{"type":"string"},"type":"array"},"signed":{"const":false},"submitted":{"const":false}},"required":["action_id","prepared_at","expires_at","expires_in_seconds","fee_payer","required_signers","input_lamports","minimum_output_usdc_base_units","programs","instructions","payload_sha256","payload_sha256_spec","agent_must_verify","signed","submitted"],"type":"object"},"unsigned_action_endpoint":{"type":"string"},"workflow_state":{"description":"Last verified event-driven state","type":"string"}},"required":["session_id","workflow_state","status","next_action","signed","submitted"],"type":"object"}}},"description":"Completed workflow and receipt"},"409":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"active_session_release_at":{"format":"date-time","type":["string","null"]},"error":{"type":"string"},"next_action":{"type":"string"},"recovery":{"type":"object"},"required_workflow_state":{"type":"string"},"retry_after_seconds":{"minimum":1,"type":"integer"},"retryable":{"type":"boolean"},"status":{"type":"string"},"workflow_state":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"Workflow order conflict; inspect error, workflow_state, required_workflow_state, and next_action"},"410":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"active_session_release_at":{"format":"date-time","type":["string","null"]},"error":{"type":"string"},"next_action":{"type":"string"},"recovery":{"type":"object"},"required_workflow_state":{"type":"string"},"retry_after_seconds":{"minimum":1,"type":"integer"},"retryable":{"type":"boolean"},"status":{"type":"string"},"workflow_state":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"Destination action expired. Response directs the agent to prepare a fresh destination action."}},"security":[{"bearerAuth":[]}],"summary":"Verify an agent-submitted destination UserOperation receipt"}},"/v1/session/{session_id}/prepare-cctp-action":{"post":{"operationId":"prepareCctpAction","parameters":[{"in":"path","name":"session_id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"request":{"value":{"event_signer_public":"replace_with_verified_public_value","idempotency_key":"00000000-0000-4000-8000-000000000000"}}},"schema":{"additionalProperties":false,"properties":{"event_signer_public":{"description":"Public key only; never a private key","type":"string"},"idempotency_key":{"maxLength":128,"minLength":8,"type":"string"}},"required":["idempotency_key","event_signer_public"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"action_available":{"type":"boolean"},"action_expires_at":{"format":"date-time","type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"blocker":{"type":["string","null"]},"execution_mode":{"const":"agent_signed_unsigned_actions"},"idempotent_replay":{"type":"boolean"},"locked_source_terms":{"properties":{"input_lamports":{"type":"integer"},"minimum_output_usdc_base_units":{"type":"integer"}},"type":"object"},"next_action":{"type":["string","null"]},"prepared_action_id":{"type":"string"},"quote_id":{"format":"uuid","type":"string"},"recovery":{"type":"object"},"server_submission_enabled":{"const":false},"session_id":{"format":"uuid","type":"string"},"signed":{"const":false},"source_action_expired":{"type":"boolean"},"source_action_prepared":{"type":"boolean"},"source_action_ready":{"type":"boolean"},"status":{"description":"Current availability status, including action expiry","type":"string"},"submitted":{"const":false},"unsigned_action":{"additionalProperties":true,"properties":{"action_id":{"type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"expires_at":{"format":"date-time","type":"string"},"expires_in_seconds":{"const":60},"fee_payer":{"type":"string"},"input_lamports":{"type":"integer"},"instructions":{"items":{"type":"object"},"type":"array"},"minimum_output_usdc_base_units":{"type":"integer"},"payload_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"description":"Exact SHA-256 preimage construction: UTF-8 ECMAScript JSON.stringify, ordered top-level and projected instruction/key fields.","type":"object"},"prepared_at":{"format":"date-time","type":"string"},"programs":{"items":{"type":"string"},"type":"array"},"required_signers":{"items":{"type":"string"},"type":"array"},"signed":{"const":false},"submitted":{"const":false}},"required":["action_id","prepared_at","expires_at","expires_in_seconds","fee_payer","required_signers","input_lamports","minimum_output_usdc_base_units","programs","instructions","payload_sha256","payload_sha256_spec","agent_must_verify","signed","submitted"],"type":"object"},"unsigned_action_endpoint":{"type":"string"},"workflow_state":{"description":"Last verified event-driven state","type":"string"}},"required":["session_id","workflow_state","status","next_action","signed","submitted"],"type":"object"}}},"description":"Unsigned CCTP action"},"409":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"active_session_release_at":{"format":"date-time","type":["string","null"]},"error":{"type":"string"},"next_action":{"type":"string"},"recovery":{"type":"object"},"required_workflow_state":{"type":"string"},"retry_after_seconds":{"minimum":1,"type":"integer"},"retryable":{"type":"boolean"},"status":{"type":"string"},"workflow_state":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"Workflow order conflict; inspect error, workflow_state, required_workflow_state, and next_action"}},"security":[{"bearerAuth":[]}],"summary":"Prepare unsigned CCTP burn after source receipt verification"}},"/v1/session/{session_id}/prepare-destination-action":{"post":{"description":"Returns a bounded signing plan with exact-cap permit, USDC-paid gas, USDC-to-ETH swap, owner settlement, success-only fee, and allowance reset.","operationId":"prepareDestinationAction","parameters":[{"in":"path","name":"session_id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"request":{"value":{"idempotency_key":"00000000-0000-4000-8000-000000000000"}}},"schema":{"additionalProperties":false,"properties":{"idempotency_key":{"maxLength":128,"minLength":8,"type":"string"}},"required":["idempotency_key"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"action_available":{"type":"boolean"},"action_expires_at":{"format":"date-time","type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"blocker":{"type":["string","null"]},"execution_mode":{"const":"agent_signed_unsigned_actions"},"idempotent_replay":{"type":"boolean"},"locked_source_terms":{"properties":{"input_lamports":{"type":"integer"},"minimum_output_usdc_base_units":{"type":"integer"}},"type":"object"},"next_action":{"type":["string","null"]},"prepared_action_id":{"type":"string"},"quote_id":{"format":"uuid","type":"string"},"recovery":{"type":"object"},"server_submission_enabled":{"const":false},"session_id":{"format":"uuid","type":"string"},"signed":{"const":false},"source_action_expired":{"type":"boolean"},"source_action_prepared":{"type":"boolean"},"source_action_ready":{"type":"boolean"},"status":{"description":"Current availability status, including action expiry","type":"string"},"submitted":{"const":false},"unsigned_action":{"additionalProperties":true,"properties":{"action_id":{"type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"expires_at":{"format":"date-time","type":"string"},"expires_in_seconds":{"const":60},"fee_payer":{"type":"string"},"input_lamports":{"type":"integer"},"instructions":{"items":{"type":"object"},"type":"array"},"minimum_output_usdc_base_units":{"type":"integer"},"payload_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"description":"Exact SHA-256 preimage construction: UTF-8 ECMAScript JSON.stringify, ordered top-level and projected instruction/key fields.","type":"object"},"prepared_at":{"format":"date-time","type":"string"},"programs":{"items":{"type":"string"},"type":"array"},"required_signers":{"items":{"type":"string"},"type":"array"},"signed":{"const":false},"submitted":{"const":false}},"required":["action_id","prepared_at","expires_at","expires_in_seconds","fee_payer","required_signers","input_lamports","minimum_output_usdc_base_units","programs","instructions","payload_sha256","payload_sha256_spec","agent_must_verify","signed","submitted"],"type":"object"},"unsigned_action_endpoint":{"type":"string"},"workflow_state":{"description":"Last verified event-driven state","type":"string"}},"required":["session_id","workflow_state","status","next_action","signed","submitted"],"type":"object"}}},"description":"Unsigned signing plan; no submission"},"409":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"active_session_release_at":{"format":"date-time","type":["string","null"]},"error":{"type":"string"},"next_action":{"type":"string"},"recovery":{"type":"object"},"required_workflow_state":{"type":"string"},"retry_after_seconds":{"minimum":1,"type":"integer"},"retryable":{"type":"boolean"},"status":{"type":"string"},"workflow_state":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"Workflow order conflict; inspect error, workflow_state, required_workflow_state, and next_action"}},"security":[{"bearerAuth":[]}],"summary":"Prepare unsigned ERC-4337 Paymaster permit and atomic destination batch"}},"/v1/session/{session_id}/prepare-source-action":{"post":{"description":"The response gives prepared_action_id, action_expires_at, agent_must_verify, and unsigned_action_endpoint. GET that endpoint to retrieve the full unsigned action. If it expires, obtain a fresh quote and create a new session; rebuilding against an expired locked quote is not allowed.","operationId":"prepareSourceAction","parameters":[{"in":"path","name":"session_id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"request":{"value":{}}},"schema":{"additionalProperties":false,"maxProperties":0,"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"action_available":{"type":"boolean"},"action_expires_at":{"format":"date-time","type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"blocker":{"type":["string","null"]},"execution_mode":{"const":"agent_signed_unsigned_actions"},"idempotent_replay":{"type":"boolean"},"locked_source_terms":{"properties":{"input_lamports":{"type":"integer"},"minimum_output_usdc_base_units":{"type":"integer"}},"type":"object"},"next_action":{"type":["string","null"]},"prepared_action_id":{"type":"string"},"quote_id":{"format":"uuid","type":"string"},"recovery":{"type":"object"},"server_submission_enabled":{"const":false},"session_id":{"format":"uuid","type":"string"},"signed":{"const":false},"source_action_expired":{"type":"boolean"},"source_action_prepared":{"type":"boolean"},"source_action_ready":{"type":"boolean"},"status":{"description":"Current availability status, including action expiry","type":"string"},"submitted":{"const":false},"unsigned_action":{"additionalProperties":true,"properties":{"action_id":{"type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"expires_at":{"format":"date-time","type":"string"},"expires_in_seconds":{"const":60},"fee_payer":{"type":"string"},"input_lamports":{"type":"integer"},"instructions":{"items":{"type":"object"},"type":"array"},"minimum_output_usdc_base_units":{"type":"integer"},"payload_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"description":"Exact SHA-256 preimage construction: UTF-8 ECMAScript JSON.stringify, ordered top-level and projected instruction/key fields.","type":"object"},"prepared_at":{"format":"date-time","type":"string"},"programs":{"items":{"type":"string"},"type":"array"},"required_signers":{"items":{"type":"string"},"type":"array"},"signed":{"const":false},"submitted":{"const":false}},"required":["action_id","prepared_at","expires_at","expires_in_seconds","fee_payer","required_signers","input_lamports","minimum_output_usdc_base_units","programs","instructions","payload_sha256","payload_sha256_spec","agent_must_verify","signed","submitted"],"type":"object"},"unsigned_action_endpoint":{"type":"string"},"workflow_state":{"description":"Last verified event-driven state","type":"string"}},"required":["session_id","workflow_state","status","next_action","signed","submitted"],"type":"object"}}},"description":"Unsigned action prepared; never signed or submitted"},"409":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"active_session_release_at":{"format":"date-time","type":["string","null"]},"error":{"type":"string"},"next_action":{"type":"string"},"recovery":{"type":"object"},"required_workflow_state":{"type":"string"},"retry_after_seconds":{"minimum":1,"type":"integer"},"retryable":{"type":"boolean"},"status":{"type":"string"},"workflow_state":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"Workflow order conflict; inspect error, workflow_state, required_workflow_state, and next_action"},"410":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"active_session_release_at":{"format":"date-time","type":["string","null"]},"error":{"type":"string"},"next_action":{"type":"string"},"recovery":{"type":"object"},"required_workflow_state":{"type":"string"},"retry_after_seconds":{"minimum":1,"type":"integer"},"retryable":{"type":"boolean"},"status":{"type":"string"},"workflow_state":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"Source action expired. Response includes status, next_action, recovery, and retryable:false."}},"security":[{"bearerAuth":[]}],"summary":"Prepare a 60-second allowlisted unsigned Solana source action"}},"/v1/session/{session_id}/receipt":{"get":{"operationId":"getReceipt","parameters":[{"in":"path","name":"session_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"409":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"active_session_release_at":{"format":"date-time","type":["string","null"]},"error":{"type":"string"},"next_action":{"type":"string"},"recovery":{"type":"object"},"required_workflow_state":{"type":"string"},"retry_after_seconds":{"minimum":1,"type":"integer"},"retryable":{"type":"boolean"},"status":{"type":"string"},"workflow_state":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"No receipt before execution"}},"security":[{"bearerAuth":[]}],"summary":"Read a receipt after completion"}},"/v1/session/{session_id}/verify-source":{"post":{"operationId":"verifySourceReceipt","parameters":[{"in":"path","name":"session_id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"request":{"value":{"idempotency_key":"00000000-0000-4000-8000-000000000000","signature":"replace_with_verified_public_value"}}},"schema":{"additionalProperties":false,"properties":{"idempotency_key":{"maxLength":128,"minLength":8,"type":"string"},"signature":{"type":"string"}},"required":["signature","idempotency_key"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"action_available":{"type":"boolean"},"action_expires_at":{"format":"date-time","type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"blocker":{"type":["string","null"]},"execution_mode":{"const":"agent_signed_unsigned_actions"},"idempotent_replay":{"type":"boolean"},"locked_source_terms":{"properties":{"input_lamports":{"type":"integer"},"minimum_output_usdc_base_units":{"type":"integer"}},"type":"object"},"next_action":{"type":["string","null"]},"prepared_action_id":{"type":"string"},"quote_id":{"format":"uuid","type":"string"},"recovery":{"type":"object"},"server_submission_enabled":{"const":false},"session_id":{"format":"uuid","type":"string"},"signed":{"const":false},"source_action_expired":{"type":"boolean"},"source_action_prepared":{"type":"boolean"},"source_action_ready":{"type":"boolean"},"status":{"description":"Current availability status, including action expiry","type":"string"},"submitted":{"const":false},"unsigned_action":{"additionalProperties":true,"properties":{"action_id":{"type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"expires_at":{"format":"date-time","type":"string"},"expires_in_seconds":{"const":60},"fee_payer":{"type":"string"},"input_lamports":{"type":"integer"},"instructions":{"items":{"type":"object"},"type":"array"},"minimum_output_usdc_base_units":{"type":"integer"},"payload_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"description":"Exact SHA-256 preimage construction: UTF-8 ECMAScript JSON.stringify, ordered top-level and projected instruction/key fields.","type":"object"},"prepared_at":{"format":"date-time","type":"string"},"programs":{"items":{"type":"string"},"type":"array"},"required_signers":{"items":{"type":"string"},"type":"array"},"signed":{"const":false},"submitted":{"const":false}},"required":["action_id","prepared_at","expires_at","expires_in_seconds","fee_payer","required_signers","input_lamports","minimum_output_usdc_base_units","programs","instructions","payload_sha256","payload_sha256_spec","agent_must_verify","signed","submitted"],"type":"object"},"unsigned_action_endpoint":{"type":"string"},"workflow_state":{"description":"Last verified event-driven state","type":"string"}},"required":["session_id","workflow_state","status","next_action","signed","submitted"],"type":"object"}}},"description":"Verified receipt advances workflow without submitting a transaction"},"409":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"active_session_release_at":{"format":"date-time","type":["string","null"]},"error":{"type":"string"},"next_action":{"type":"string"},"recovery":{"type":"object"},"required_workflow_state":{"type":"string"},"retry_after_seconds":{"minimum":1,"type":"integer"},"retryable":{"type":"boolean"},"status":{"type":"string"},"workflow_state":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"Workflow order conflict; inspect error, workflow_state, required_workflow_state, and next_action"}},"security":[{"bearerAuth":[]}],"summary":"Read and verify a user-submitted Solana source receipt"}},"/v1/session/{session_id}/workflow":{"get":{"description":"Reports current asset location and recovery/resume guidance if the non-atomic workflow stops after SOL-to-USDC or CCTP.","operationId":"getWorkflow","parameters":[{"in":"path","name":"session_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"action_available":{"type":"boolean"},"action_expires_at":{"format":"date-time","type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"blocker":{"type":["string","null"]},"execution_mode":{"const":"agent_signed_unsigned_actions"},"idempotent_replay":{"type":"boolean"},"locked_source_terms":{"properties":{"input_lamports":{"type":"integer"},"minimum_output_usdc_base_units":{"type":"integer"}},"type":"object"},"next_action":{"type":["string","null"]},"prepared_action_id":{"type":"string"},"quote_id":{"format":"uuid","type":"string"},"recovery":{"type":"object"},"server_submission_enabled":{"const":false},"session_id":{"format":"uuid","type":"string"},"signed":{"const":false},"source_action_expired":{"type":"boolean"},"source_action_prepared":{"type":"boolean"},"source_action_ready":{"type":"boolean"},"status":{"description":"Current availability status, including action expiry","type":"string"},"submitted":{"const":false},"unsigned_action":{"additionalProperties":true,"properties":{"action_id":{"type":"string"},"agent_must_verify":{"items":{"type":"string"},"type":"array"},"expires_at":{"format":"date-time","type":"string"},"expires_in_seconds":{"const":60},"fee_payer":{"type":"string"},"input_lamports":{"type":"integer"},"instructions":{"items":{"type":"object"},"type":"array"},"minimum_output_usdc_base_units":{"type":"integer"},"payload_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"payload_sha256_spec":{"description":"Exact SHA-256 preimage construction: UTF-8 ECMAScript JSON.stringify, ordered top-level and projected instruction/key fields.","type":"object"},"prepared_at":{"format":"date-time","type":"string"},"programs":{"items":{"type":"string"},"type":"array"},"required_signers":{"items":{"type":"string"},"type":"array"},"signed":{"const":false},"submitted":{"const":false}},"required":["action_id","prepared_at","expires_at","expires_in_seconds","fee_payer","required_signers","input_lamports","minimum_output_usdc_base_units","programs","instructions","payload_sha256","payload_sha256_spec","agent_must_verify","signed","submitted"],"type":"object"},"unsigned_action_endpoint":{"type":"string"},"workflow_state":{"description":"Last verified event-driven state","type":"string"}},"required":["session_id","workflow_state","status","next_action","signed","submitted"],"type":"object"}}},"description":"Workflow state"}},"security":[{"bearerAuth":[]}],"summary":"Read the non-executing CCTP workflow and recovery state"}},"/v1/status":{"get":{"operationId":"getStatus","responses":{"200":{"description":"Current limits, capability, pause, and quorum summary"}},"summary":"Read public operational capability status"}}},"servers":[{"description":"AssetFare API","url":"https://api.assetfare.dev"}],"x-assetfare-access":{"execution":"wallet_signed_public_demand_validation","quotes":"public","self_service_credentials":true},"x-assetfare-error-catalog":{"destination_action_expired_reprepare_required":410,"source_action_expired_new_quote_session_required":410,"tenant_active_session_limit":409,"workflow_state_requires_cctp_action":409,"workflow_state_requires_destination_action":409,"workflow_state_requires_destination_funds":409,"workflow_state_requires_quote_locked":409,"workflow_state_requires_source_action":409,"workflow_state_requires_source_receipt":409},"x-assetfare-pricing":{"collection":"destination_atomic_batch_success_only","execution_fee_bps":1,"execution_fee_cap_usdc":5,"public_quote_usd":0,"url":"https://assetfare.dev/pricing.json"},"x-assetfare-rate-limits":{"cache_hits":"not charged against the expensive-miss budget","expensive_quote_cache_misses":"3 per source IP and 20 globally per 60 seconds","quote_cache_ttl_seconds":20},"x-assetfare-self-service":{"authentication":"Solana Ed25519 signMessage","login_authorizes_transaction":false,"max_live_challenges_per_wallet":5,"privacy_url":"https://assetfare.dev/privacy","status":"enabled_capped_demand_validation","terms_url":"https://assetfare.dev/terms","wallet_binding":"session token is bound to the verified source wallet"},"x-assetfare-session-policy":{"active_after_funding_release":"workflow completion or operator recovery","active_before_funding_release":"quote expiry or prepared source-action expiry","max_active_sessions_per_tenant":1,"tenant_active_session_limit_response":"HTTP 409 with retryable, retry_after_seconds, and active_session_release_at when automatic release is known"},"x-assetfare-supported-corridors":[{"amount_usd":{"maximum":1000,"minimum":250,"whole_dollars":true},"from":"solana:SOL","to":"base:ETH"},{"amount_usd":{"maximum":1000,"minimum":250,"whole_dollars":true},"from":"solana:SOL","to":"arbitrum:ETH"}]}