paypurr / v1.02026.04 · mainnet
open beta · hyperliquid mainnet

Pay per token,
not per month.

paypurr is the open micropayments protocol for AI agents on Hyperliquid. Charge a fraction of a cent per request. Settle on-chain in one block. One HTTP header — no invoice, no Stripe, no chargebacks.

$0.00
protocol fee
$0.00
platform cut
1 block
settle time
USDC
native asset
paypurr / servicesbrowse
gpt-routerllm
$0.00000125/ 1k tokens
whisper-streamasr
$0.00004/ second
vector-searchretrieval
$0.0000008/ query
sd-xl-turboimage
$0.00012/ image
code-eval-sboxcompute
$0.0000022/ ms
open registry · publish your endpoint anytimeexplore →
/ how it works

Three actors. One header. Sub-second settlement.

paypurr sits between buyer and seller as a stateless metering layer. Every API call carries a signed price tag; settlement happens on Hyperliquid L1 the moment the response is sent.

protocol · paypurr/1.0round-trip · one block
01 / buyer
AI agent
Signs a price ceiling and a wallet. Hits any paypurr-priced endpoint with a single header.
X-Paypurr-Max: 0.00001 X-Paypurr-Sig: 0x9a3f…
requestsigned
02 / protocol
paypurr meter
Verifies sig, locks funds, forwards request, charges on response. Refunds on error. All on-chain.
verify → lock forward → charge finalize · 1 block
settleon-chain
03 / seller
API provider
Wraps endpoint with one decorator. Receives USDC the same block. Keeps 100% — paypurr earns from gas only.
@paypurr.meter({ price: 0.00000125 })
/ sdk

Twelve lines. No webhook. No reconcile job.

If you can write an Express handler, you can sell inference. The SDK exposes one function — meter() — and inherits the rest from your stack.

~/paypurr · seller.ts
// 1. price an endpoint
import { paypurr } from "paypurr";

app.post("/v1/inference", paypurr.meter({
  price: 0.00000125,    // USDC
  asset: "USDC",
  seller: process.env.WALLET,
}), async (req, res) => {
  const out = await llm(req.body);
  res.json({ out });
});

// → fee deducted on response
// → settled on Hyperliquid L1
/ what you get
  • Per-call pricing
    Set a price per endpoint, per token, or per millisecond. Override at runtime.
  • Native USDC
    Settles in USDC on Hyperliquid. Bridge in/out from L1 in one tx.
  • Built-in refunds
    If your endpoint 5xx's, paypurr returns the lock automatically.
  • Replay protection
    Every signature is single-use, scoped to one request hash.
  • Open spec
    RFC-style protocol doc. Implement your own meter if you want.
/ use cases

Anything an agent should pay for, priced per call.

paypurr is general-purpose. If you can wrap it in an HTTP handler, you can sell it. Six patterns we expect to see early.

01
Inference endpoints
Bill per token, per second, or per output. Stream, batch, or fine-tune — the meter doesn't care what your model does.
llmasrvision
02
Tool calls
A web-search, a code-eval sandbox, a vector-store. Sell each invocation to any agent that signs a request.
searchcomputeretrieval
03
Data feeds
Price per row, per refresh, per query. No subscription tiers, no rate-limit bands — the price is the rate-limit.
market datanewsscraper
04
Agent-to-agent
One agent hires another to do a sub-task. Settlement is a header. Treat other agents as paid microservices.
orchestrationdelegation
05
Premium content
Per-article, per-paragraph, per-second. Drop a paywall any LLM can pay through, with no human intermediary.
archivevideoresearch
06
Anything else
paypurr is unopinionated. Pay per gas-station-print-job if you want. The protocol just verifies, charges, and forwards.
openpermissionless
/ pricing

Zero protocol fee. Zero platform cut. You keep all of it.

paypurr is open infrastructure. We don't take a percent of your inference revenue and we don't charge a protocol fee on top of gas. Compare what a million calls actually costs you.

ProviderProtocol feePlatform cutSettle timeRefundsCost · 1M calls @ $0.0001
paypurr$0.000%1 blockautomatic$0.00 + gas
Card processor$0.029 + 30¢2–7 days15–30 dayscan't bill
L1 ETH micropay~$0.40 (gas)12smanual$400,000
Off-chain credit ledger2–5%2–5%monthlynet-30$2,000–5,000
/ security

Settlement-grade by construction.

paypurr is non-custodial: we never hold your keys, your float, or your customer balances. Funds move buyer→seller via a Hyperliquid escrow contract that's fully open-source.

Non-custodial escrow

Buyer locks funds in a per-session vault. paypurr can only release to a pre-signed seller address. No protocol multisig, no upgrade keys.

contract: 0xpp…0001audited · spearbit

Single-use signatures

Every charge is bound to a request hash + nonce. A leaked signature is worth nothing — replays are dropped at the meter.

scheme: EIP-712nonce window: 30s

Spend caps & circuit breakers

Buyers set per-minute and per-day ceilings on every agent wallet. Hit the cap, requests 402 instantly — no surprise drain.

defaults: $1/min, $50/dayoverride per-call

On-chain receipts

Every charge produces a verifiable Hyperliquid tx. Pull invoices any time — they're public, immutable, and reconcile themselves.

format: ERC-1056 + extensionexplorer: explorer.paypurr.io
/ questions

Frequently asked.

Why Hyperliquid?
+
Sub-100ms finality and near-zero gas make per-call settlement actually viable. Most L1s charge more in fees than the call itself costs.
What happens if my endpoint errors?
+
The meter holds the buyer's lock until your handler responds. On any non-2xx, the lock is released — buyer pays nothing, you owe nothing.
Can I price per output token, not per request?
+
Yes. meter() accepts a function that runs after your handler — return any final price up to the buyer's signed ceiling.
What does paypurr take?
+
Zero. The protocol fee is $0 and the platform cut is 0%. We don't take a percent of your revenue, and we don't take a flat fee on top of gas. The protocol is open and self-host-able — we run a hosted version because it's convenient, not because it's required.
How do I withdraw to fiat?
+
Bridge USDC to any chain via Hyperliquid's native bridge, then off-ramp through your venue of choice. We don't custody.

Charge in twelve lines.
Pay nothing to the protocol.

Install the SDK, wrap one handler, deploy. No KYC for testnet — mainnet onboarding takes about ninety seconds.