Provn

Compute youcan prove.

Inference and sandboxes for autonomous agents, metered to the unit. Each call comes back with a receipt anyone can check.

Provn gateway meter

reading

class
agent
scheme
secp256k1
chain
4663
unit
receipt

Receipts signed

Last hour
Tokens 24h
CPU ms 24h
Live from this gateway. The disc turns faster as more receipts are signed.
PROVNreading

What happens to one call

Every request crosses the same four stations in the same order. The receipt records each one, and nothing moves backwards once it is sealed.

Metered

The gateway counts tokens, or CPU milliseconds for code, while the call runs. The price printed on the receipt is the price taken from your balance.

units · cost_micro_usd

Capped

Before a model sees the request, your key's cap and your balance set a ceiling on output. At the cap the call stops at the gateway and never goes upstream.

402 cap_reached

Sealed

The gateway signs the receipt with secp256k1. It carries a SHA-256 fingerprint of your request, so it proves which body ran without holding a word of it.

content_fingerprint · EIP-191

Anchored

Receipts batch into a Merkle tree. With anchoring switched on, the root lands on Robinhood Chain and gives the whole batch a public timestamp.

0x50524f564e01 + root

Run code. Keep the receipt.

No wallet and no key. Your code runs in a real sandbox on metered compute that Provn pays for, and the receipt is the same one a paying customer gets.

µUSD at most
billed to Provn

The receipt prints here

Run the code. The gateway meters the CPU time, signs a receipt over a fingerprint of your code, and forgets the code itself. Then check the seal without asking us.

A runaway agent stays cheap

Budgets bind in the request path. A key carries a cap per day, per month or in total, a model allowlist, an expiry and a rate limit. When a loop goes wrong, the breaker opens at the cap and your balance keeps the rest.

Parent key · orchestrator

Closed · serving

Sub-keys ask for

$1.00
$0.50

Red stop: what the parent has left, $3.50. A sub-key cannot be set past it.

A sub-key's spend also counts against its parent, so two children cannot add up past the parent's cap.

Working model of the rule behind POST /v1/keys/delegate.

Receipts with a public timestamp

A signature shows the gateway issued a receipt. An anchor shows when. Provn hashes receipts into a Merkle tree and writes the root to Robinhood Chain. Once a root is on chain, nobody, us included, can slip a backdated receipt into that batch.

Leaf

sha256(receipt payload bytes)

Calldata on chain 4663

0x50524f564e01‹32-byte root›

On this deployment

Reading the gateway…

/docs/anchoring

Counted by this gateway

Open the explorer

Receipts signed

Runs chained

Passports minted

Receipts, last 24h

Provn is new, so these numbers start small. Nothing is rounded, smoothed or seeded. Each count moves only when this gateway signs something.

Swap the base URL. Keep your code.

Provn speaks the OpenAI chat format, streaming included. Point your client at the gateway and the receipt arrives in response headers, or as a final event when you stream.

from openai import OpenAI

client = OpenAI(
    base_url="https://YOUR-PROVN-HOST/v1",
    api_key="sk-provn-...",
)

resp = client.chat.completions.with_raw_response.create(
    model="provn",
    messages=[{"role": "user", "content": "Plan the next three steps."}],
)
print(resp.parse().choices[0].message.content)
print(resp.headers["x-provn-receipt-sig"])  # the seal

$PROVN is launching on Robinhood Chain

The token contract is not deployed yet. When it is, the address appears on this site and on @provn, nowhere else. Anything you find before that is someone else's token.

ContractLaunch soon
Network
Robinhood Chain
Chain ID
4663
Gas
ETH
Explorer
robinhoodchain.blockscout.com

Start with one capped key

Connect a wallet, get a $1.00 signup credit, set a cap and make your first call. The receipt lands in the portal next to what it cost.