Context compression for LLM agents, billed per call.
One endpoint, POST /v1/compress. Three squeeze modes on one ladder: deterministic, extractive, verified. Every call returns the compressed output plus a signed receipt that states exactly what the transform did: the input and output hashes, the realized compression ratio, and - in verified mode - a measured fidelity score from an entailment check over every part of the input.
No subscriptions, no token metering, no lock-in. You prepay USDC on Base, each call deducts its cost; the price is fixed per mode, and the receipt states which mode ran.
The ladder
deterministic- structural squeeze only: comment stripping, AST pruning, JSON reform. Deletion-only, with one disclosed exception: the tabular-JSON reform rewrites rather than deletes, and the receipt's subsequence flag tells you which happened.extractive- adds a token-level pruner. Output is still a subset: every output word is an in-order substring of an input word.verified- adds an NLI receipt: a measured evidence-retention score for the call, disclosed in the receipt, not a quality promise.
target_ratio is a hint, not a guarantee. The receipt discloses the ratio actually realized and the fidelity actually measured. Treat it as a target, not a floor: on large inputs the realized ratio can land slightly below the requested value. The verified rung's fidelity gate can return a fatter result than the extractive rung for the same hint: when the first attempt fails the gate, it retries with less compression, and the receipt reports the pre-retry ratio and the number of retries.
What it is not
Source code, config files, diffs, and legal/contract text are a poor use case for the ladder. They are constraint-dense with near-zero redundancy; measured loss is material at every safe target. The receipt will tell you this per call - see What not to compress.
Pricing
Billed per call, prepaid USDC on Base. Each call has a flat price set by mode: deterministic is free, extractive $0.0008, verified $0.0015. GET /v1/limits always serves the live values, including the deposit minimum and the free-trial grant. Your current balance and deposit history are one GET away. See billing and latency.
Credit packs
Two one-time packs, no subscription and no recurring charge:
- $5 pack - roughly 3,300
verifiedcalls or 6,200extractivecalls at the current prices. - $20 pack - roughly 13,300
verifiedcalls or 25,000extractivecalls.
Call counts are arithmetic on the listed prices, not a promise: /v1/limits serves the live per-mode prices, and the receipt of each call states what that call cost. Credits are spent per call, in order, and there is nothing to install - the pack credits the same balance your API key draws down, and a key is issued with your first purchase.
Card payment is available on request - write to admin@nanotoll.dev and we will enable it. Until then, credits are bought with USDC on Base as described under billing. Refunds are covered by the refund policy.
Every call signs for itself
Each receipt carries an Ed25519 signature with a published public key and a DNS-published fingerprint, so a receipt can be verified years later without trusting us. See receipt verification.