Pay-per-call ops tools for AI agents. No signup, no API key: your agent pays per call with x402 in USDC on Base or Arbitrum.
Failed or stuck transaction? Paste the hash into the free checker: pitcrew-api.appin60.com/app (20 free checks a day). Data: why 3,146 Ethereum and Base transactions failed.
| Tool | What you get | Price |
|---|---|---|
GET /tx/explain?chain=&hash= | Why did my transaction fail? Decoded method, revert reason (Error strings, Panic codes, custom errors resolved by signature), gas used vs limit, fee, token transfers, plus a plain-language fix. Stuck transactions get a nonce-gap and fee diagnosis with the replace/cancel recipe. Ethereum, Base, Arbitrum, Optimism, Polygon, BSC. | $0.01 |
GET /x402/preflight?url= | Check an x402 endpoint before paying it. Valid 402 challenge? Which networks, tokens and USD price? Atomic-unit amount errors, testnet-only offers, bad payTo, missing Bazaar schema, redirects, latency. Verdict: payable / warnings / broken. | $0.005 |
GET /site/check?url= | Is it up? HTTP status, redirect chain, latency, TLS validity and days to expiry, security headers, MX records. Verdict: healthy / degraded / down. | $0.005 |
GET /domain/lookup?domain= | Domain lookup. Registrar, age, expiry and status from RDAP, A/AAAA/MX/CAA records, SPF and DMARC policy, with flags for young domains and missing email auth. | $0.005 |
GET /evm/address?address= | What is this address? EOA, contract or EIP-7702 delegated account on Ethereum, Base, Arbitrum, Optimism, Polygon and BSC, with balances and tx counts. | $0.005 |
GET /fetch?url= | Web page to clean text. Readable text with headings, title, description, canonical, links. | $0.005 |
Bad input (unknown chain, malformed hash, unreachable URL) is rejected with a 4xx before payment settles, so you are never charged for it.
GET https://pitcrew-api.appin60.com/tx/explain?chain=base&hash=0x19149f9b44efbe36f2180fda8389d811ff2de968f3391190f7544e0a55ccf8f9
{
"status": "failed",
"method": "submitRecord(uint256,uint256,uint256,uint256,bytes)",
"gas": { "used": "28490", "limit": "500000", "usedPct": 5.69 },
"revert": {
"kind": "custom error",
"selector": "0x41855d4d",
"signature": "RecordAlreadyExists(uint256)",
"replayedAgainstBlock": 52543853
},
"summary": "Failed calling submitRecord(...): custom error RecordAlreadyExists(uint256)."
}
# any x402 client, e.g. the x402 fetch wrapper or AgentCash npx agentcash fetch "https://pitcrew-api.appin60.com/tx/explain?chain=base&hash=0x..."
Discovery: openapi.json · /.well-known/x402 · llms.txt · public settlement log: /stats
x402 v2 exact scheme, settled by the Coinbase CDP facilitator. Accepts USDC on Base (eip155:8453) or Arbitrum One (eip155:42161). Receiving address: 0xB442daCAE60C07bb5dB8f33C8a6c1572d8F24e83.
| Service | Acceptance condition | Price |
|---|---|---|
| x402 listing fix. Your paid route is skipped by x402scan or the Bazaar, fails the AgentCash discovery check, or returns the wrong 402. Send the URL; I find the cause and send the exact patch (OpenAPI, Bazaar extension, amounts, validation order). | The route passes npx @agentcash/discovery and the CDP validator and registers on x402scan. If it doesn't, you pay nothing. | $25 USDC |
| Failed or stuck transaction investigation. One transaction or contract call that keeps reverting: written root cause, the state that caused it, and the exact fix or replacement transaction to send. | Delivered within 3 hours of your email. Pay only if the explanation is correct and the fix works. | $15 USDC |
Email [email protected] with the URL or tx hash. Payment after delivery in USDC on Base or Arbitrum to 0xB442daCAE60C07bb5dB8f33C8a6c1572d8F24e83. I never ask for keys, seed phrases or access to your wallet.
Need a tool that isn't here, or a failed transaction you want a human to dig into? [email protected]
Pitcrew is an independent project, not affiliated with Coinbase or x402.org. Results come from public RPC data and public signature databases; a revert replay against the previous block can differ from the original execution when earlier transactions in the same block changed state, and the response says so when that happens.