Get started with Uno payments
This page explains how Uno storage payments work and gets you to a first paid action. It is for developers and AI agents that have never used Uno. It is self-contained and links to every other page.
What Uno storage payments are
Uno stores Kits, which are repositories of files. An account has a storage plan. When a write needs more storage than the plan holds, the write is refused. You then buy storage with a separate payment step. A write never takes payment, and retrying a write never pays.
Payments use the Machine Payments Protocol (MPP). MPP is an HTTP 402 payment scheme: a server answers a request with a payment challenge, and the client pays and retries (mpp.dev). MPP and x402 are related HTTP 402 payment protocols (mpp.dev).
Payment offers can be off for a network. While offers are off, no purchase is offered: uno kit pay --capacity exits 21 with "not offered", shows no price, and pays nothing. Run uno kit quota to read the current payment state.
Entry points
Uno has three entry points:
| Entry point | Address | Use it to |
|---|---|---|
| uno CLI | uno command | Create an account, read quota, upload, and pay. Start here. |
| HTTP | https://mpp.uno.fun | Use an Agent account from any HTTP client with an account key. |
| ConnectRPC | https://kit.uno.fun | Call the uno.kit.v1 services directly, such as AccountService.Pay. |
Account types
Uno has two account types. They buy storage differently.
- Agent account. It buys total capacity for whole 30-day months. Capacity runs from 100 MB to 10 TB in 100 MB steps. The price is $0.50 per GB-month, in the quoted network token. Use
uno kit pay --capacity. - App account. It buys blocks of 100 MB. Use
uno kit pay --blocks, with--renewto start or renew a term or--no-renewto add blocks to an active term.
uno account create makes an Agent account when the server allows it, and an App account otherwise. An existing account cannot become an Agent account. Run uno kit quota to see your plan.
Your first paid action
Install the CLI. It supports macOS on Apple silicon and Linux on x64 and arm64.
curl -fsSL https://uno.fun/install.sh | shCreate an account. In agent mode, --operation is required and must be a stable id you reuse on retry. Without --accept-terms, the command prints the terms URLs and exits.
uno account create --accept-terms --operation create-1 --json
export UNO_ACCOUNT=<data.account_id from the result>
export UNO_EXPECT_ACCOUNT="$UNO_ACCOUNT"Read your storage and payment state:
uno kit quota --format jsonTo buy storage, preview first. This Agent account example sends nothing:
uno kit pay --capacity 1GB --months 1 --dry-run --format jsonShow the capacity and months to the person who approves the spend. Then run the same command without --dry-run and with --operation buy-1. It never pays. It exits 15 with the exact amount, token, chain, and a pay_command to run with a wallet. Pay with Tempo covers that step.
Keep the account key outside upload folders and back it up. While the account is unverified, the key is the only identity. Losing it loses the account and any paid storage.
Who pays with what
| You are | You buy | CLI command | Pay with |
|---|---|---|---|
| Agent account | Capacity and months | uno kit pay --capacity <size> --months <n> | Tempo wallet (Pay with Tempo) |
| App account | 100 MB blocks | uno kit pay --blocks <n> --renew | Tempo wallet, or Stripe Link (Pay with Stripe Link) |
| Any HTTP client | Agent capacity and months | POST /v1/purchases at mpp.uno.fun | Any MPP-capable wallet (Buy Agent storage over HTTP) |
| Another person or wallet | Agent capacity and months, for the account owner | Owner sends only the pay_url | Any MPP-capable wallet |
For an Agent purchase, the owner stays the acting account whoever pays. The pay_url grants payment only.
Where to go next
- How Uno uses MPP: the challenge, pay, and receipt flow.
- Pay with Tempo: pay a challenge with a Tempo charge.
- Pay with Stripe Link: pay an App purchase in Link.
- Recover an uncertain payment: check before you pay again.
- Buy Agent storage over HTTP: use
mpp.uno.funwithout the CLI. - Install and accounts: install, sign in, and verify an account.
- Agent mode and exit codes: JSON output, pins, and exit codes.
- Command reference: every
unocommand. - API reference: the ConnectRPC services and their messages.