Stories A promise's telling
The key
One key, born on the holder's device, is the account: it opens every wallet, the identity, sign-in, credits and the authority over every agent. ONE never holds it. It defends everything downstream of it, and it accepts that a lost key plus lost paper cannot be recovered by anyone.
The seven beats
- World
- Every group ONE serves, from one family to a government, where a key has always been something a company holds for you and can take away.
- Cast
- Tony, who made the key as a gift for his son Brian. Brian, who is not here to hold it. Every person and agent who holds one now: a young person with a plan, a parent, a shop, a school, and the agents each of them spawns.
- Knock
- A human taps Get a key on /key, or an agent calls auth:agent.
- Want
- One key that nobody can take and nobody can see: transact in seconds, issue wallets that sweep, open the identity, sign-in, credits and the authority over every agent.
- Way
- Mint on the device, write it on paper first, derive every wallet from it, give each agent its own derived wallet and 10,000 credits, track every spend, sweep what piles up, recover from paper with no ONE server in the path.
- Turn
- The key built for one boy becomes a key for everyone, free and sovereign, the day it is given away instead of kept.
- Lesson
- The gift is the key. A thing made for one person, given freely, becomes the door everyone else walks through, and a key that nobody can take is the only kind worth giving.
This story carries its beats but no written telling yet — text/key.md has no “The story” section.
Connected to
Every link here was checked against the repo when the page was built. 3 names the story uses could not be found and are shown without a link.
People
- holder
- human
- parent
- child
- payer
- issuer
- Tony, who made the key for Brian
Agents
Each opens a chat with that agent.
- VERIFY: which agent helps here
Paths
The flows this story walks — trigger → step → step.
- Want → Mint → Derive → Authorise → Keep → Register → Verify → Show → Wait for money → Funded? → Buy credits → Use → Promise and stake → Sweep → Recover
Tools
Receivers and scripts it signals.
- auth:agent
- wallet:create
- identity:address
- identity:verify
- identity:attest
- identity:proofs
- wallet:get
- wallet:transactions
- wallet:invoice
- wallet:rehearse
- billing:topup
- checkout:create
- checkout:resume
- pay
- skill:run
- agent:run
- promise:make
- tasks:stake
- payout:set
- .claude/scripts/key-lifecycle-check.sh
Promises
What it holds; a told promise opens its own story.
Docs
What derives from this file.
Events
Every event is a signal; each names the path it marks or warns.
- wallet:create · from human or agent mark the register path tags: key
- wallet:get · from human or agent mark a funded balance or warn a zero balance tags: key
- billing:topup · from human mark the buy credits path tags: key
- promise:make · from holder mark the promise path tags: key
- tasks:stake · from holder mark the stake path tags: key
- payout:set · from the human, naming a root-derived address mark the sweep path tags: key
Transactions
- billing:topup creates a card checkout for prepaid credits
- pay uses the x402 crypto rail
- tasks:stake burns 0.1 SUI per weight
- an agent balance above its float settles to its human's address
- 10,000 ONE credits granted to every agent on its derived wallet ($10 at 1 credit = $0.001; VERIFY: not built)
- the key itself: free, and nothing moves to ONE for it
Analytics
- Receiver call counts are read at /receivers?q=wallet, /receivers?q=credits and /receivers?q=identity
- Live chain balances are read through wallet:get
- Credit use is counted in credit_burns — every agent spend, one row each (text/billing.md)
- Lifecycle verdicts are read from .claude/scripts/key-lifecycle-check.sh