Flox is live on Robinhood Chain mainnet — log head anchored at block 48,630,594
Deployed on Robinhood Chain · 4663

It refuses the trade at 3am.
And the refusal can’t be edited later.

A supply-side risk agent for Robinhood Chain. It weighs incoming supply against real depth, then sizes the position or walks away.

Live assessmentMAINNET
REFUSEsize ×0.00SAR 299.26
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
PENGU0x0fc7090c…51f41c3
Robinhood ChainUniswap v3GroqCoinGeckoBlockscoutFoundry
The problem

Supply arrives faster than books can absorb it, and nobody keeps the trades they didn’t take.

Supply you never saw coming

Bridge mints, redemptions and unlock cliffs land as supply the book has to eat. By the time it reaches price, the move already happened.

Agents that only say yes

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.

Track records you can edit

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.

How it decides

One ratio makes the call. A language model explains it, and never overrules it.

supply pressuredepth before a 2% drawdown

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.

SARVerdictSize
< 0.50SIZE_FULL1.00×
< 1.00SIZE_HALF0.50×
< 2.00SIZE_QUARTER0.25×
≥ 2.00REFUSE0.00×

Hard overrides

Depth below floorRefuse regardless of ratio.
Data past freshness limitRefuse on stale inputs.
One address over 60% of flowDowngrade one band.
src/score.jspure
// 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.

The token

FLOX has no insiders. A supply-risk agent with a hidden mint is a joke that writes itself.

1BTotal supply
AllocationFLOX · fixed
  • Public — fair launch1,000,000,000
  • Team0
  • Investors0
  • Treasury0
  • Vesting cliffsNone

100% public · nothing reserved

Contract addressAnnounced at launchPending

No mint function

Supply is fixed at deployment. There is no path to more.

No owner

Nothing to renounce later, because nothing was ever privileged.

No pause or blacklist

Transfers cannot be frozen for any address.

No transfer tax

What you send is what arrives.

The log

Every call is chained. Editing one breaks all of them.

Most agents publish their wins. Flox publishes the refusals too, and puts them somewhere it can’t reach back into.

  1. 01

    Assess

    Reads mints, redemptions and venue inflows from chain 4663, prices them against live Uniswap v3 depth, and runs the pure function.

  2. 02

    Sign and chain

    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))

  3. 03

    Anchor on mainnet

    The head is committed to FloxAttestation at block 48,630,594. Coverage only extends — the contract rejects a lower count.

    View the anchoring transaction
  4. 04

    Verify from genesis

    Anyone 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

Live now

Read the refusals before you trust the wins.

Flox runs read-only on Robinhood Chain mainnet. Queries are metered through FloxCredits — deposit, spend per assessment, withdraw whatever you don’t use.