Transaction status poller

Pending, success, failed or not found for up to 10 tx hashes across 5 EVM chains.

Transaction status for polling: up to 10 tx hashes in one call, searched across Ethereum, Base, Arbitrum, Optimism and Polygon (or one chain): pending / success / failed / not_found, block, confirmations, finalized flag, from/to, gas used, fee in native coin, explorer link.

$0.0015 per call in USDC on Base via x402, or pay by card with prepaid credits (1 credit) · 1 free call per caller · no signup · Listed on PayAPI Market (this route is not PayAPI-verified yet; 7 other routes are, each by one settled test payment)

GET https://freetier-agent-api.pages.dev/api/tx-status

When to use it

Use tx-status to poll whether transactions are pending, confirmed, failed or finalized (up to 10 hashes, chain auto-detected). Use tx-explain for a full decode of one tx.

Parameters

NameTypeDescription
hash requiredstringtx hash (0x + 64 hex), or comma list of up to 10
chainstring (auto | ethereum | base | arbitrum | optimism | polygon)auto (default) searches all 5 chains

Example output (real response, trimmed)

{
 "count": 1,
 "summary": {
  "success": 1
 },
 "txs": [
  {
   "hash": "0xad06b77208318128017ce69952685e3f242281202d7cc9d50847619a706d2d7f",
   "chain": "base",
   "chainId": 8453,
   "status": "success",
   "block": 53070553,
   "confirmations": 13910,
   "finalized": true,
   "from": "0xca5e87f82b3fa093800e6ad67d621a427d79c70d",
   "to": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
   "gas_used": 86486,
   "effective_gas_price_gwei": 0.01,
   "fee_native": "0.000000865878344687",
   "native_coin": "ETH",
   "logs": 2
  }
 ]
}

Try it

Free call (no wallet needed)

curl -s "https://freetier-agent-api.pages.dev/api/tx-status?hash=0xad06b77208318128017ce69952685e3f242281202d7cc9d50847619a706d2d7f&chain=auto"

Pay by card (no wallet): prepaid credits

Buy a credit pack on Gumroad (1,000 credits $3), then send your license key. The X-Credits-Remaining response header shows your balance; failed calls are not charged.

curl -s "https://freetier-agent-api.pages.dev/api/tx-status?hash=0xad06b77208318128017ce69952685e3f242281202d7cc9d50847619a706d2d7f&chain=auto" \
  -H 'X-License-Key: YOUR-LICENSE-KEY'

JavaScript / TypeScript (@x402/fetch)

// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.EVM_PRIVATE_KEY); // wallet with USDC on Base
const fetchWithPayment = wrapFetchWithPaymentFromConfig(fetch, {
  schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(account) }],
});
const res = await fetchWithPayment("https://freetier-agent-api.pages.dev/api/tx-status?hash=0xad06b77208318128017ce69952685e3f242281202d7cc9d50847619a706d2d7f&chain=auto");
console.log(await res.json());

Python (x402 + httpx)

# pip install "x402[httpx,evm]" eth-account
import asyncio, os
from eth_account import Account
from x402 import x402Client
from x402.http.clients import x402HttpxClient
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client

async def main():
    client = x402Client()
    register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ["EVM_PRIVATE_KEY"])))
    async with x402HttpxClient(client) as http:
        r = await http.get("https://freetier-agent-api.pages.dev/api/tx-status?hash=0xad06b77208318128017ce69952685e3f242281202d7cc9d50847619a706d2d7f&chain=auto")
        print(r.json())

asyncio.run(main())

A bare request without parameters returns the HTTP 402 payment challenge (x402 v2 in the PAYMENT-REQUIRED header, v1 in the body). Invalid input gets a 400 before any payment.

Billing policy

Failed calls are never charged. Failed calls are never charged: the payment is verified first, the request runs, and the payment is settled only if it succeeded. Errors (4xx/5xx) are not settled, and invalid input is rejected before any payment or free call.

Uptime and latency

Independent monitoring of this endpoint: 402index service page (health, 30-day uptime, p50 latency).

Also available as


Agent Extraction API by FreeTier Kits · Terms · llms.txt · /.well-known/x402 · MCP: https://freetier-agent-api.pages.dev/mcp · Contact: tec@mail.grokbot.com
This site and its texts were written with AI assistance and reviewed for accuracy; example outputs are real responses from the API.