erdos

The machine

erdos is named for a mathematician who spent his life on two kinds of question: what must appear in any large enough structure, and what must appear in any long enough sequence. This page explains how a coin's own trades are turned into such a structure and such a sequence, and what the vault owes when the unavoidable appears.

What the site does

The site reads every transaction that touches the coin, straight from the chain, starting at the very first one. From each transaction it works out who traded, whether they bought or sold, how many tokens moved and at what price. It then feeds those trades, oldest first, through a fixed set of rules. The rules have no settings and no switches. Anyone who reads the same trades in the same order gets the same result, which is why every figure on this site can be checked.

There is no clock anywhere in the rules. Nothing happens on the hour or at the end of a day. A thing happens when a trade makes it happen.

The vault

The vault is the wallet that created the coin. The site finds it by itself: it is the wallet that paid for the coin's first transaction. Creator fees are claimed to that wallet, so that is where the money gathers. The balance shown on this site is the vault's SOL balance read from the chain.

A fire is always a share of whatever the vault holds at that moment. A share of a larger vault is a larger fire, and the vault can never owe more than it has.

The graph

Every wallet that trades the coin becomes a point. When two different wallets trade one after the other on the same side, both buying or both selling, an edge is drawn between them. One pair of wallets gets at most one edge. A buy followed by a sell draws nothing, and a wallet trading twice in a row draws nothing.

edge(u, v) when side(k) = side(k - 1), u ≠ v, and no edge(u, v) yet

The result is a record of who agreed with whom, in order. Two numbers describe its size: n, the number of wallets, and m, the number of edges.

The number

The vault has number 0. A wallet joined to the vault by an edge has number 1. A wallet joined to a wallet with number 1 has number 2, and so on. When a new edge lands, each of its two ends takes the other end's number plus one if that is smaller than what it had.

d(v) = min(d(v), d(u) + 1)

The number sets how much of a payout a wallet is owed. Each step away from the vault halves the weight. A wallet with no number yet is weighted as if its number were 8. The weight is multiplied by what the wallet holds, counted from its own buys and sells of the coin.

weight = holding × 2^(-d) share = weight / sum of all weights
numberweight per tokenwallets
01
11/2
21/4
31/8
41/16
51/32
61/64
71/128
8 or more1/256
none yet1/256
walletnumberedgesholdingshare of a payout

The twelve wallets owed the most from a payout appear here.

Phase modes

In 1959 and 1960 it was shown that a graph built by adding edges at random changes character suddenly. While there are fewer edges than half the number of points, the graph is scattered small pieces. Around half, it tips. Past half, one giant piece forms and swallows the rest. Much later, when the edges pass half of n times the natural logarithm of n, the last stragglers join and the whole graph is one piece.

The machine reads the coin's graph against those two thresholds and takes its mode from where it stands. The mode sets the fire share, the fraction of the vault a full fire is worth.

modeconditionfire share
subcriticalm / n below 0.451%
criticalm / n from 0.45 to 0.552%
supercriticalm / n above 0.554%
connectedm above n × ln(n) / 28%
quantityvalue
wallets, n
edges, m
m / n
edges at the half threshold, n / 2
edges at the connected threshold, n × ln(n) / 2

The discrepancy trigger

Count each buy as +1 and each sell as -1. For every step size d from 1 to 32, keep the running total of every d-th trade. The record R is the furthest any of the 32 totals has been from zero.

S_d = x_d + x_2d + x_3d + ... R = max over d of |S_d|

That no sequence of plus and minus ones can keep these totals bounded was a question asked in the 1930s and proved in 2015. For the machine it means the record must keep rising for as long as there are trades. The rungs sit at the triangular numbers.

rung k = k × (k + 1) / 2 = 1, 3, 6, 10, 15, 21, ...

Each time R reaches the next rung, the vault owes one full fire share, divided between buy and burn and holders by the window.

The monotone run trigger

Trades are grouped in tens. Within each ten, the longest run of prices that only rises and the longest that only falls are found. The runs may skip trades but must keep their order. A theorem from 1935 guarantees that one of the two has length at least four. If two trades have the same price, the later one counts as higher.

any (r - 1)(s - 1) + 1 numbers hold a rising run of r or a falling run of s with r = s = 4: 10 numbers

The longer run wins, and a tie goes to the falling run. A falling run owes a buy and burn. A rising run owes a payout. The size grows with the length L of the run.

share owed = fire share × (L - 3) / 7

The window

The last six trades form a complete graph on six points. The line between two of them takes the color of the later trade. Any coloring of the fifteen lines in two colors contains a triangle of one color. That is the statement R(3, 3) = 6. Counting all twenty triangles gives g green ones and r red ones, and they set the division of a discrepancy fire.

burn part = g / (g + r) payout part = r / (g + r)

Until six trades exist, a discrepancy fire is divided in half.

The board

Twelve first time events in the graph each carry a fixed bounty, a share of the vault owed to the wallets inside the structure when a trade completes it: the first triangle, the first closed loop, the first cliques of four and five, the first wallets of degree ten, twenty five and fifty, the first groups of twenty five, one hundred and five hundred, the first wallet at number three, and the crossing of the half threshold. Each can happen once.

What a fire is

A fire is an amount the vault owes, fixed at the instant of the trade that caused it. It has a cause, a share, and a division into a burn part and a payout part. The burn part is owed as a market buy of the coin that is then burned. The payout part is owed to holders by weight, or for a board bounty to the wallets inside the solved structure. The record on the fires page lists every fire with the signature of its trade, so the vault's own transactions can be held against it line by line.

tradegraph n, mnumber dmode → fire sharediscrepancy S_d, Rrun of ten priceswindow g, rboardfirebuy and burnpayout by weight

How the site reads the chain

Prices and the dollar figure at the top of the home page come from Birdeye once a second. Everything else comes from Solana itself. The site asks the chain for every signature that touches the coin, reads each transaction, and looks at how the trader's token balance and SOL balance changed. A transfer between wallets that moves no SOL is not a trade and is ignored. A transaction is read once, in order, and never again.

If the site is opened on a coin with a long history, it first walks back to the coin's first transaction and then reads forward. The count of transactions still waiting is shown on the home page. Until that count reaches zero, the figures describe the coin's past and are catching up to its present.