Internal · strategy brief · 2026-10-09 · trading opens 2026-10-10

How we beat a one-hour bot on Papertrade

Papertrade is a casino that pays its losers in equity. The tweet's bot is a directional guess at 1000× against a house that takes half the margin on every bust. Ours takes the house's own design, prices it, and only trades where the math is on our side.

His bot (from the tweet)

  • Directional strategy, built in an hour, "no idea if it works".
  • Trades against the impact curve on small moves, where the LP keeps 30 to 90% of the gain.
  • Launch detection and Telegram alerts: that part is fine, we copy it.

Ours

  • No directional bet until a measured edge beats the haircut.
  • Structural edge: hedged pairs that mint PAPER at about 1/7 of what every other loser pays.
  • Queue-aware and parameter-aware execution with kill switches, shadow-tested on the live feed before launch.

1. The house rules, in numbers

Everything below is read from the docs, the live contract state and the exchange's own API as of today. Sources at the end.

Markets
BTC, ETH
Hyperliquid BBO mid, read on-chain
Leverage
up to 1000×
min $10 margin, min $10k notional, max $10M
Cost on a win
deadband + impact + 2%
0.2 bps deadband, curve, win fee
Cost on a loss
0
and you mint 100 PAPER per $1 lost
Liquidation
hard bust
5 bps before zero equity, full margin forfeited
LP at launch
$0
winners queue FIFO until losers fill it
Pre-deposited
$43.2M
4,524 accounts since Oct 7
Execution
relayer only
session key, intents valid 1 h, keys 30 d

Two things define the game:

2. Why a quick directional bot is the product, not the player

The win haircut is sized by how far price moved between entry and exit, not by position size. Here is what a winner keeps at launch parameters (after deadband, impact curve and the 2% fee):

MoveBTC keepsETH keepsWhat it means
1 bp21%16%scalping is dead on arrival
5 bps61%54%typical "momentum bot" horizon
10 bps72%68%still a 28% tax on every win
50 bps85%83%swing territory
1%86%86%near the cap
5%+88%88%the best case, ever

Formula from the docs: scale = (1 − 0.10) / (1 + 1/(move·15000) + 100000/(10⁶·move·posMult)), posMult 814.598 BTC / 483.979 ETH, then ×0.98.

On top of that, the liquidation buffer is fixed at about 5 bps of price, so its bite grows with leverage:

LeverageBust fires atEquity the LP keeps at bust
10×9.95% move0.5% of margin
50×1.95%2.5%
100×0.95%5%
500×0.15%25%
1000×0.052%50%

A 1000× bot that busts hands the house half its margin as pure profit, every time. A bot that scalps 5 bps wins hands over 40% of every gain and 100% of every loss. With no edge in direction, that is a negative-sum machine with a telegram feed. This is why the LP is expected to grow, and why PAPER is worth something.

3. Where the edge actually is

The design says it out loud: trading while the LP is small is incentivised, early losers mint at the top rate, and losses cost nothing extra. The edge is to be the cheapest loser in the room.

Edge 1 · The hedged mint core

Open a long and a short of the same size at the same time. Both fill at the same mid, so the pair has no price risk. Wait for a move. Close the losing leg: that loss mints PAPER at 100 per dollar. Close the winning leg: it pays back the same amount minus the haircut. Net cost is just the haircut on the winner.

LeverageClose afterExitCost per $1 marginPAPER per $1 margin$ per PAPER
10×0.5%both closed0.0084.90.00157
10×1.0%both closed0.0149.80.00139
20×2.0%both closed0.05139.20.00130
50×1.0%both closed0.06849.00.00139
50×2.0%loser busts0.1491000.00149
100×1.0%loser busts0.1801000.00180
1000×0.05%loser busts0.6801000.00680

A naked loser pays $0.0100 per PAPER. The hedged pair pays $0.0013 to $0.0016. Leverage sets speed, not price, until the buffer starts eating margin at 100×+.

Edge 2 · Timing: the flat region core

The mint rate is 100 PAPER per dollar until tracked LP reaches $2M, then decays as a one-way ratchet. The first $2M of losses create the first 200M PAPER, all at the top rate.

Cumulative LP gainPAPER supplyMarginal rate
$2M200M100 / $
$10M950M88 / $
$25M2.13B70 / $
$50M3.63B51 / $
$100M5.59B30 / $

With $43M already deposited and 1000× on the button, the flat region could be gone within days. Being live in the first hours is itself the edge. This is the one thing the tweet got right: watch for trading to start.

Edge 3 · Queue-aware closes core

Edge 4 · Stake on day one core

PAPER cannot be transferred at launch; its only value is the USDC it earns staked. Stake every mint immediately. Dividends come from 1% of all settled PnL while the queue is empty, and from all LP profit above $5M once the house gets there. Both scale with how much the crowd loses.

Edge 5 · Directional overlay only if measured

Binance leads Hyperliquid by roughly 100 to 300 ms. The relayer batches our intent onto HyperEVM seconds later, so by default there is nothing to catch. We measure it anyway before launch: if the move predicted at the relayer's real latency horizon beats the haircut plus 2% often enough, it becomes an entry filter for which leg to open first. If not, it stays off. No guessing.

What is PAPER worth? The honest version

Our cost is about $0.0014 per PAPER. The payout is a dividend stream, so the question is the house's annual profit divided by supply:

House profit to stakers / yearSupplyUSDC per PAPER / yearMultiple of our cost
$1M1B$0.00100.7×
$5M1B$0.00503.6×
$10M2B$0.00503.6×
$30M3B$0.01007×

The house edge per dollar of degen volume is large (a 1000× bust alone is 50% of margin), and $43M is already in the door. But the owner can change the impact and fee parameters at any time, PAPER is non-transferable until they say otherwise, and a dead protocol pays nothing. So the plan caps what we spend on minting until we have observed real dividends per PAPER for 48 hours and can extrapolate from data instead of from this table.

4. Ideas we priced and rejected

5. The plan

Phase 0 · Recorder and shadow mode today, before launch

Phase 1 · First live cycles launch day, small

Phase 2 · Scale on evidence after 48 h of dividends

Kill switches always on

6. What the bot talks to

All of this was read from the live app today. No SDK exists; the frontend signs EIP-712 intents and posts them to the relayer, which batches them on-chain.

HyperEVM (chain 999)
  Exchange proxy      0x6cd5661646289fb6e65ea5c032310fded797d0a2
  implementation      0x0f3febfc94876b0c895f7acecdc8f5c863b549ee
  PaperToken          0xe40f17915daa230324030003a197cdaef2261c0e
  PaperStaking        0xaad6c7b0cc3014fc80ffedae0ed7ce5967b0f016
  DepositProxyFactory 0x1629b7d46bef6e13ff754174fc9f32dea309b38f

Read (public, no auth)
  GET  exchange.papertrade.xyz/state/trading            params, caps, paused flags
  GET  exchange.papertrade.xyz/query/protocol/summary   LP, queue, tracked LP, mint rate
  GET  exchange.papertrade.xyz/query/protocol/queue-summary
  GET  exchange.papertrade.xyz/query/protocol/trades/recent
  GET  exchange.papertrade.xyz/query/markets/{0|1}/price-history
  GET  exchange.papertrade.xyz/state/leaderboard/accounts
  WS   stream.papertrade.xyz/connection/websocket       trading:current, public:trades
  WS   api.hyperliquid.xyz/ws                           bbo BTC / ETH

Write (signed by the session key, via the relayer at sign.papertrade.xyz)
  RegisterSessionKey(user, key, expiry, feeAddress, nonce, deadline)
  OpenPosition(user, instrumentId, isLong, size, leverage, useDebt, nonce, deadline)
  Close(user, positionIds[], nonce, deadline)
  Stake / Unstake / Claim (wallet-signed)
  WithdrawToCore (wallet-signed, never by the bot)

Stack: Node TypeScript on the existing Hetzner server, systemd, SQLite ledger with the hard cap, Telegram bot for alerts, same deploy pattern as the other projects. The exact relayer request format comes from capturing one real session in Phase 1; everything else is already known.

What I need from you

  1. Capital cap for this project (hard limit in the ledger, like the $50k rule on GAPFILL), and the Phase 1 amount (I suggest $5k).
  2. A fresh wallet for the bot. I will never put a session key near your main funds.
  3. Go on Phase 0 now. The recorder and alerts have to be running before trading opens tomorrow. It costs nothing and it is what makes Phase 1 safe.

Sources