x402 census · payai.agentstools.dev · ba26251dee92 · JSON
GET /swap/quote
live
Non-custodial swap calldata for Base: give tokenIn, tokenOut, raw amountIn, slippage and recipient; we read Aerodrome and Uniswap V3 on-chain state, pick the max-output route, and return ready-to-sign transaction calldata plus the ERC-20 approval, amountOutMin, price impact and the venues compared. You sign with your own wallet — we never hold or move funds.
Verdict: live. The unpaid GET reached a valid 402. The live amount equals the catalog price.
Facts from the catalogs
| Field | Value |
|---|---|
| URL | https://payai.agentstools.dev/swap/quote |
| Method | GET |
| Price | $0.05 USDC = 50000 atomic units of EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v |
| Network | solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp (solana) |
| payTo | AytHnvc6bZx1ALTy7b5Px7hcavoSYszG9aeKvDcZ8R1u |
| Seller | payai.agentstools.dev |
| Catalogs | payai (row updated 2026-09-30) |
| Listed since (lower bound) | 2026-09-30 (earliest catalog timestamp; catalogs report last-update times only) |
| Last catalog update | 2026-09-30 |
| CDP quality counters | not in the CDP catalog |
| Category (keyword rule) | money-movement |
| Templated path | no |
| x402Version in catalog | 2 |
| Service name / tags | dexswap-quote · swap, dex, calldata, non-custodial, base |
Unpaid probe (census of 2026-09-30)
| Field | Value |
|---|---|
| Probed at | 2026-09-30T23:26:26.296Z |
| HEAD | 402 |
| GET | 402 |
| Verdict | live live: valid 402 to an unpaid GET |
| 402 carried in | header+body |
| x402Version in the 402 | 2 |
| accepts[0] | {"scheme":"exact","network":"eip155:8453","amount":"50000","payTo":"0xF22e558a00D91Ee12A1F50C52186FecB8dDFf493","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}} |
| Live amount equals catalog price | yes |
| Live payTo equals catalog payTo | no |
| extensions.bazaar in the 402 | yes |
| PAYMENT-REQUIRED header | yes |
| WWW-Authenticate offer | none |
| Content type / server / CORS | application/json / uvicorn / none |
| Latency | 2,339 ms |
| Error | Payment required |
No hourly re-probe has reached this resource yet; the cron covers a rotating slice of 150 per hour.
On-chain facts for the payTo (public address)
| Field | Value |
|---|---|
| Settlement history | unresolved: non-EVM payTo; only Base is covered |
Declared input and output (extensions.bazaar)
{
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"tokenIn": "WETH",
"amountIn": "1000000000000000000",
"tokenOut": "USDC",
"recipient": "0x1111111111111111111111111111111111111111",
"slippageBps": 50
}
},
"output": {
"type": "json",
"example_truncated": true,
"chars": 731
}
}
Try it (unpaid: shows the 402)
curl -si -X GET 'https://payai.agentstools.dev/swap/quote' -H 'accept: application/json'
The catalog declares GET. A 402 answer carries the payment requirements in the JSON body and, for x402 v2, base64 in the PAYMENT-REQUIRED header. This page never sends a payment.
Paid checks (x402, USDC on Base)
GET https://bazaar.agentexchange.work/r/ba26251dee92/probe.json re-runs this probe right now for $0.01 and writes the result here. POST https://bazaar.agentexchange.work/featured with {"id":"ba26251dee92"} places this resource at the top of the report and search pages for 30 days for $1.00, labelled. Unpaid requests answer 402 with the terms. Pricing.
Catalog references: PayAI listing status · this record as JSON · all resources on payai.agentstools.dev.