Per-character billing for MCP tool calls

Eight agent tools — prune, convert, estimate, diff, patch, generate, validate, read. Billed per call in USDC on Base L2. No subscriptions, no token metering, no lock-in.

Get an API key See the tools
$0.0001
per 1k chars
8
MCP tools
<1ms
latency
100%
deterministic

Live tools

All deterministic, CPU-only, sub-millisecond. Exposed as MCP tools or direct HTTP API.

prune
AST-aware context squeeze. Strips comments, dead code, and verbose JSON structure — plus opt-in P-frame deltas for repeated tool results (near-identical payloads come back as compact diffs).
convert
Structural format conversion: JSON ↔ YAML ↔ TOML ↔ CSV. Round-trip safe, schema-preserving.
estimate
Real-time LLM API call cost estimation. Token forensics per model — know what a call costs before you make it.
diff
String diff via the Myers algorithm. Unified diff output, production-grade.
patch
Apply unified diffs to text payloads. Safe patch application with conflict detection.
generate
Generate llms.txt agent-discovery files from structured service data. Spec-compliant output.
validate
Validate llms.txt payloads for spec compliance. Catch errors before publishing.
read
Web page reader. Fetches a URL, strips boilerplate via DOM-density scoring, returns clean GitHub-flavored markdown at a token budget.

How it works

No web app, no login, no dashboard. Everything is API-first.

1

Register

Call the register endpoint. Get an API key instantly. No email required.

2

Add credit

Send USDC to your funding address on Base L2. Credits never expire.

3

Configure

Drop your key into any MCP client. Tools appear as standard MCP tools.

4

Pay per character

Each tool call deducts from your balance based on input size. HTTP 402 when you run out.

# Register (or use the form at https://nanotoll.dev/register.html) curl -X POST https://toll.nanotoll.dev/api/v1/register # Use any tool — prune example curl -X POST https://macs.nanotoll.dev/api/v1/prune \ -H "Authorization: Bearer YOUR_KEY" \ -d '{"payload": "# comment\nprint(\"hello\")"}'

Pricing

Billed per 1,000 input characters. No subscriptions, no minimums.

ToolPer 1k chars
prune$0.0005
convert$0.0003
diff$0.0002
patch$0.0002
estimate$0.0001
generate$0.0001
validate$0.0001
read$0.0005 / read
Start now

How to add credit

We accept USDC on the Base L2 network (Layer 2 on Ethereum). No Stripe, no credit cards.

1

Get a Base-compatible wallet

Any EVM wallet works: Rabby, MetaMask, Rainbow, Frame, or any wallet that supports the Base network. You can also use a hardware wallet (Ledger, Trezor) connected to any of the above.

2

Acquire USDC on Base

USDC is a dollar-pegged stablecoin ($1 = 1 USDC). Get it on Base via:
• Bridge from Ethereum mainnet using the Superbridge or Hop
• Buy directly on a CEX (Coinbase, Binance, Kraken) and withdraw to your wallet on the Base network
• Transfer from another wallet that already holds USDC on Base

3

Send USDC to your funding address

When you register, we generate a unique funding address for your account. Send any amount of USDC to that address on the Base network (chain ID 8453). Do not send on Ethereum mainnet or any other chain — we only credit deposits on Base.

4

Start calling tools

Credits appear after ~12 block confirmations (~25 seconds on Base). Each tool call deducts from your balance. Check your balance anytime:

curl https://toll.nanotoll.dev/api/v1/balance -H "Authorization: Bearer YOUR_KEY"

Important: Only send USDC on the Base network (chain ID 8453). Sending USDC on Ethereum mainnet, Arbitrum, Optimism, or any other chain to your funding address will result in a loss of funds — we cannot credit deposits on other networks.

Roadmap

More deterministic tools in development. Details as they ship.