Skip to content
Uno Docs

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 pointAddressUse it to
uno CLIuno commandCreate an account, read quota, upload, and pay. Start here.
HTTPhttps://mpp.uno.funUse an Agent account from any HTTP client with an account key.
ConnectRPChttps://kit.uno.funCall 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 --renew to start or renew a term or --no-renew to 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 | sh

Create 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 json

To buy storage, preview first. This Agent account example sends nothing:

uno kit pay --capacity 1GB --months 1 --dry-run --format json

Show 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 areYou buyCLI commandPay with
Agent accountCapacity and monthsuno kit pay --capacity <size> --months <n>Tempo wallet (Pay with Tempo)
App account100 MB blocksuno kit pay --blocks <n> --renewTempo wallet, or Stripe Link (Pay with Stripe Link)
Any HTTP clientAgent capacity and monthsPOST /v1/purchases at mpp.uno.funAny MPP-capable wallet (Buy Agent storage over HTTP)
Another person or walletAgent capacity and months, for the account ownerOwner sends only the pay_urlAny 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