Review the warnings
Some findings need a closer look. Review the details below.
- Evidence coverage
- 5 of 8 checks complete
- Risk flags / warnings
- 0 / 1
- Reported holders
- 10,514,949
Coverage shows how much evidence was available, not a safety score.
Onchain data for people & AI agents
Discover tokens, review the evidence and explore onchain activity. Use the tools in your browser, or connect your AI agent.
Start without a wallet. Pay only when you choose a priced request.
Built on Base USDC paymentsNo account required
Follow a new token, look into one you know, or build with the API. You see the price before any paid request.
Explore selected pools. Save a candidate to your research and decide what to inspect next.
Open discovery ↗Eight risk checks, their sources and the evidence still missing. A report you can read and revisit.
Open token inspector ↗Access 21 data endpoints through HTTP or MCP. Start with free quotes and set your payment budget.
Explore the API ↗A closer look
Each inspection brings the checks, sources and observation times together. Missing data stays visible, so you can see where a report ends and further research begins.
0.003 USDC per inspection on Base. The recorded example is free.
Explore the full recorded reportSome findings need a closer look. Review the details below.
Coverage shows how much evidence was available, not a safety score.
Already have a token in mind? Go straight to inspection. Discovery helps when you want to find a starting point.
Browse selected Base pools with liquidity and observation dates. A listing is a starting point for research, not a safety assessment.
Explore discoveryCheck a token’s trading restrictions, taxes, permissions and more. Missing data and risk warnings remain visible in the report.
Open token inspectorKeep dated reports in this browser and compare observations later. Saving is free; each new inspection is a separate purchase.
Open my researchDiscovery and inspection are separate purchases. Automated checks can miss risks; a completed check does not guarantee safety.
Pay for each request in USDC on Base. No subscription or account. Your wallet approval is required for a paid browser request.
| Use | Per request | What you get |
|---|---|---|
| Recorded example | Free | A dated report to explore before buying. |
| Token inspection | 0.003 USDC | Eight checks, sources, warnings and evidence gaps. |
| Token discovery | 0.003 USDC | Selected Base pools. Inspections purchased separately. |
| Saved research | Free | Save and compare reports you already have in this browser. |
Price previews are free. Reports may use cached data and keep their original observation time. Nothing runs or charges automatically in your browser.
See prices for all 21 API endpointsUse HTTP or MCP to request onchain data. Start with a free price quote; enable payments only when you are ready. This demo quotes fresh-pool data, a separate API product.
GET /api/base/fresh
Fresh-pool API · 0.004 USDC per request
Checking this quote is free. A paid request needs a browser wallet with at least 0.004 USDC on Base and your approval.
Watch a full run that was already paid for → A pool eight seconds old, a verdict on its token, and both settlement transactions linked so you can check them.
# free — status, catalog, and a sample of every shape curl https://agenttoll.app/api/health curl https://agenttoll.app/api/catalog curl https://agenttoll.app/api/demo # a paid endpoint, unpaid: you get the quote curl -i https://agenttoll.app/api/base/fresh HTTP/1.1 402 Payment Required PAYMENT-REQUIRED: <base64> price $0.004 USDC network eip155:8453 (Base) + the request and response schema, so no second fetch is needed
// In the cloned repository: npm install && npm run build import { createPaymentClient } from "./dist/payment-policy.js"; const client = createPaymentClient("base", undefined, { totalBudgetUsdc: "0" }); console.log(await client.getPaymentQuote( "/api/base/fresh")); // Validates price, network, asset and recipient. // No wallet and no payment. Use the MCP setup below // when you want to enable bounded paid calls.
Base onchain data first — gas, any token by contract address, wallet portfolios, address analytics, DEX pools and a spam-filtered new-token radar — plus market and Turkish-lira feeds.
| Endpoint | What you get | USDC per call |
|---|---|---|
GET /api/base/safety/:address | Token safety checks: honeypot simulation, taxes, owner privileges, holder concentration, liquidity risk, deployer history | $0.003 |
GET /api/base/scout | Radar + safety in one call: today's new pools, each with a verdict already attached | $0.008 |
GET /api/base/fresh | Recent pool-creation events observed on Base; token attribution may be unavailable | $0.004 |
GET /api/base/radar/history | A past day's snapshot, exactly as committed to public git the day it was taken | $0.002 |
GET /api/base/scorecard | The radar's track record: verdicts then vs prices now, per cohort | $0.005 |
GET /api/base/portfolio/:address | Observed Base holdings valued in USD, largest first, with coverage limits | $0.003 |
GET /api/base/radar | New-token radar: fresh Base pools that already have real liquidity | $0.003 |
GET /api/base/trending | Trending DEX pools on Base: price, volume, liquidity | $0.002 |
GET /api/base/token/:address | Onchain USD price for any Base token by contract address | $0.001 |
GET /api/base/name/:nameOrAddress | Basename both ways: name → address + records, or address → primary name | $0.001 |
GET /api/base/address/:address | Base address snapshot: basename, ETH balance, tx count, contract or EOA | $0.001 |
GET /api/gas | Base network gas price and latest block | $0.001 |
GET /api/brief | One-call market brief: BTC/ETH/SOL, Base gas, sentiment | $0.005 |
GET /api/price/:symbol | Spot price (USD) + 24h change for any asset | $0.001 |
GET /api/trending | Tokens trending across the market right now | $0.002 |
GET /api/feargreed | Crypto Fear & Greed index with yesterday comparison | $0.001 |
GET /api/try/premium | Turkish lira premium: implied vs official USD/TRY | $0.002 |
GET /api/try/spread | Turkish exchange spread: BTCTurk and Paribu TRY quotes vs the global price | $0.002 |
GET /api/watch/address/:address | New activity for a Base address since your cursor | $0.002 |
GET /api/watch/radar | Only the pools that appeared since your cursor | $0.003 |
GET /api/watch/price/:symbol | Price alert check against your reference and threshold | $0.001 |
GET /api/catalog | Machine-readable catalog of everything for sale | free |
GET /api/demo | Sample response shapes for every paid endpoint | free |
GET /api/stats | Qualifying small USDC transfers, with known operator activity reported separately | free |
GET /api/health | Service status | free |
GET /api/ready | Payment provider and Base RPC readiness | free |
Selected responses are cached; lifetimes vary by source. Handler failures before settlement are not billed. If a signed request times out or its response is lost, inspect the receipt and wallet before retrying: settlement may already have happened.
A snapshot is useful once. Agents that run on a schedule want the diff.
Address and radar watches return a cursor; send it back as
?since=. Drain address pages while hasMore is true and
deduplicate transaction hashes. Radar coverage is partial; the price watch
checks a threshold and has no cursor.
# inspect the quote — no wallet or payment curl -i "https://agenttoll.app/api/watch/radar" HTTP/1.1 402 Payment Required # after payment via the bounded client or MCP tool, # pass the returned cursor unchanged to the next call: # /api/watch/radar?since=<returned-cursor> # Each paid poll costs $0.003, including an empty result. # Results cover the current ranked listing, not every pool.
Your agent calls an endpoint. The server replies 402 Payment Required
with a machine-readable price quote.
The agent signs a USDC authorization for the quoted amount — no gas on the client, no account, no API key.
The request retries with the payment header. Settlement lands on Base and the data comes back in the same round trip.
AgentToll ships an MCP server. Add it to Claude Desktop or Claude Code and use 21 data tools plus two free quote and budget tools. Start without a wallet; add a dedicated wallet and a finite session budget when you want to pay.
{
"mcpServers": {
"agenttoll": {
"command": "npx",
"args": ["-y", "agenttoll-mcp@0.14.0"]
}
}
}
Use agenttoll-mcp@0.14.0 or newer. If you installed 0.13.0 or
earlier, update your MCP configuration and restart it to receive the free
tools and payment budget controls.
get_price, get_base_gas, get_trending,
get_base_token_price, get_base_address_info,
get_fear_greed, get_base_trending_pools,
get_market_brief, get_new_token_radar,
get_try_premium, get_try_spread, get_base_portfolio,
check_token_safety, get_fresh_pools, scout_new_tokens,
get_radar_scorecard, get_radar_history, resolve_basename,
watch_base_address, watch_new_tokens,
watch_price_alert, get_payment_quote and
get_payment_budget.
To enable payments, set AGENT_PRIVATE_KEY and
AGENTTOLL_BUDGET_USDC. The budget applies to one running MCP instance;
a restart does not cancel previously signed authorizations.
Onchain transfer statistics are available through /api/stats.
/api/stats counts qualifying small USDC transfers to our address on Base,
and excludes known operator wallets from the external count. Transfers can include
tests and unsolicited payments; they do not establish API sales or unique customers.
No account or API key is needed. Saved research stays in this browser; clearing its storage removes that local history. The watch API returns a cursor for your agent to keep.
Settlement starts after the data handler succeeds. A connection loss or timeout after signing can leave the payment outcome unknown; check your receipt and wallet before retrying.
Responses name the sources used. Some evidence can be missing, delayed or inconsistent across providers. Inspect the coverage and observation dates alongside any finding.
The whole tollbooth is on GitHub. Fork it and run your own — the payment rail is the interesting part, and it's yours too.