Skip to content
perigee

Fig. 00 — Execution quality, Stock Tokens

perigee

Every fill, measured from the mid.

Around ten venues on Robinhood Chain trade the same Stock Tokens. All of them show TVL; none publish where their trades actually filled. Perigee measures every fill against the oracle mid and publishes the scores on-chain, in a form any contract can read.

Robinhood Chain · $PRGE not live · fig. 00
perigee
measured
bps vs oracle mid
reported
daily Merkle root
disputable
24h, bonded
read
bestVenue(), free

Fig. 01 — The problem

Every venue reports its TVL. None report where your trade filled.

1.1

What venues show

TVL

Total value locked, 24h volume, fee tier. Numbers about the size of the pool, published by the venue itself.

1.2

What they don't

??????mid

Where trades actually filled relative to the reference price — by size, by token, and by whether the underlying market was open.

1.3

Who pays for it

bps lost per fill

Every trader, vault and liquidator routing blind. The cost is paid in basis points on each fill and never itemised.

fig. 1 — the unmeasured distance between the mid and the fill

Fig. 02 — How it works

Measure → Report → Dispute → Read.

An optimistic reporting loop. Scores are computed off-chain from public data, committed on-chain, and only final after anyone has had a day to check them.

  1. Step 01

    Measure

    Δ bpsmidfillsame block · size · state

    Every Stock Token swap on every venue is compared to the Chainlink oracle mid at the same block. Recorded: slippage in bps, trade size, market state (open, pre/post, closed, halt).

  2. Step 02

    Report

    rootabcdvenue × token × size × state

    Once a day, staked reporters post the aggregated scores — per venue × token × size bucket × market state — as a single Merkle root on-chain.

  3. Step 03

    Dispute

    24hrecompute · challenge · slash

    A 24-hour window follows. Anyone can recompute the report from public data and challenge it with a bond. A wrong report gets the reporter's stake slashed.

  4. Step 04

    Read

    bestVenue(t, s, st)vaultliquidatoragentfree view call · any contract

    bestVenue(token, size, marketState) returns the best attested venue. Free to call, by any contract: vaults, liquidators, rebalancers, agents.

fig. 2 — the reporting loop, one day per turn

Fig. 03 — Simulator

See where your trade would have filled.

Pick a Stock Token, a size and a market state. Six fictional venues are scored against the mid; the closest is the one bestVenue() would return.

25,000 USDG

Side

Market state

Simulating anonymously. to personalize the run. Connection is read-only; nothing is ever sent.

2.5 bps5 bps7.5 bps10 bpsNVDA / USDG · mid = 0 bpsfig. 3A — perigeeBCDEF
Distance from the nucleus is proportional to simulated slippage vs the oracle mid. Hollow = not eligible (older than 48h, or * below the 30-trade minimum).
Size bucket 10k – 50k USDG. Expected fill against a mid indexed to 100.0000. Click a header to sort.
Venue A100.04304.3 bps62512hyes
Venue B100.05305.3 bps13015hno
Venue C100.05505.5 bps1,1487hyes
Venue E100.06306.3 bps1,35310hno
Venue F100.08208.2 bps7083hno
Venue D100.09509.5 bps11815hyes

Stale (> 48h) scores return scoreBps = 0 and are skipped. * below the 30-trade minimum; not eligible. Certification does not affect ranking.

bestVenue() would return: Venue A — 4 bps

Simulated data for illustration. Live scores publish after the reporter set launches. Venue names are placeholders and do not refer to any real venue.

fig. 3 — venues plotted by distance from the mid

Fig. 04 — For builders

One view call. No keeper, no API key.

Any contract on Robinhood Chain can ask where a given size of a given Stock Token executes best, right now, and act on the answer in the same transaction.

4.1

Vaults & rebalancers

Route each rebalance leg to the venue with the lowest attested cost for that size, and prove it to depositors.

4.2

Liquidators

Size liquidations against real execution depth instead of TVL. Detect closed-market marks before selling into them.

4.3

Agents

Give an AI agent a single, verifiable source for where to trade, with a timestamp it can check for staleness.

IPerigee.sol
enum MarketState { Open, PrePost, Closed, Halt }

interface IPerigee {
    function bestVenue(address token, uint256 size, MarketState state)
        external
        view
        returns (address venue, uint16 scoreBps, uint64 reportedAt);
}
venue
Address of the best attested venue for the token, size bucket and market state.
scoreBps
Attested execution cost versus the mid, in bps. A score older than 48h is returned as 0: treat 0 as “no fresh data”.
reportedAt
Timestamp of the report the score comes from. See Reading scores.
fig. 4 — bestVenue() interface

Fig. 05 — $PRGE token

$PRGE secures the reports. It is not live.

5.1

Reporter stake

Required to publish daily reports. Slashed when a dispute against the report succeeds.

5.2

Venue bond

Posted by a venue that applies for Perigee-verified certification, alongside a monthly USDG fee.

5.3

Governance

Dispute window length, size buckets, slashing parameters and the certified-venue set.

certification feesmonthly, USDG
routing fees0.05% of routed volume
fee collectoron-chain, public
60% · buyback & burn$PRGE
40% · treasurygoverned

Notice

$PRGE is not deployed. There is no contract address. Anything claiming to be $PRGE today is not ours.

Distribution: to be announced. Official announcements are made only on x.com/PerigeeRH.

fig. 5 — value flow: fees → 60% buyback-and-burn / 40% treasury

Fig. 06 — Roadmap

In order. No dates until they are real.

  1. 01

    Indexer & public dashboard — not started

    Trade-level measurement across every Stock Token venue; public scores.

  2. 02

    Reporter set & dispute contracts — not started

    Staked daily Merkle reports, 24h challenge window, slashing.

  3. 03

    bestVenue read contract — not started

    On-chain view of the best attested venue per token, size and market state.

  4. 04

    Venue certification — not started

    Bonded, fee-paying venues receive the Perigee-verified badge. Scores stay public.

  5. 05

    Router — not started

    Optional contract that routes an order to the best attested venue. 0.05% on routed volume.

  6. 06

    $PRGE — not started

    Reporter stake, venue bond, governance. Not deployed.

fig. 6 — phases, sequential