Ullage
Ullage is how much of a container is not full. This is this site's own: which parts run, which are compiled code that has never been deployed, and which are a sentence. A blanket "experimental software" notice is true and tells a reader nothing about which part to trust.
Part by part
The silo
live / and /dischargeA discrete element solver — around five hundred frictional grains, Cundall–Strack contacts, integrated in your browser at 26 physics steps per animation frame on a FIXED timestep. Not a loop of recorded frames and not a shader that looks like one. A slow tab runs the silo more slowly rather than less accurately.
Open /discharge and move the orifice. The figures recompute; the seed is printed beside them.
The five measurements
live /gate, /arch and /dischargeDischarge against head, Beverloo decomposed into its three factors, Janssen saturation of the base load, the clogging transition, and the stagnant fraction of a draining bed. Every one is computed from the model above and held against a stated tolerance. THIS ROW USED TO SAY "the three laws" AND NAME JANSSEN AMONG THEM while nothing in the repository measured it — the mechanism was asserted on /gate as the explanation for the headline and taken from published work. It is measured now. The row was wrong for exactly the reason this site exists.
node tools/verify-model.mjs — it prints every measurement and exits non-zero if a single claim drifts out of tolerance.
The chain figures
live /gateTransfer volume against total supply for a set of Base ERC-20s, read from a public node with no API key and no proxy, at a stated block.
node tools/scan-chain.mjs — or the panel on /gate, which runs the same module in your browser against a block mined after this page was built.
The Bin
live /bin and /appcontracts/Bin.sol — an ERC-4626 vault with virtual shares, storage accounting and a hard-capped protocol cut. Its properties are executed on an EVM by every build, and it is DEPLOYED ON BASE SEPOLIA at 0x21f2056e60e002728cc12fb5c30e656f0d811319, holding a faucet token at 0x2eb6216ceaef712fcf3526142daa1294c1b55cab. A TEST NETWORK. The ether is free, the token has a public mint(), and nothing there is worth anything. It is not deployed on any network where money is real, and the build fails if this site ever says otherwise.
node tools/verify-contract.mjs — four properties executed on an EVM, then four sabotaged vaults that each have to fail. Then read the deployment itself on the explorer, or press the buttons on /app. NOT deployed on any network where money is real.
The app
live /appA working front end for the Bin on Base Sepolia — connect a wallet, mint a faucet token, deposit, harvest, redeem. Real transactions against real contracts, signed by the reader's own wallet. No private key is held or requested anywhere in this repository.
Open /app with a browser wallet. Every transaction is a link to the explorer. A TEST NETWORK: the gas is free and the token is worthless.
The yield
none /appNothing generates fees. On a real deployment a hook would push trading fees into the Bin and every Draw would rise on its own; there is no hook, so the harvest is a button somebody presses. The accounting is real and the yield is not, which is the single largest gap between this and a product.
Press Harvest on /app and watch the share price move. Then notice that nothing moved it except you.
The Chute
none /chuteIntent routing and solver settlement. Described, not written. There is no solver, no intent format and no settlement contract.
Nothing to check. This row is the check.
The Draw
tested /binThe ERC-20 the Bin mints. Same file as the Bin; same state as the Bin. No token exists and the contract address on this site is empty rather than a placeholder.
Search the built site for an 0x address. There is not one.
What is deliberately absent
- A contract address. There is no token and no deployment, so the address field is an empty string and the pill that would show it removes itself. A row of zeroes on a live page is a thing people paste into a wallet.
- Social accounts. None exists, so none is linked. A fabricated handle in a
twitter:sitetag does not merely link an account — it attributes the page to it. - A canonical URL and a link card. Emitted only once the host actually resolves. A canonical pointing at a host that 404s is worse than none: the page looks perfect in a browser while every unfurler follows it and renders nothing.
- An audit. Nobody has audited anything here. The four contract properties are executed by the build against compiled bytecode, which is a different and much weaker claim, and the build additionally breaks the contract four ways to check the suite notices.
- A number for the Gate's throughput on a real deployment. The measurements on this site are a silo and a chain scan. Neither is this protocol under load, because this protocol has never been under anything.