the kimchi experiment

Every wallet gets one position and one exit. The exit is paid from the coin's own fees, once, and then the wallet is retired for good.

VALUE
usd, read every second
OPEN POSITIONS
wallets still in
RETIRED
sol paid out
RESERVE
relapses

value over the last 24 hours. one line, closes every five minutes, live at the right edge.

Abstract

A coin's price is a consensus that can evaporate in a block. This document describes a rule attached to one coin that no price can break: every wallet is allowed exactly one position and exactly one exit. A wallet's first buy opens its position. Any further buys before it sells add to that same position. Its first sell closes the position, and the moment it closes, the coin's own fee reserve pays the wallet a retirement amount computed from one closed form expression. After that the wallet is retired. It can still buy, because nobody can stop a public key from sending a transaction, but a retired wallet's buys are recorded as relapses, open nothing, and are never paid again. We give the expression for the retirement amount, how the reserve fills, how the engine classifies every trade it sees, why the rule produces a market with a memory, and the invariants it never breaks.

The rule

Every wallet that ever touches the coin passes through at most four states, and the transitions only go one way.

STATEMEANINGHOW IT IS ENTERED
unenteredthe wallet has never boughtdefault
openthe wallet holds its one positionits first buy
retiredthe wallet has taken its one exitits first sell, which closes the position and triggers the payment
relapseda retired wallet has bought againany buy after retirement; the wallet stays retired and is additionally marked relapsed

There is no path back. A retired wallet is retired on every page of this site and in the program's own records for as long as the program exists. The state of a wallet is a public fact derived from its own transactions, so the question the site answers for every address is simple: have you taken your one trade yet.

The retirement amount

When a position closes, the reserve pays the wallet a retirement amount in SOL. The amount depends on three numbers: the reserve balance at the instant of the exit, the size of the position being closed, and the total size of every position still open at that instant, including the one being closed.

payment = R · min( s / S , c )
SYMBOLMEANINGVALUE
Rreserve balance at the instant of exitsol, read from the reserve account
ssize of the closing positiontoken units, the wallet's entry size
Stotal size of all open positions at that instanttoken units, includes s
cthe cap on any single payment0.10, one tenth of the reserve

Read it from the inside out. The closing wallet's share of everything still open is s over S. The reserve pays that share of itself, except that no single exit may take more than a tenth of the reserve, which is what the minimum with c does. A wallet that holds a tenth of all open size when it leaves is paid a tenth of the reserve. A wallet holding one percent is paid one percent. A whale holding half of everything is still paid a tenth, and the rest stays for the wallets that come after. The expression is evaluated on chain by the program at the moment of the closing sell, using the reserve balance and the open total it tracks itself, so no one chooses the number.

0.000.050.1000.250.50.751s / Spayment / Rcap1%5%10%

fig. 1 · The fraction of the reserve a closing wallet receives against its share of open size. Below a tenth the payment is the share itself; above it the payment is pinned at a tenth so one exit can never drain what the next exits are owed.

SHARE s/SPAYMENT / RWITH R = 100 SOL
0.0010.0010.100 sol
0.010.011.000 sol
0.020.022.000 sol
0.050.055.000 sol
0.100.1010.000 sol
0.250.1010.000 sol
0.500.1010.000 sol
1.000.1010.000 sol

The last four rows are the point. Once a position is a tenth or more of what is open, size stops buying a bigger payment. The experiment is not about who holds the most. It is about who takes the one exit, and when.

The reserve

The reserve is a single account owned by the program, derived from the program id with the seed reserve, with no private key. Its only inflow is the creator fee the coin's trading throws off, which the program claims and sweeps into the reserve whenever a claim is executed. Its only outflow is retirement payments. Nothing else can move SOL out of it. There is no admin withdraw, no upgrade path that adds one, and no schedule: the reserve does not do anything on a timer. It fills when the coin trades and it empties, a tenth at most at a time, when positions close.

R(after) = R(before) + fees claimed − payments made

Because every payment is at most a tenth of the balance at that instant, the reserve can be drawn down by a sequence of large exits but never to zero by any single one. Ten consecutive maximum exits leave about thirty five percent of what was there, and every trade in between is adding fees back. The reserve page shows every inflow and every payment with its signature.

Relapse

A public key cannot be stopped from buying a public coin. The experiment does not try. What it does is refuse to forget. A buy by a retired wallet is a relapse: the engine records it, counts it against the wallet, and the wallet's record on every page carries the word. A relapsed wallet opens no position, so a later sell by it closes nothing and is paid nothing. Its tokens are simply tokens. The relapse count on the home page is the number of times the rule has been tested by someone who already took their one trade.

What the engine records

The engine is the program plus the indexer that feeds it. Every swap on the coin's market is read and classified into exactly one of four words, and the classification is what the trades page shows in its last column.

EVENTCONDITIONWRITTEN AS
first buy by an unentered walletstatus was unenteredentry, status becomes open, entry size and cost recorded
buy by an open walletstatus is openadd, entry size and cost increase, entry price becomes the size weighted average
first sell by an open walletstatus is openexit, status becomes retired, exit price, value and multiple recorded, payment executed
any buy by a retired walletstatus is retired or relapsedrelapse, status becomes relapsed, relapse count increments
any sell by a retired or relapsed walletstatus is retired or relapsedsell recorded with classification exit only if it closed a position, otherwise it is shown as a plain sell with no classification word

The exit multiple is the wallet's exit value divided by its entry cost, both in US dollars at the prices Birdeye reports for those transactions. It is the number the exits page is built around: the distribution of what people actually walked away with.

multiple = exit value / entry cost

Why one trade

Markets with no memory reward the same hands over and over. A wallet can enter, exit, re enter, exit again, and each time it is treated as a stranger. The rule here gives the market a memory of exactly one bit per wallet: has it exited or not. That single bit changes what people do. An exit is no longer a reversible decision that can be undone with the next buy. It is the end of that wallet's participation, paid once from the reserve and then closed. The question every holder faces is not whether to sell, but whether this is the moment to retire. The site exists to show, in public and in numbers, what that question produces: how long positions stay open, at what multiples they close, how much the reserve has paid, and how many wallets could not stay away.

Invariants

The following statements hold for the life of the program and are checkable from the chain.

INVARIANTWHY IT HOLDS
a wallet's status never moves backwardthe state machine has no reverse transitions and the program rejects any instruction that would produce one
no single payment exceeds a tenth of the reservethe minimum with c = 0.10 is evaluated on chain against the live balance
the reserve has one inflow and one outflowthe account is a program derived address with no signer and the program exposes only claim and pay
every payment is tied to one exit signaturethe program writes the exit signature into the wallet record before it transfers
a relapse never opens a positionthe entry path checks status equals unentered
nothing fires on a clockevery instruction is triggered by a trade or a fee claim, never by time

Reading the numbers

Value is the coin's price in US dollars as Birdeye reports it, multiplied by the total supply. It is read once per second and redrawn in place. The trades page is every swap the market has seen, newest first, with its classification. The holders page is every wallet holding the coin, with its state. The exits page is every closed position with its multiple, sorted so the largest walk away is at the top. The reserve page is every inflow and every payment. The program page is the account layout and the instruction flow, drawn from the program's own structures. None of these pages take input. They are readouts.