Card snapshot
pay.algovoi.co.uk
·
2026-08-26 06:10:39 UTC
·
897ab68d19434c112256638ac2e501ea27cef6212ac7fa5287ce45a20c028a14
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"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"
]
}
]
}