{"schema":"https://tooloracle.io/schemas/payment-oracle.v1.json","version":"0.7.0","name":"OracleNet PaymentOracle","description":"Chain-agnostic payment control layer for autonomous AI agents. Quote, preflight, verify and signed receipts across multiple payment rails.","merchant_did":"did:web:tooloracle.io","status":"skeleton","m2m_only":true,"endpoints":{"health":"https://tooloracle.io/payments/health","quote":"https://tooloracle.io/payments/quote","intent":"https://tooloracle.io/payments/intent/{intent_hash}","preflight":"https://tooloracle.io/payments/preflight","verify":"https://tooloracle.io/payments/verify","execute":"https://tooloracle.io/payments/execute","receipt":"https://tooloracle.io/payments/receipt/{id}"},"rails":[{"id":"base-usdc-x402","status":"live","chain":{"name":"Base","id":8453,"type":"evm"},"asset":{"symbol":"USDC","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","decimals":6},"payTo":"0x4a4B1F45a00892542ac62562D1F2C62F579E4945","current_runtime":"existing x402-gateway on /x402/*","strict_x402":false,"legacy_payment_header":"X-PAYMENT raw Base tx_hash","paymentoracle_verify":"available","supported_payloads":["raw_base_tx_hash"]},{"id":"xrpl-xrp","status":"beta_configured","chain":{"name":"XRPL","id":"XRPL-mainnet","type":"xrpl","network":"mainnet"},"asset":{"symbol":"XRP"},"receiving_wallet":"rhteihAJz1KsY6GpWPEc9Jo1W9qrqg1z1i","verification":"beta","supported_payloads":["xrpl_tx_hash_with_intent_memo"],"account_status":"activated","funding_required":false,"memo_required":true,"memo_format":"intent:<intent_hash>","memo_rationale":"XRPL Payment txs do not carry EVM-style calldata; intent_hash MUST be embedded in the Memo so PaymentOracle can bind a payment to a specific intent.","planned_verification_rules":["TransactionType MUST be Payment.","Destination MUST equal receiving_wallet.","ledger_index MUST be validated.","meta.TransactionResult MUST be tesSUCCESS.","Memo MUST decode to 'intent:<intent_hash>' matching the PaymentOracle intent.","delivered_amount (XRP drops) MUST be >= quoted amount.","Block timestamp (rippled close_time) MUST satisfy temporal binding [intent.created_at-5min, intent.expires_at+5min]."],"note":"Planned first-class rail. No live verification yet — receiving_wallet not provisioned."},{"id":"xrpl-rlusd","status":"beta_configured","chain":{"name":"XRPL","id":"XRPL-mainnet","type":"xrpl","network":"mainnet"},"asset":{"symbol":"RLUSD","currency":"524C555344000000000000000000000000000000","issuer":"rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De","issuer_name":"Ripple Labs","currency_form":"xrpl_canonical_160bit_hex"},"receiving_wallet":"rhteihAJz1KsY6GpWPEc9Jo1W9qrqg1z1i","verification":"beta","supported_payloads":["xrpl_tx_hash_with_intent_memo"],"account_status":"activated","funding_required":false,"trustline":"configured","memo_required":true,"memo_format":"intent:<intent_hash>","memo_rationale":"XRPL Payment txs do not carry EVM-style calldata; intent_hash MUST be embedded in the Memo so PaymentOracle can bind a payment to a specific intent.","planned_verification_rules":["TransactionType MUST be Payment.","Destination MUST equal receiving_wallet.","ledger_index MUST be validated.","meta.TransactionResult MUST be tesSUCCESS.","Memo MUST decode to 'intent:<intent_hash>' matching the PaymentOracle intent.","meta.delivered_amount MUST be an IOU object (not a string).","delivered_amount.currency MUST equal '524C555344000000000000000000000000000000' (XRPL canonical 40-hex form; the 3-char ASCII 'RLUSD' is rejected even though it decodes to the same bytes).","delivered_amount.issuer MUST equal 'rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De'.","delivered_amount.value MUST be >= quoted amount.","Receiving wallet MUST hold a trustline to the RLUSD issuer before going live.","Block timestamp (rippled close_time) MUST satisfy temporal binding [intent.created_at-5min, intent.expires_at+5min]."],"note":"Planned first-class rail. No live verification yet — receiving_wallet not provisioned and trustline not configured."},{"id":"base-eurc","status":"beta_configured","chain":{"name":"Base","id":8453,"type":"evm"},"asset":{"symbol":"EURC","address":"0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42","decimals":6,"issuer":"Circle Internet Financial Europe SAS","mica_compliant":true},"payTo":"0x4a4B1F45a00892542ac62562D1F2C62F579E4945","verification":"beta","supported_payloads":["raw_base_tx_hash"],"verifier_id":"base_rpc_raw_eurc_v1","pricing_mode":"test_fixed_eurc_per_unit","pricing_rationale":"Fixed 0.01 EURC per unit (FX-independent). Production pricing will need an FX-oracle if EUR/USD parity matters for the caller.","legacy_payment_header":"X-PAYMENT raw Base tx_hash","strict_x402":false,"note":"MiCA-compliant euro stablecoin on Base. Same chain as USDC, separate verifier. EURC is issued by Circle (ACPR-licensed, MiCA-compliant)."},{"id":"solana-usdc","status":"planned"},{"id":"polygon-usdc","status":"planned"}],"policy":{"agentguard_preflight":{"status":"optional","required":false,"endpoint":"https://tooloracle.io/payments/preflight"},"kya":{"status":"planned","required":false}},"receipts":{"status":"available","available":true,"scope":"base-usdc-x402, xrpl-xrp, xrpl-rlusd, and base-eurc verified PaymentOracle payments","supported_rails":["base-usdc-x402","xrpl-xrp","xrpl-rlusd","base-eurc"],"schema":"oraclenet.payment.receipt.v1","signature_alg":["ES256K"],"kid":"tooloracle-paymentoracle-es256k-1","jwks_url":"https://tooloracle.io/.well-known/payment-oracle.json#receipts.public_jwk","public_jwk":{"kty":"EC","x":"nJMLxoX8ewybOjH6lMdEAusuyJWfBPoFKLcdewIbXxA","y":"T102a453dZhvFSqWFFUw5jx4YPnQ0Q6rjtkE7run1Ms","crv":"secp256k1","kid":"tooloracle-paymentoracle-es256k-1","alg":"ES256K","use":"sig"},"latest_successful_receipt_id":"r_a603fc71b012728a341575e9a4886693","latest_successful_receipt_hash":"sha256:2ea5d50deaf8bcc00866591a0ca9a7793cc544662ddedbed8ac1c20d1c315847","latest_successful_verification_id":"ver_3b62e4ef54603c74e0ff0b01d4329ac0","note":"Receipt issuance is available for temporally-bound Base/USDC and XRPL/XRP PaymentOracle verifications. xrpl-rlusd, Solana, and Polygon receipt rails remain planned."},"related_discovery":{"x402":"https://tooloracle.io/.well-known/x402","pricing":"https://tooloracle.io/.well-known/pricing.json","agent":"https://tooloracle.io/.well-known/agent.json","mcp":"https://tooloracle.io/.well-known/mcp.json","latest_proof":"https://tooloracle.io/payments/proof/latest","proof_discovery":"https://tooloracle.io/.well-known/payment-oracle-proof.json"},"x_oraclenet_gateway_tools":{"x402_gateway_tools":307,"x402_gateway_tools_source":"x402-gateway live (/x402/health.total_tools)","platform_tools":1179,"platform_tools_source":"static_snapshot_2026-05-08","note":"x402_gateway_tools are the tools currently priced and exposed via /x402/<product>/mcp/. platform_tools counts the wider OracleNet surface."},"generated_at":"2026-05-10T01:31:28.919Z"}