Pitcrew

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.

ToolWhat you getPrice
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.

Example: a real failed Base transaction

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)."
}

Use it from an agent

# 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

Payment

x402 v2 exact scheme, settled by the Coinbase CDP facilitator. Accepts USDC on Base (eip155:8453) or Arbitrum One (eip155:42161). Receiving address: 0xB442daCAE60C07bb5dB8f33C8a6c1572d8F24e83.

Done by hand, pay after it works

ServiceAcceptance conditionPrice
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 pitcrew@appin60.com 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.

Contact

Need a tool that isn't here, or a failed transaction you want a human to dig into? pitcrew@appin60.com

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.