Show JSON
{
"protocolVersion": "0.3.0",
"name": "AlgoVoi Payable Rail",
"description": "Tenant-free metered signed-verification rail. Pay per call in USDC over x402/a2a/mpp/ap2 across 11 mainnet lanes: mined-tx lanes weld the challenge into the tx note/memo/reference (NOT EIP-3009); EVM EIP-3009 lanes accept stock signed authorizations. No API key, payment is the auth. Every response carries an offline-verifiable Ed25519 receipt.",
"author": "AlgoVoi",
"wellKnownURI": "https://pay.algovoi.co.uk/.well-known/agent-card.json",
"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",
"iconUrl": null,
"supportsAuthenticatedExtendedCard": null,
"security": [],
"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 with one accept per enabled lane; pay the USDC amount to payTo on your chosen lane, bound per that lane's scheme (challenge welded into the tx note/memo/reference on mined-tx lanes; stock EIP-3009 signed authorization on EVM lanes), then resubmit with the X-PAYMENT proof. See /pay/v1/index."
}
},
"capabilities": {
"streaming": false,
"pushNotifications": false,
"stateTransitionHistory": false,
"extensions": [
{
"uri": "https://github.com/google-agentic-commerce/a2a-x402/blob/main/spec/v0.2",
"params": {
"lanes": [
{
"id": "algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73k",
"asset": "31566704",
"binding": "note-binding",
"decimals": 6,
"asset_name": "USDC",
"scheme_kind": "avm-note",
"note_binding": "mandatory"
},
{
"id": "eip155:8453",
"note": "scheme:exact = stock EIP-3009 signed authorization we settle; STOCK EVM x402 clients CAN pay this lane (EIP-712 domain name 'USD Coin' version '2', chainId 8453, to == payTo, value == price exact). An optional challenge_token binds the payment to the request/lane/TTL, not required.",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"binding": "eip3009-authorization",
"decimals": 6,
"asset_name": "USDC",
"scheme_kind": "eip3009-exact",
"eip712_domain": {
"name": "USD Coin",
"chainId": 8453,
"version": "2",
"verifyingContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
},
"authorization_weld": {
"to": "== payTo",
"nonce": "keccak256(payment_reference), optional; NOT required (lane accepts tokenless stock payments)",
"value": "== price (exact)",
"optional": true
}
},
{
"id": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"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",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"binding": "solana-reference",
"decimals": 6,
"asset_name": "USDC",
"scheme_kind": "solana-reference",
"reference_binding": "mandatory"
},
{
"id": "stellar:pubnet",
"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.",
"asset": "USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
"binding": "memo-binding",
"decimals": 7,
"asset_name": "USDC",
"scheme_kind": "stellar-memo",
"memo_binding": "mandatory"
},
{
"id": "hedera:mainnet",
"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.",
"asset": "0.0.456858",
"binding": "memo-binding",
"decimals": 6,
"asset_name": "USDC",
"scheme_kind": "hedera-memo",
"memo_binding": "mandatory"
},
{
"id": "voi:mainnet",
"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.",
"asset": "302190",
"binding": "note-binding",
"decimals": 6,
"asset_name": "aUSDC",
"asset_note": "Aramid-bridged USDC (ASA), not native Circle USDC",
"scheme_kind": "voi-asa-note",
"note_binding": "mandatory"
},
{
"id": "eip155:4217",
"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.",
"asset": "0x20c000000000000000000000b9537d11c60e8b50",
"binding": "memo-binding",
"decimals": 6,
"asset_name": "USDC.e",
"asset_note": "bridged USDC.e (Stargate) on Tempo, not native Circle USDC",
"scheme_kind": "tempo-memo",
"memo_binding": "mandatory"
},
{
"id": "eip155:143",
"note": "scheme:exact = stock EIP-3009 signed authorization we settle; STOCK EVM x402 clients CAN pay this lane (EIP-712 domain name 'USDC' version '2', chainId 143, to == payTo, value == price exact). An optional challenge_token binds the payment to the request/lane/TTL, not required.",
"asset": "0x754704Bc059F8C67012fEd69BC8A327a5aafb603",
"binding": "eip3009-authorization",
"decimals": 6,
"asset_name": "USDC",
"scheme_kind": "eip3009-exact",
"eip712_domain": {
"name": "USDC",
"chainId": 143,
"version": "2",
"verifyingContract": "0x754704Bc059F8C67012fEd69BC8A327a5aafb603"
},
"authorization_weld": {
"to": "== payTo",
"nonce": "keccak256(payment_reference), optional; NOT required (lane accepts tokenless stock payments)",
"value": "== price (exact)",
"optional": true
}
},
{
"id": "eip155:137",
"note": "scheme:exact = stock EIP-3009 signed authorization we settle; STOCK EVM x402 clients CAN pay this lane (EIP-712 domain name 'USD Coin' version '2', chainId 137, to == payTo, value == price exact). An optional challenge_token binds the payment to the request/lane/TTL, not required.",
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"binding": "eip3009-authorization",
"decimals": 6,
"asset_name": "USDC",
"scheme_kind": "eip3009-exact",
"eip712_domain": {
"name": "USD Coin",
"chainId": 137,
"version": "2",
"verifyingContract": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"
},
"authorization_weld": {
"to": "== payTo",
"nonce": "keccak256(payment_reference), optional; NOT required (lane accepts tokenless stock payments)",
"value": "== price (exact)",
"optional": true
}
},
{
"id": "eip155:42161",
"note": "scheme:exact = stock EIP-3009 signed authorization we settle; STOCK EVM x402 clients CAN pay this lane (EIP-712 domain name 'USD Coin' version '2', chainId 42161, to == payTo, value == price exact). An optional challenge_token binds the payment to the request/lane/TTL, not required.",
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"binding": "eip3009-authorization",
"decimals": 6,
"asset_name": "USDC",
"scheme_kind": "eip3009-exact",
"eip712_domain": {
"name": "USD Coin",
"chainId": 42161,
"version": "2",
"verifyingContract": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831"
},
"authorization_weld": {
"to": "== payTo",
"nonce": "keccak256(payment_reference), optional; NOT required (lane accepts tokenless stock payments)",
"value": "== price (exact)",
"optional": true
}
},
{
"id": "eip155:10",
"note": "scheme:exact = stock EIP-3009 signed authorization we settle; STOCK EVM x402 clients CAN pay this lane (EIP-712 domain name 'USD Coin' version '2', chainId 10, to == payTo, value == price exact). An optional challenge_token binds the payment to the request/lane/TTL, not required.",
"asset": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
"binding": "eip3009-authorization",
"decimals": 6,
"asset_name": "USDC",
"scheme_kind": "eip3009-exact",
"eip712_domain": {
"name": "USD Coin",
"chainId": 10,
"version": "2",
"verifyingContract": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"
},
"authorization_weld": {
"to": "== payTo",
"nonce": "keccak256(payment_reference), optional; NOT required (lane accepts tokenless stock payments)",
"value": "== price (exact)",
"optional": true
}
}
]
},
"required": true,
"description": "Supports payments using the x402 protocol for on-chain settlement. scheme:exact is a per-lane binding: mined-tx lanes weld the challenge into the tx note/memo/reference (NOT stock EIP-3009); EVM EIP-3009 lanes accept a stock signed authorization with an optional nonce weld. See params.lanes for each lane's CAIP-2 id and binding."
}
]
},
"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 every enabled mainnet lane: mined-tx lanes weld the challenge into the tx note/memo/reference; EVM EIP-3009 lanes accept stock signed authorizations). 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"
],
"examples": [],
"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 every enabled mainnet lane: mined-tx lanes weld the challenge into the tx note/memo/reference; EVM EIP-3009 lanes accept stock signed authorizations). 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"
],
"examples": [],
"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 every enabled mainnet lane: mined-tx lanes weld the challenge into the tx note/memo/reference; EVM EIP-3009 lanes accept stock signed authorizations). 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"
],
"examples": [],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "pay-url-screen",
"name": "Screen a URL for safety",
"description": "Tenant-free metered x402 service: no API key, payment is the auth (USDC on every enabled mainnet lane: mined-tx lanes weld the challenge into the tx note/memo/reference; EVM EIP-3009 lanes accept stock signed authorizations). Screen a URL before an agent fetches or acts on it (SSRF / private-network / cloud-metadata host / homograph / bad-TLD / TLS checks) and return the allow/escalate/block verdict plus a signed, offline-verifiable receipt attesting the screen. Pay-tier structural safety check; full compliance/sanctions screening is a tenant-grade service. 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"
],
"examples": [],
"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"
],
"examples": [],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
}
],
"conformance": true,
"conformance_errors": null,
"homepage": null,
"repository": null,
"license": null,
"pricing": null,
"contact": null,
"id": "3e2c47f7-903d-44c3-b506-7da0a39fe380"
}