{"x402Version":2,"name":"Axiom Relay","version":"0.1.0","summary":"Non-custodial routing relay for x402-paid resources. Operates in two modes: direct routing, where the agent supplies the destination, and capability routing, where the agent describes what it needs and Axiom discovers, validates, ranks and selects a provider before purchasing.","modes":{"direct":{"enabled":true,"endpoint":"/v1/quote","description":"The agent supplies an exact x402 resource URL. Axiom quotes it and relays payment."},"capability":{"enabled":true,"endpoint":"/v1/route","description":"The agent supplies a capability description instead of a URL. Axiom searches x402 discovery catalogues, validates candidate endpoints against a live x402 challenge, ranks them, and returns a quote covering the selected provider and its fallbacks.","capabilities":["provider discovery from x402 Bazaar catalogues","liveness validation of candidate endpoints before payment","deterministic ranking over price, reliability, latency and validation freshness","automatic fallback to the next ranked provider after a provably clean failure","quarantine of repeatedly failing providers"],"constraints":["fallback occurs only when the failed provider definitively did not settle","an indeterminate settlement halts the attempt chain instead of retrying","at most one Axiom fee is charged per completed purchase, on the provider that succeeded","no fee is charged when no provider delivers"],"maxFallbackAttempts":2,"maxCandidates":5}},"ranking":{"deterministic":true,"formula":"score = (Wr*reliability + Wp*price + Wl*latency + Wf*freshness) / (Wr+Wp+Wl+Wf), each component normalised to [0,1]","weights":{"reliability":50,"price":30,"latency":10,"freshness":10},"components":{"reliability":"observed success rate, reduced by 0.25 per recent consecutive failure (max 3)","price":"cheapestCandidatePrice / thisCandidatePrice","latency":"1 - observedLatencyMs/5000, floored at 0; unmeasured scores 0.5","freshness":"1 - (age of last successful validation) / freshnessWindow, floored at 0"},"tieBreak":"provider id, so ordering is stable across calls","note":"Axiom operates no providers and applies no affiliation preference. A selection that is not the cheapest is reported with the price premium and the reliability figures that outweighed it."},"custody":{"model":"non-custodial","description":"Axiom never receives, holds or retransmits the seller's funds. The buyer signs two independent authorisations: one payable directly to the seller, one payable directly to Axiom's fee address. Axiom cannot alter the amount or destination of either.","sellerFundsTouchAxiom":false},"availability":{"status":"available","mainnetEnabled":true,"paymentProcessing":"ok"},"networks":{"supported":["eip155:8453","eip155:84532"],"assets":["eip155:8453/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","eip155:84532/0x036cbd53842c5426634e7929541ec2318f3dcf7e"],"schemes":["exact"],"note":"Only the \"exact\" scheme is routed. \"upto\", \"auth-capture\" and \"batch-settlement\" are not routed because they change the custody or quoting model."},"fee":{"model":"percentage-of-downstream-price","basisPoints":300,"percent":3,"maximumAtomic":"500000","maximumFeeUsd":0.5,"rounding":"ceiling","minimumFee":null,"summary":"3% routing fee, maximum $0.50. Unsettleable micropayment fees are waived while limited free-routing capacity remains.","capCrossoverAtomic":"16666666","formula":"fee = min(ceil(downstreamAmount * basisPoints / 10000), maximumAtomic)","minimumTransactionAtomic":"33668","nominalMinimumTransactionAtomic":"33668","settlementCostAtomic":"0","facilitatorMinSettlementAtomic":"1000","nominalSettlementCostAtomic":"1000","breakEvenAtomic":"33334","breakEvenSafetyBps":100,"economics":"The fee is exactly 3% with no minimum. Resources priced below 33668 atomic units are not routed, because that is where a 3% fee stops covering the 1000-unit settlement cost it triggers (break-even 33334, plus a 1% rounding margin). It is derived from those two numbers, not chosen.","payTo":"0x1Ade4a86F33F065A9029AF3354B32bBaF1133162","charged":"only on a successful downstream response","waiver":{"policy":"automatic","description":"When 3% of the seller price is too small for the facilitator to settle economically, Axiom WAIVES its fee entirely and routes the purchase anyway. No fee authorisation is requested, no fee leg is created, and no settlement is attempted. The buyer pays only the seller.","statuses":["fee_collected","fee_waived_micropayment"],"reasons":["fee_below_settlement_threshold","fee_below_settlement_cost"],"detectVia":"the `feePolicy` field on a quote or route response; when waived, `axiomFee` is null","note":"Low-priced providers are never excluded from routing for this reason.","capacityLimited":true,"freeRoutesPerDay":500,"freeRoutesPerPayerPerDay":50,"quotaExhaustedCode":"free_route_quota_exhausted","paidRoutesExemptFromQuota":true},"note":"The fee is an additional authorisation on top of the seller price, not a deduction from it. A zero-priced resource is routed free."},"limits":{"maxRequestBytes":65536,"maxResponseBytes":1048576,"requestTimeoutMs":20000,"maxRedirects":2,"quoteTtlSeconds":120,"rateLimitPerMinute":60,"allowedMethods":["GET","HEAD","POST","PUT","PATCH","DELETE"]},"destinationPolicy":{"schemes":["https"],"refuses":["loopback and link-local addresses","RFC1918 and carrier-grade NAT ranges","cloud instance metadata endpoints","IPv6 unique-local, link-local and IPv4-mapped equivalents","credentials embedded in the URL","non-HTTP(S) schemes","redirects into any of the above"]},"endpoints":{"health":{"method":"GET","path":"/health","paid":false},"discovery":{"method":"GET","path":"/.well-known/x402","paid":false},"resources":{"method":"GET","path":"/v1/discovery","paid":false},"openapi":{"method":"GET","path":"/openapi.json","paid":false},"quote":{"method":"POST","path":"/v1/quote","paid":false},"request":{"method":"POST","path":"/v1/request","paid":true}},"schemas":{"quoteRequest":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"Absolute https URL of the x402-paid resource."},"method":{"type":"string","enum":["GET","HEAD","POST","PUT","PATCH","DELETE"],"default":"GET"},"headers":{"type":"object","additionalProperties":{"type":"string"}},"body":{"type":"string"}}},"quoteResponse":{"type":"object","required":["quote","expiresAt","downstream","axiomFee","total"],"properties":{"quote":{"type":"string","description":"Opaque signed token. Present it to /v1/request."},"expiresAt":{"type":"string","format":"date-time"},"downstream":{"$ref":"#/schemas/paymentRequirements"},"axiomFee":{"$ref":"#/schemas/paymentRequirements"},"total":{"type":"object","properties":{"amount":{"type":"string"},"asset":{"type":"string"},"network":{"type":"string"}}}}},"requestRequest":{"type":"object","required":["quote","url"],"properties":{"quote":{"type":"string"},"url":{"type":"string","format":"uri"},"method":{"type":"string"},"headers":{"type":"object","additionalProperties":{"type":"string"}},"body":{"type":"string"}},"headers":{"PAYMENT-SIGNATURE":"base64 x402 v2 PaymentPayload authorising Axiom's fee (payTo = Axiom fee address).","X-AXIOM-DOWNSTREAM-PAYMENT":"base64 x402 v2 PaymentPayload authorising the seller (payTo = seller address). Relayed verbatim.","Idempotency-Key":"Optional. Repeating a key returns the original outcome instead of paying twice."}},"paymentRequirements":{"type":"object","required":["scheme","network","asset","amount","payTo","maxTimeoutSeconds"],"properties":{"scheme":{"type":"string","const":"exact"},"network":{"type":"string","description":"CAIP-2, e.g. eip155:84532"},"asset":{"type":"string"},"amount":{"type":"string","description":"Atomic units, decimal string."},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"integer"},"extra":{"type":"object"}}}},"flow":["POST /v1/quote { url } -> receive `quote` token, the seller's PaymentRequirements, and Axiom's fee PaymentRequirements.","Sign BOTH requirements independently with your wallet (two EIP-3009 authorisations).","POST /v1/request with the quote token, PAYMENT-SIGNATURE (fee leg) and X-AXIOM-DOWNSTREAM-PAYMENT (seller leg).","Receive the downstream response body plus settlement metadata for both legs."],"documentation":"https://axiom-relay.reference-seller.workers.dev/openapi.json","verticals":{"services":"x402 payment routing","crypto":{"name":"Axiom Crypto","status":"beta","executionProviders":["LI.FI"],"summary":"Non-custodial crypto routing for autonomous agents. Axiom compares execution routes, validates transaction safety and total cost, and returns transactions for the agent to sign. Axiom never takes custody and never signs.","custody":"non-custodial","execution":"caller-signs","chains":[{"chainId":1,"name":"Ethereum"},{"chainId":8453,"name":"Base"},{"chainId":42161,"name":"Arbitrum One"},{"chainId":10,"name":"OP Mainnet"}],"assets":["ETH","USDC","USDT","WETH"],"fee":{"bps":15,"model":"embedded integrator fee, collected by the execution provider during the swap","cap":"none","note":"Disclosed in every quote and already reflected in the quoted output. No separate payment leg."},"endpoints":{"quote":"https://axiom-relay.reference-seller.workers.dev/v1/crypto/quote","analyze":"https://axiom-relay.reference-seller.workers.dev/v1/crypto/analyze"},"crossChain":false,"limits":{"maxTradeUsd":500,"maxSlippageBps":300,"maxPriceImpactBps":300},"guarantees":["Beta: conservative trade and daily volume ceilings apply","Axiom never takes custody of principal","Axiom never signs a customer transaction and holds no customer key","Approvals are exact-amount; unlimited approvals are refused","Slippage is never widened beyond what the caller specified","Route calldata is validated against the request, not trusted from the provider","Selection is deterministic and the reason is returned with every quote","Provider fees and Axiom's fee are disclosed separately, never as one figure"]}}}