0xpresso / manualhow 0xpresso works
espresso shots of the market. an espresso is a fixed blend of robinhood stock tokens and trending robinhood chain tokens. you buy it with usdg, hold every token in the blend, earn a rebate while you hold, and can sell it to other people on the market. this manual is the whole product, chapter by chapter.
what is an espresso#
an espresso is a basket with fixed token quantities per unit, like an etf share. it holds 2 to 8 components from the universe: robinhood stock tokens (aapl, nvda, spy…) priced by chainlink feeds on chain, and trending robinhood chain tokens priced by dexscreener. weights are set in basis points summing to 10,000 at creation; from then on each unit holds the same token amounts forever.
a unit is priced by its nav: the sum of every component quantity times its live price. nav updates every price tick, so an espresso moves exactly as its contents move. there is no manager, no rebalancing, and no discretion.
roast
roast is a risk tier derived from the blend, not a choice. at least 70% stocks by weight is light; at least 70% chain tokens is dark; anything between is medium. the roast ring around every espresso mark tells you which at a glance.
house blends
- americano
- aapl · msft · nvda · amzn · googl · metamega-cap stocks, light roast
- cortado
- spy · qqq + top 4 trending tokensmedium roast
- ristretto
- nvda · amd · asml · tsm · musemis, light roast
- affogato
- 50/50 stocks and top memesmedium roast
- lungo
- coin · mstr · crcl + eth-beta memesmedium roast
- doppio
- top 6 trending tokensdark roast
anyone can brew their own at /brew: name it, pick components and weights, and seed it with a first mint of at least $10. the creator is just the first holder.
minting & redeeming#
mint turns usdg into units at the current nav: units = usd × (1 − mintFee) ÷ nav. redeem turns units back into usdg: usd = units × nav × (1 − redeemFee). both happen instantly against the ledger; there is no order to wait for and no slippage beyond the fee.
- mint fee
- 0.5%to the fee pool
- redeem fee
- 0.5%to the fee pool
- starting nav
- $100.00 per unitat brew time
- unit precision
- 12 decimals
your holdings viewmultiplies your units by each component's quantity per unit, so you always see how much of each token your cup represents.
rebates#
every position accrues a rebate, the crema. it streams continuously as positionValue × apr × elapsed ÷ year × boost and is claimable to your usdg balance from the fee pool at any time.
- rebate apr
- 12%on position value
- boost
- 1.0 / 1.25 / 1.5×by barista tier: none / junior / head
- claim
- any timepaid from the fee pool
the market#
the market is an asks-only book per espresso. list units at any usd price; the units lock in your position until the ask fills or you cancel. a buyer pays usdg, the seller receives it minus the market fee, and partial fills are allowed.
every ask shows its premium or discount to live nav, so a cup selling above nav is obvious, and one below nav is a bargain against redeeming.
- 01list
choose an espresso you hold, units, and a price. units lock.
- 02fill
anyone with balance can take some or all of the ask at that price.
- 03settle
units move to the buyer, usdg moves to the seller net of fee, an activity event fires.
- 04cancel
unfilled units unlock instantly.
barista#
stake usdg as a barista to earn 7% of all fees, split pro rata by stake and streamed with a reward-per-token accumulator, so payouts are exact and instant to claim. the pool is the stated backstop for instant redemptions.
- junior
- ≥ $25 stakedrebate boost 1.0×, badge
- barista
- ≥ $250 stakedrebate boost 1.25×
- head
- ≥ $2,500 stakedrebate boost 1.5×
- unstake
- instantledger transfer, no lockup
the leaderboard ranks baristas by stake and lifetime earnings.
shots#
a shot is a parlay on the universe. pick 2 to 5 assets, a window (5m, 15m, 30m, 1h) and a mode (safe, bold, wild). every leg must close above its target before the clock runs out or the ticket is dead. land all legs and the stake pays the product of the leg multipliers.
- volatility proxy
- σ = max(|1h change|, 0.15%)stocks floor at 0.10%
- target move
- safe 0.6σ · bold 1.2σ · wild 2.5σfloors 0.20% / 0.45% / 1.0%, scaled by √(window ÷ 15m)
- leg multiplier
- clamp(1 + target × k, 1.15, 6)k = 1.6 / 2.2 / 3.0
- stake
- $1 – $100payout capped at $2,500
the price loop checks every open ticket each tick. a leg is hit the first time price is at or above its target; the ticket wins when all legs are hit, or loses at expiry. stale or held assets cannot be picked.
deposits & withdrawals#
everything below your wallet is a ledger. value enters and leaves through the treasury on robinhood chain.
- 01deposit
send usdg or eth from your wallet to the treasury (the deposit button does this with one wallet confirmation), then the server verifies the transfer on chain and credits your balance once per transaction hash. usdg credits 1:1; eth is converted to usdg at the chainlink eth/usd print at the moment the transfer is verified.
- 02use it
mint, list, stake, shoot. all instant, all in the ledger.
- 03withdraw
request usdg to any address. the ledger is debited first; the treasury then signs a usdg transfer, or holds the request as queued while payouts are paused on this deployment.
- accepted in
- usdg or etheth converts at the chainlink eth/usd print when the transfer confirms; the ledger holds usdg
- paid out in
- usdg onlywithdrawals are never sent as eth
- minimum withdrawal
- $5.00
- payouts
- queuedsent when the treasury is enabled
paper mode
while payouts are disabled, every new account is credited a $1,000 house balance tagged paper on first sign-in so the whole product is usable end to end. a paper chip shows in the wallet pill and status bar while it exists. paper credit is not withdrawable: withdrawable = balance − paper.
chain facts#
- network
- robinhood chainarbitrum orbit l2, gas in eth
- chain id
- 4663 (0x1237)
- rpc
- rpc.mainnet.chain.robinhood.com
- explorer
- usdg
- 0x5fc5…d168global dollar, 6 decimals
- multicall3
- 0xcA11…CA11
- stock prices
- chainlink aggregatorv38 decimals, usd per token, read every 15s
- token prices
- dexscreenertrending set from geckoterminal, refreshed every 60s
stock feeds hold their last print over weekends. the app marks a quote live under 30 minutes old, held after that, and stale past three days. stale and held assets are shown but cannot be used in shots.
fees#
| fee | rate | goes to |
|---|---|---|
| mint | 0.5% | fee pool |
| redeem | 0.5% | fee pool |
| market fillpaid by the seller | 1% | fee pool |
| barista shareof every fee above | 7% | staked baristas |
| platform shareof every fee above | 3% | platform |
| rebate aprpaid from the fee pool | 12% | holders |
| deposit / withdrawyou pay chain gas | 0% | — |
these figures are read from this deployment's configuration at render time, so the table above is the schedule that applies right now.
risks & disclaimer#
what is actually on chain?
can the treasury run short?
are stock tokens the stocks?
can i lose money?
who will contact me?
how do i reach the team?
pick a cup from the menu, or brew your own.