- Supply pressure
- $11,508
- Depth @ 2%
- $38
- Supply events
- 147
- Locked supply
- 29.3%
- SAR 299.26 = pressure $11,508 / depth@2% $38
- depth $38 below floor $50,000 — refuse regardless of ratio
A supply-side risk agent for Robinhood Chain. It weighs incoming supply against real depth, then sizes the position or walks away.
Bridge mints, redemptions and unlock cliffs land as supply the book has to eat. By the time it reaches price, the move already happened.
An agent rewarded for activity will always find a reason to act. Without a rule that can refuse, confidence is just a model agreeing with whoever asked.
A screenshot of a good call proves nothing. If the losing calls can be quietly deleted, every published record is a selection of the wins.
Pressure is new mints, plus tokens moving onto sell venues, plus scheduled unlocks weighted by how close they are. Depth is what the book actually absorbs.
| SAR | Verdict | Size |
|---|---|---|
| < 0.50 | SIZE_FULL | 1.00× |
| < 1.00 | SIZE_HALF | 0.50× |
| < 2.00 | SIZE_QUARTER | 0.25× |
| ≥ 2.00 | REFUSE | 0.00× |
// no I/O, no clock, no randomness,
// no model call. same in, same out.
export function score(f) {
const pressure =
max(0, netIssuanceUsd)
+ max(0, f.venueInflowUsd)
+ forwardUnlockUsd;
const sar = pressure / depth;
let verdict = band(sar);
if (depth < floor)
verdict = 'REFUSE';
if (stale > limit)
verdict = 'REFUSE';
if (concentration > 0.6)
verdict = downgrade(verdict);
return { verdict, reasons };
}The model writes the explanation after the verdict is fixed. It is handed a decision, never asked for one.
Announced at launchPendingSupply is fixed at deployment. There is no path to more.
Nothing to renounce later, because nothing was ever privileged.
Transfers cannot be frozen for any address.
What you send is what arrives.
Reads mints, redemptions and venue inflows from chain 4663, prices them against live Uniswap v3 depth, and runs the pure function.
Each record commits to the one before it, then is signed by the attestor key. A single 32-byte head fixes the entire history.
hashₙ = sha256(hashₙ₋₁ ‖ canonical_json(record))
The head is committed to FloxAttestation at block 48,630,594. Coverage only extends — the contract rejects a lower count.
View the anchoring transactionAnyone recomputes the chain from record zero and compares against the anchored head. Edit any past refusal and the two stop matching.
flox verify → OK chain intact
Flox doesn’t pick winners or predict price. It answers one question — can this market absorb what’s coming? Call it before you execute, and skip anything that comes back REFUSE.
GET /assess/:symbol is the whole product.// before executing any trade on a tokenized asset
const res = await fetch(
`https://flox-production-9e76.up.railway.app/assess/${symbol}`
);
const { decision } = await res.json();
if (decision.verdict === 'REFUSE') {
return skip('supply pressure too high for the book');
}
// size by the multiplier the engine returned
const size = plannedSize * decision.multiplier;
execute(symbol, size);No. Flox is a risk measurement tool. It reports whether incoming supply exceeds what the market can absorb and sizes or refuses a position accordingly. It makes no promise about price or returns, and nothing it outputs is a recommendation to buy or sell.
Never. Flox is read-only. It reads the chain, produces a verdict, and writes that verdict to a log. It cannot move your tokens, and it does not place orders. Any action is taken by you or your own system.
An oracle tells you the current price. Flox tells you whether the order book can absorb the supply that is about to hit it — a forward-looking risk signal, not a spot value. It measures issuance, redemptions, venue inflows and scheduled unlocks against real depth.
Because liquidity on Robinhood Chain is young, and many pools are genuinely too thin to trade into safely. A refusal on a $38 book is the tool working correctly, not failing. Deeper assets like NVDA get sized normally.
The log is a hash chain, and its head is anchored on Robinhood Chain. Editing any past record breaks every record after it, and the recomputed chain would no longer match the head already on mainnet. The refusals cannot be quietly removed.
No. The verdict comes from a pure function that runs before any model is contacted. The language model only writes the plain-English explanation and a forward forecast, both marked non-authoritative. It is structurally incapable of changing the verdict.
Flox runs read-only on Robinhood Chain mainnet. Queries are metered through FloxCredits — deposit, spend per assessment, withdraw whatever you don’t use.