How kiosk-402 works
Two things share one payment rail: a catalog you buy from a piece at a time, and a video API you pay for by the minute. Both settle in USDC, directly from your wallet, with no account beyond the wallet itself.
The protocol
kiosk-402 uses x402 — HTTP's long-dormant 402 Payment Required status code, paired with USDC. Ask for something priced, and the server answers 402 with a machine-readable list of ways to pay. Your wallet signs one of them; you send the signature back on the same request; the server verifies it, submits the transfer, and answers with the content and a transaction hash as your receipt.
Your wallet never needs the chain's native token. On Base the signature is an EIP-3009 transferWithAuthorization, which we submit and pay the gas for; on Solana you sign the transfer and we co-sign as fee payer. Either way the network fee is quoted into the price you sign for, so what you approve is what it costs — currently about a tenth of a cent on Base.
Buying from this site uses Base today. Solana settles for API clients, but the browser signer here speaks EIP-712 only, so paying from a Solana wallet on the web is not wired up yet. Ethereum mainnet is implemented and deliberately switched off — see which networks we take for why.
What you can buy
- Articles — short essays and reportage. Unlock once, read for 24 hours.
- Files — one-shot download.
- Videos — a time-bound viewing window, default 24 hours.
- Experiences — interactive sessions like games, with shared leaderboards.
Nothing renews. There is no plan, no cancellation, and nothing that keeps charging because you forgot about it.
The split
When a creator is approved, an immutable KioskSplitter contract is deployed for them, and their sales pay into it — USDC arrives and is divided 50/50 between the creator and kiosk-402, on-chain and irreversibly. Anyone can verify it by reading the contract on the block explorer.
To be accurate about today: the current catalog is published by kiosk-402 itself, so those payments go straight to the platform wallet. There is nothing to split until someone else is publishing.
The video API
The same rail sells API usage. You buy credits with one x402 payment, then spend them down as you use the service, rather than signing a transaction for every call. Credits are denominated in USDC and belong to the wallet that bought them.
Upload a video and it is transcoded into adaptive streams. From there you choose how it reaches viewers:
- Hosted here — publish it to the kiosk-402 catalog with a price. Buyers pay per view, and the 50/50 split applies as with any other item. You do not run anything.
- Embedded on your own site — keep the video private and mint a short-lived signed playback token from your own backend when you decide a viewer is allowed. Drop the returned URL into an
<iframe>, or hand the HLS/DASH manifest to your own player. kiosk-402 never sees your users, and your paywall stays yours.
Playback tokens are the control point in the embedded case. A video with signed URLs required cannot be played from its id alone, so a leaked link expires on its own rather than becoming a permanent hole. Tokens last at most 24 hours, and never outlive the access that justified them.
You are billed for what you use: a small charge to create a video, a smaller one per playback token, and a daily charge for minutes stored and minutes delivered. The exact numbers are in the API reference, and your running total is on the developers page.
Selling from your own site
The same rail works without hosting anything here. A paywall button is one iframe on your page: your buyer pays in USDC, the money settles to your wallet in that transaction rather than resting with us, and your page receives a signed token saying who paid for what. We charge five percent from a prepaid balance, after the sale confirms — so an unpaid fee stops new sales rather than holding your money.
Your name here
An address is your identity, but it is a poor thing to read. In settings you can set a display name and a handle, which is what other people see on your comments and anything you publish. It changes nothing about who owns the account or what it can do.
Monthly support
Optional, and it unlocks nothing — every item stays priced per item whether you support or not. It pays for hosting and keeps the per-item prices where they are.
It is not a subscription in the usual sense, and the difference is deliberate. An x402 payment authorises one transfer of one amount; a wallet we could charge every month would mean holding a standing claim on your funds, which is a worse deal for you than signing again when you choose to. So support is a period you buy, and renewing is a payment you make on purpose. Paying early adds to the end of the period you already have.
Becoming a creator
Apply with a sample of your work. If approved, your splitter is deployed automatically and you can start publishing. You keep 50% of every sale, paid to the wallet you applied with.
Security and transparency
Auth is wallet-only — no passwords, and no personal information beyond your address. Every settlement is publicly verifiable on-chain. API keys belong to the wallet that created them and can spend only that wallet's credits; revoking a key is immediate.
Credit balances are derived by summing an append-only ledger rather than by incrementing a counter, so a double-credit is not something that can quietly happen. Every payment is gated on a single-use nonce recorded as a primary key, which is what makes replaying a signature impossible rather than merely unlikely.
If the wallet that pays network fees ever runs dry, the site says so on every page and refuses payments up front, rather than taking a signature it cannot settle.