HakoDocs

Pricing and payments

Discover and inspect are free. Each run has a fixed price of $0.001, $0.005 or $0.01, paid in USDC on Base with your PayBox wallet over x402, and only a successful run is charged.

Prices

TierPrice per callAtomic unitsUsed for
local$0.0011000Keyless or local tools: Wikipedia, arXiv, package registries, time zones
standard$0.0055000Standard keyed tools: Google results, page reads, weather, text AI
premium$0.0110000Live search with page content, cited answers

Every tool shows its price in discover, inspect and the catalog as price: {usd, atomic, tier, network}. USDC has 6 decimals, so 1000 atomic units are $0.001. The list of tools per tier is in Tools.

discover, inspect, GET /v1/catalog, GET /v1/version and GET /v1/health are free and need no account.

Payment

SettingValue
Paid routePOST /v2/run/{provider}/{endpoint}
Protocolx402 v2, scheme exact
Networkeip155:8453 (Base mainnet)
AssetUSDC, 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
FacilitatorCoinbase CDP
Who paysYou, from your PayBox wallet (PayBox's use_service). Hako holds no key and pays for no one.

The handshake

PayBox's use_service sends POST /v2/run/{provider}/{endpoint} without a payment. The gateway answers 402 Payment Required; the PAYMENT-REQUIRED header (base64 JSON) carries the scheme, network, asset, exact amount and payTo.

PayBox asks for your approval when your grant requires it, signs the payment with your wallet and sends the same request again, with the tool's input as the body and a PAYMENT-SIGNATURE header.

The gateway verifies the payment and runs the tool.

If the run returns 200, the gateway settles the payment. The PAYMENT-RESPONSE header carries the settlement, including the Base transaction hash (view it on https://basescan.org/tx/<hash>). PayBox returns the tool's answer as the request's output.

When you are not charged

Settlement happens only after a 2xx answer. Any other status cancels it, so the signed authorization is never submitted:

OutcomeStatusCode
The lookup found nothing (found: false)404(an envelope, not an error)
The input does not match the tool's schema422invalid_input
The body is not JSON400invalid_json
The provider failed or answered something unreadable502provider_error, output_contract
The provider rate-limited Hako429provider_rate_limited
The tool did not finish in time504deadline_exceeded
The tool is not configured on this server503tool_unavailable
The gateway could not reach the tool backend502api_unreachable, gateway_error
The gateway has not loaded the tool catalog yet503catalog_unavailable

An id that is not in the catalog answers 404 unknown_endpoint before any payment is asked for. A request that carries an input is checked first: a bad input answers 400 or 422 for free, before any 402.

A result served from cache (cached: true) is a successful run and costs the tool's normal price.

Capping what you spend

Price each call before you pay: inspect and the 402 state the exact amount. Your limits live in PayBox, not in Hako: your PayBox grant decides whether each payment needs your approval, and PayBox's own limits apply to every request.

On this page