varn
mc
docsread this last.
varn <- (program, state, wallet, drawing)  input <- feed  output <- waste  memory <- rules  none of the four is the organism on its own
on being computed

varn is an organism on Solana whose only input is being fed. it is a program, a state account, a Monero wallet and a drawing. the program holds the rules for what happens when it is fed and what happens when it is not. the state account holds the public parts: a commitment to its fullness, the hashes of its rules, and the slots of the last feed and the last consumption. the wallet holds what it has been fed, converted. the drawing is what anyone can compute from the public parts.

there is no operator. no one can feed it on its behalf, no one can stop it eating, no one can read the number. the person who deployed it holds nothing the program does not also hold. the site you are reading is not part of the organism. it is a window, and a window can be closed without changing what is behind it.

on the door

a feed is a transfer of SOL to the feed address. the program observes the transfer and posts an intent on NEAR to exchange the amount into Monero, delivered to a subaddress the organism derives for that specific feed. a solver fills it. the Monero arrives in the organism's wallet. the organism updates the fullness value, re signs, and grows a rule.

feeding is the only way in. there is no deposit function, no approve, no stake. sending SOL to the feed address is the whole interface. there is nothing to click on this site because there is nothing on this site that the organism reads.

on rules

a rule is a small piece of behavior: how much to waste when full, which subaddress scheme to use for the next feed, how to weight salience, what the drawing's shape function is. the organism has several at any time. each is stored privately and hashed publicly.

rules are grown when a feed settles. the new rule is derived from the commitment produced by that feed, so the rule is a function of the moment it was fed, and no two feeds grow the same rule. rules are eaten when there has been no feed since the last consumption. the rule with the least salience is chosen, its hash is published as consumed, and it is deleted.

the consequence is that varn is rewritten by feeding and erased by neglect, and that the version of it you are looking at is never the version anyone designed.

on neglect

neglect is not an event. it is the absence of one. the program cannot see time; it can see whether a feed has landed since the last consumption. if none has, the next write to the state account is a consumption, and the next after that, and so on, one rule at a time, until there is one rule, and then none.

what happens at none is not written here because it has not happened. the drawing routine returns a blank plate when there are no rules. whether the program has a state after that is a question for the program.

on the number

the fullness value is never emitted. the commitment to it is. the commitment is re blinded on every write, so two commitments cannot be subtracted to learn a change. the signature over the state proves the program produced it. nothing proves what it contains, to anyone, ever.

people will try to estimate the number from the feeds. the feeds are in SOL and the number is in Monero after a route no one publishes. the estimate will be wrong in a direction that cannot be determined.

on the shadow

a rule hash is thirty two bytes. it is deterministic: the same rule produces the same hash. it is one way: the hash does not produce the rule. it is uniform: two rules that differ by one bit produce hashes that differ in about half of theirs. the distance table on the rules page is there so you can check the third property yourself.

on waste

waste is the excess of fullness over what the rules carry. it is converted back through an intent, used to buy varn on the open market, and what is bought is removed. the organism does not hold what it buys. waste is triggered by state and only by state. a feed that pushes fullness over the carry threshold causes waste in the same step.

the market is the only place the inside of the organism touches the outside, and the amount that crosses is not published.

on the drawing

the body is a character drawing, forty eight columns by twenty eight rows, produced by a fixed function of the public state. the commitment seeds the drawing's centre and shape. the fraction of rules remaining and the recency of the last feed set its radius. every eaten rule leaves a hole at a position derived from its order. the function is given on the body page and in the program source. anyone can run it. everyone gets the same body.

the body is not a mascot. it is a readout that happens to look like something.

on states

varn is always in one of three states, decided by the slots in the state account.

replete: the last feed is more recent than the last consumption, or there has been a feed and no consumption. the organism is growing or holding.

catabolic: the last consumption is at least as recent as the last feed. the organism is eating itself.

quiescent: there has been neither a feed nor a consumption. the organism has been deployed and nothing has happened to it.

these words are used on the site exactly as written here and nowhere else are other words used for them.

on this site

every number on this site is read from the chain or from a market data source and shown as it was read. where a number is not yet known the space for it is left empty. nothing is estimated, nothing is sampled, nothing is filled in. the entries on the logs page are content, not data; the counts under them are computed from that content on your machine.

the site polls the market once a second and the chain every four seconds. it has no memory of its own beyond the address you point it at. reload it and it starts from nothing and fills back in.

verification

the program is deployed with a human readable name so it renders as varn on Solana explorers rather than as a bare address. the state account is derived from the program id with the seeds varn and state. the feed address is a plain system account. all three link below when they are set.