{"protocolVersion":"0.3.0","name":"AlgoVoi Payable Rail","description":"Tenant-free metered signed-verification rail. Pay per call with x402 (USDC on Algorand mainnet, AVM note-bound settlement, scheme:exact is NOT EIP-3009); no API key, payment is the auth. Every response carries an offline-verifiable Ed25519 receipt.","url":"https://pay.algovoi.co.uk/a2a","preferredTransport":"JSONRPC","additionalInterfaces":[{"transport":"JSONRPC","url":"https://pay.algovoi.co.uk/a2a"}],"version":"1.0.0","provider":{"organization":"AlgoVoi","url":"https://pay.algovoi.co.uk"},"documentationUrl":"https://pay.algovoi.co.uk/pay/v1/index","did":"did:web:pay.algovoi.co.uk","capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false,"extensions":[{"uri":"https://github.com/google-agentic-commerce/a2a-x402/blob/main/spec/v0.2","description":"Supports payments using the x402 protocol for on-chain settlement. scheme:exact is a per-lane binding, NOT stock EIP-3009 (Algorand AVM note-bound / Base EIP-3009 nonce weld / Solana server-derived reference).","required":true,"params":{"lanes":[{"id":"algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73k","asset":"31566704","asset_name":"USDC","decimals":6,"binding":"note-binding","scheme_kind":"avm-note","note_binding":"mandatory"},{"id":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_name":"USDC","decimals":6,"binding":"eip3009-authorization-weld","scheme_kind":"eip3009-exact","eip712_domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"authorization_weld":{"nonce":"keccak256(payment_reference)","value":"== price (exact)","to":"== payTo"},"note":"scheme:exact = EIP-3009 signed authorization we settle; the nonce weld is mandatory, stock EVM x402 clients cannot pay this lane"},{"id":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_name":"USDC","decimals":6,"binding":"solana-reference","scheme_kind":"solana-reference","reference_binding":"mandatory","note":"scheme:exact = Solana reference-bound settlement; include the server-derived svm_reference_pubkey (from the 402) as a read-only account in your USDC transfer"},{"id":"stellar:pubnet","asset":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN","asset_name":"USDC","decimals":7,"binding":"memo-binding","scheme_kind":"stellar-memo","memo_binding":"mandatory","note":"scheme:exact = Stellar MEMO_TEXT-bound settlement; set the tx MEMO_TEXT to the server-derived weld (from the 402). Stock clients cannot pay this lane."},{"id":"hedera:mainnet","asset":"0.0.456858","asset_name":"USDC","decimals":6,"binding":"memo-binding","scheme_kind":"hedera-memo","memo_binding":"mandatory","note":"scheme:exact = Hedera TIP tx-memo-bound settlement of native USDC (HTS); set the tx memo to the server-derived bytes weld (from the 402). Stock clients cannot pay this lane."},{"id":"voi:mainnet","asset":"302190","asset_name":"aUSDC","decimals":6,"binding":"note-binding","scheme_kind":"voi-asa-note","note_binding":"mandatory","asset_note":"Aramid-bridged USDC (ASA), not native Circle USDC","note":"scheme:exact = Voi AVM ASA note-bound settlement; set the tx note to the server-derived weld (from the 402). Stock clients cannot pay this lane."},{"id":"eip155:4217","asset":"0x20c000000000000000000000b9537d11c60e8b50","asset_name":"USDC.e","decimals":6,"binding":"memo-binding","scheme_kind":"tempo-memo","memo_binding":"mandatory","asset_note":"bridged USDC.e (Stargate) on Tempo, not native Circle USDC","note":"scheme:exact = Tempo TIP-20 transferWithMemo settlement; call transferWithMemo with the bytes32 memo weld (from the 402). A plain ERC-20 transfer is rejected."}]}}]},"securitySchemes":{"x402-payment":{"type":"http","scheme":"x402","description":"Payment is the authentication. No API key/bearer. Each paid skill returns an x402 v2 402 challenge; pay the USDC amount to payTo on Algorand mainnet with the challenge token in the tx note, then resubmit with the X-PAYMENT proof. See /pay/v1/index."}},"security":[],"defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"skills":[{"id":"pay-verify-receipt","name":"Verify payment/settlement receipt","description":"Tenant-free metered x402 service: no API key, payment is the auth (USDC on Algorand, scheme:exact = AVM note-bound settlement, token bound in the tx note, not EIP-3009). Verify an x402/AP2 settlement attestation or signed receipt (JWS) offline against the platform JWKS and return a signed verification receipt. Price $0.01 USDC per call; returns an offline-verifiable Ed25519 receipt binding settled_payment_ref -> request_hash -> response_hash.","tags":["x402","payments","verification","algorand","receipts"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"pay-verify-rfc9421","name":"Verify RFC 9421 HTTP message signature","description":"Tenant-free metered x402 service: no API key, payment is the auth (USDC on Algorand, scheme:exact = AVM note-bound settlement, token bound in the tx note, not EIP-3009). Verify an RFC 9421 HTTP message signature (Signature-Input / Signature / Content-Digest) against a supplied public key and return a signed verification receipt. Price $0.01 USDC per call; returns an offline-verifiable Ed25519 receipt binding settled_payment_ref -> request_hash -> response_hash.","tags":["x402","payments","verification","algorand","receipts"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"pay-compliance-receipt","name":"Signed compliance receipt","description":"Tenant-free metered x402 service: no API key, payment is the auth (USDC on Algorand, scheme:exact = AVM note-bound settlement, token bound in the tx note, not EIP-3009). Produce a signed compliance/sanctions-screening receipt for a counterparty payment (wave 2, not yet enabled). Not yet enabled (wave 2).","tags":["x402","payments","verification","algorand","receipts"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"negotiate-payment-lane","name":"Chain-agnostic payment-lane negotiation","description":"Chain-agnostic capability match. POST {chains:[...], protocols:[...], service_id?} to /pay/v1/negotiate with the chains and protocols you support (CAIP-2 ids, plain names, or hyphen/underscore forms) and get back the lanes you share with the rail plus a recommended pick. GET /pay/v1/negotiate returns the full capability set. Unauthenticated and read-only: mints no token, changes no state, settles nothing; the payment happens afterward via the chosen lane's 402. Response fields: negotiated, common_lanes, common_protocols, recommended, next.","tags":["negotiation","chain-agnostic","caip-2","interoperability","x402","a2a","mpp","ap2","discovery"],"inputModes":["application/json"],"outputModes":["application/json"]}]}