Review summary
Deposits can't be taken instantly
Upgrades and every admin function go through a 7-day Timelock. Simulation found no bypass.
Funds are backed to the dollar
Liabilities are $67,847,624, and $67,847,625 sits on HyperCore. The payout queue is empty.
You can exit without their relayer
withdrawToCore has no caller restriction, and anyone can submit withdrawToCoreBySig.
From Oct 19 the delay drops to 1 day
updateMinDelay(86400) is queued in the Timelock and executable from Oct 19, 22:01 UTC.
No source code anywhere
The contracts are unverified on the explorer, no audit is published, and there is no official GitHub repository.
The oracle is still vulnerable
The price is a single Hyperliquid BBO midpoint with no TWAP and no deviation check. This hits the pool, not user balances.
01What it is and why it's popular
Papertrade is a synthetic perp exchange on HyperEVM, Hyperliquid's EVM layer. It has no order book, no matching engine and no oracle of its own. The protocol's pool takes the other side of every trade, and the contract reads prices straight from Hyperliquid's order book. According to the founder, two or three people built it. It lists two markets: BTC and ETH.
It looks like it was built in a day, and technically that's close to the truth: there is very little to build. What's being sold is the mechanism, not the engineering.
Why it took off
- "You get paid for losing." PAPER is minted only from losses and liquidations. Win and you take the profit; lose and you get tokens.
- Casino settings. Up to 1000x leverage, no trading fee, no funding, "no slippage".
- The "next HYPE" narrative. Supply starts at zero: no team or VC allocation, no airdrop, no vesting.
- FOMO built into emissions. While the pool is under $2M, every $1 lost earns 100 PAPER, and the rate falls after that. Early users get several times more.
- Credibility and marketing. Media identify co-founder Jez as Colin Hong (MIT, Morgan Stanley, Standard Crypto). The launch video passed 1M views on X.
Volume and OI are inflated by leverage: at 1000x, billions in notional rest on small deposits. A large share of the volume is farming with paired positions.
02Timeline
- Closed beta. The project hires Guardian Audits; no report has been published since.
- Launch video, over 1M views.
- Deposits open.
- Trading starts. $14.4B in volume within 10 minutes; BTC OI $3B, ETH $2.66B.
- One wallet takes about $1.28M by moving Hyperliquid's ETH BBO.
- The team acknowledges the manipulation and cuts OI caps in the contract and at the relayer.
- The multisig queues a Timelock change cutting the delay from 7 days to 1 day.
- Emissions fall to 16.6 PAPER per $1. This review is carried out.
setMintParamsexecutes: the staker cap rises from $5M to $10M.updateMinDelay(86400)becomes executable. After that, any change, including an upgrade, needs only 24 hours' notice.
03Mechanics
Where the price comes from
The PriceOracle contract reads Hyperliquid's best bid and ask through the system precompile 0x…080e and takes the midpoint. That is the entry and exit price. There is no TWAP, no median and no deviation check. The precompile returns HyperCore's state as of the moment the HyperEVM block is built, so you get the price of the block your transaction lands in.
The relayer
The relayer is an off-chain service run by the team. It takes signed orders and submits them to the BatchExecutor, paying the gas. It doesn't set prices, but it decides when and in what order a trade lands in a block. Liquidations go first, then closes, then opens, with large trades ahead of small ones. Opening positions, registering session keys and staking only work through the relayer. Withdrawals work without it.
The winners' queue
Winnings are paid only out of other traders' losses. If the pool is empty, unpaid profit joins a FIFO queue and waits for future losers. Winners get their margin back immediately. As of Oct 16 the queue is empty.
Fees and haircut
There is no trading fee and no funding. Winnings pay three things: a 0.2 bp deadband, an asymmetric haircut (larger on small moves) and a 2% win fee. On a losing close, the 2% is paid by the pool, not the trader. Share of a BTC win you keep at launch parameters:
| BTC move | Raw profit on $100k | You keep |
|---|---|---|
| 0.05% | $50 | 60.7% |
| 0.1% | $100 | 72.4% |
| 0.2% | $200 | 79.7% |
| 0.5% | $500 | 84.6% |
| 1% | $1,000 | 86.4% |
| 2% | $2,000 | 87.3% |
| 5% | $5,000 | 87.8% |
Liquidations
Margin is isolated. You can't add margin, change leverage or partially close. Liquidation fires about 5 bp before the margin runs out: at 1000x, after a move of roughly 0.052%. The whole margin is lost, even though a manual close would have returned about half.
04The October 10 manipulation
One wallet held 30 ETH shorts of about $9.9M each at 660x leverage, roughly $297M in notional. The $10M cap applied per position, not per wallet. At the same time the wallet moved the top of Hyperliquid's ETH book: it bought about 6,060 ETH (price up about $3), then sold about 5,210 ETH (down about $3.50). The result was about $1.28M in profit within a few hours.
- Moving a single quote for a single block was enough; there was no need to hold the price.
- At 1000x, even a fraction of a percent pays well: roughly 0.1% of $297M ≈ $300k.
- Hyperliquid itself wasn't hacked. The weakness is in how Papertrade uses its quote.
After the incident the team added the deadband, impact haircut and win fee, and cut OI caps. There is still no deviation check on the quote. The team said the funds were almost entirely returned through new accounts. The Block could not confirm this.
05The PAPER token
- Emissions. 100 PAPER per $1 while the tracked pool is under $2M. After that the rate decays along a high-watermark curve: about 30.8 by Oct 12, 16.6 by Oct 16.
- Staker income is paid in USDC. Half of the 2% fee plus everything in the pool above the cap. The cap is $5M now and rises to $10M on Oct 17. Until the pool gains another ~$5M, staker income will be close to zero.
- Transfers are disabled. PAPER can only be staked and has no market price. Supply is projected to reach 14–18B.
- Contract roles. The minter can burn PAPER from any address, and a privileged spender has an unlimited allowance over everyone's PAPER. On-chain these are PaperTokenomics and PaperStaking, both behind the Timelock.
The $5.06M daily average is heavily inflated by the first day, which brought in $24M. Today 1M PAPER earns about $190 a day, and the PAPER earned from $1 of losses earns about $0.003 a day.
06Delta-neutral farming
The idea: open a position on Papertrade and hedge it on Hyperliquid. The loss on Papertrade earns PAPER, and the hedge's gain offsets it. Hyperliquid works better than other venues because that's where the price comes from. The real cost of the strategy is Hyperliquid fees, funding and execution mismatch.
Costs with a taker round-trip fee of $90 per $100k notional and emissions of 16.6 PAPER per $1:
| Move against the Papertrade leg | Cost per $1 lost | Cost per 1 PAPER |
|---|---|---|
| 0.3% | $0.30 | ~$0.018 |
| 0.5% | $0.18 | ~$0.011 |
| 1% | $0.09 | ~$0.0055 |
| 2% | $0.045 | ~$0.0027 |
Funding adds to the cost the longer you hold. Maker orders on Hyperliquid cut costs roughly threefold but add fill risk.
Pitfalls
- Leverage. No more than 100x: liquidation takes the whole margin while the hedge recovers only half. Aim to close manually after a 0.5–1.5% move.
- The price moves in your favor. Don't close: the profit gets a haircut and you get no tokens. You have to wait for a reversal and pay funding.
- The relayer. Small trades wait, so the two legs can close at different prices.
- Yield. On Oct 17 the staker cap doubles, and income may drop close to zero for a while.
- The token. PAPER can't be sold. While the pool is above the cap, the dollar you lose is shared among all stakers, mostly early farmers.
07On-chain contract review
The addresses come from the official docs and were checked through the HyperEVM RPC (rpc.hyperliquid.xyz/evm) and the HyperCore API. Method: reading EIP-1967 proxy slots, calling view functions, simulating calls from different addresses with eth_call, and extracting function selectors from the bytecode.
Who controls it
The Timelock is also the owner() of every implementation. The multisig doubles as pause guardian: it can halt opens or retire a market, but only the Timelock can lift a global pause.
Attempts to bypass the Timelock (simulation)
| Call | Caller | Result |
|---|---|---|
Timelock.updateMinDelay(0) | Multisig | rejected NotSelf() |
Timelock.updateMinDelay(0) | The Timelock itself | passes only via the queue |
Multisig.updateSigners(…) | A single signer | rejected NotSelf() |
ProxyAdmin.upgrade(Exchange, …) | Multisig | rejected NotOwner() |
ProxyAdmin.upgrade(Exchange, …) | Timelock | passes after 7 days |
setAuthorizedExecutor, setProxyFactory, setSessionKeyManager, setPaperTokenomics, changeDevFeeAddress, transferOwnership | Multisig | rejected NotOwner() |
setTradingPaused(false) | Multisig (guardian) | rejected NotPauseAuthority() |
sweep(addr) | Anyone, Timelock | rejected NoProxy() |
claimDevFees() | Anyone | rejected NotDevFeeRecipient() |
Exchange solvency
| Item (on-chain) | USDC |
|---|---|
Free user balances (totalBalances) | 50,683,091 |
Margin in open positions (totalLockedMargin) | 12,167,244 |
Payout queue (totalQueued) | 0 |
LP pool (lpBankrollAvailable) | 4,995,980 |
| Accrued staker and dev fees | 1,309 |
| Total liabilities | 67,847,624 |
| Actual USDC in the Exchange's HyperCore account | 67,847,625 |
Timelock queue and multisig transactions
| # | What it does | Status |
|---|---|---|
| tx0 | Sets the three signers | executed |
| tx1 | PaperTokenomics.setMintParams: $2M threshold, $10M staker cap, rate 100 | in Timelock ready Oct 17, 18:46 UTC |
| tx2 | Batch change of BTC and ETH market parameters in Exchange | not in Timelock |
| tx3 | Timelock.updateMinDelay(86400): delay 7 days → 1 day | in Timelock ready Oct 19, 22:01 UTC |
| tx4 | Change of ETH market parameters in Exchange | not in Timelock |
| tx5 | Transfer of 84,366 USDC from the multisig to 0x2d30…a274 | executed |
| tx6 | Transfer of 16,383 USDC from the multisig to 0x98f1…6d93 | executed |
The multisig also holds about $144k of the team's USDC. User funds are not there; they sit in the Exchange's HyperCore account.
Roles in Exchange
| Role | Address | What it can do |
|---|---|---|
| owner | Timelock 0xB915…EA0F | Everything, including upgrading the implementation |
| pauseGuardian | Multisig 0x6962…d1F6 | Halt opens, retire a market |
| marketKeeper | EOA 0x3721…cf99 | OI caps and trade minimums; can't move collateral |
| authorizedExecutor | BatchExecutor 0x233F…626E | Submit intents signed by users |
| devFeeRecipient | EOA 0xeef6…5792 | Claim dev fees |
Withdrawals
The bytecode includes withdrawToCore(uint256). Simulating it from an arbitrary address and from the BatchExecutor returned the same errors: "zero amount" and "no balance". So there's no caller restriction, and you can withdraw straight from your own wallet.
There is also withdrawToCoreBySig(user, amount, nonce, deadline, v, r, s): you sign a message and anyone can submit it. This isn't a hole. There's no recipient parameter, so funds go to the signer's own HyperCore account, and the nonce and deadline stop the signature from being reused. If the relayer starts censoring, any other wallet can submit the signature.
Addresses
| Contract | Address |
|---|---|
| Exchange | 0x6cd5661646289FB6E65EA5C032310fDEd797D0a2 |
| BatchExecutor | 0x233Ff29b239abc1D7748605dA9b205C3e008626E |
| PriceOracle | 0xa9B4c7b7Ca5835652d81E25739c870D49F39cC2e |
| SessionKeyManager | 0x8326Eb8896e358717f10502Ec73CE8D28E37B108 |
| DepositProxyFactory | 0x1629b7D46bef6E13FF754174FC9F32dEa309b38F |
| PaperToken | 0xe40f17915DAa230324030003A197cdAEf2261C0e |
| PaperStaking | 0xAAd6c7b0CC3014FC80FfEDAe0Ed7Ce5967b0F016 |
| PaperTokenomics | 0x75174549dbBD44497D31a47E2E2D7406408d63D9 |
| Timelock | 0xB915Fa41e824D6aA31BB833Ee81220C0F2c8EA0F |
| Multisig | 0x696292762fD5AC3677a45EdBe54EAECE4194d1F6 |
| ProxyAdmin | 0xe79c91cc682f1bb401a9cab74c900470190f0f8f |
| USDC (collateral) | 0xb88339CB7199b77E23DB6E890353E22632Ba630f |
| Multisig signers | 0xaa75…a88e · 0xe968…692e · 0x9028…1e72 |
08GitHub
There is no official Papertrade source code on GitHub, neither a current nor an older version. Neither the docs nor the site link to GitHub.
aa-matthew/papertrade-contract-research third-party
A reverse-engineering study of the deployed contracts, dated Oct 15. The author states: "Original Papertrade Solidity remains unavailable". The useful part is the ABIs pulled from the official frontend: they confirmed withdrawToCoreBySig, setMintParams and unpauseMarket.
The other repositories from the past week are also third-party: farming bots, SDKs, dashboards and a clone of the project on another network.
Mismatch with the docs. The docs say retiring a market is irreversible, yet unpauseMarket(uint32) exists in both the frontend ABI and the bytecode. Whether it works couldn't be tested, because no market is currently retired.
09Outlook
Rug within a week unlikely
The team does better by keeping it running: dev fees are already about $1.77M. The co-founder is public. The mechanism can't go bankrupt, and withdrawals don't depend on the relayer.
Hack within 1–2 weeks real risk
More likely economic than a code bug: another oracle manipulation, a HyperEVM/HyperCore desync or relayer timing games. Such an attack hits the pool, not deposits.
Gradual fade most likely
Emissions keep falling, and farmers will leave once PAPER costs more to farm than it's worth. Once transfers open, token dumping begins. If the pool drops below $2M, the rate returns to 100 and a second wave is possible.
10What wasn't verified
- Logic inside the implementations: there's no source, only bytecode and function names. Hidden behavior can't be ruled out.
- A withdrawal by a real user with a balance: the RPC returns logs only in 1,000-block ranges, so no funded addresses could be found.
- Whether
unpauseMarketworks after a market is retired. - Who holds the multisig signer keys, and whether they belong to one person.
- Whether a signed order carries a worst-price limit.
- Emissions, staker income and volume figures come from media and dashboards. Only balances, roles, the Timelock queue and the
setMintParamsparameters were checked on-chain.
11Security and risk summary
Risks are ranked by what they mean for a farming deposit. Likelihood is an estimate for the coming weeks based on the data gathered, not a precise calculation.
| Risk | Likelihood | What you lose | How to protect yourself |
|---|---|---|---|
| Farming economics: liquidations, hedge legs drifting apart, funding, rising costs as emissions fall | high | Part of the margin, plus costs on every cycle | Leverage up to 50–100x, manual closes, hedge on Hyperliquid, track every cycle |
| PAPER losing value: no liquidity, dilution to 14–18B, lower staker income after Oct 17 | high | Expected farming income, not the deposit | Treat PAPER as a lottery ticket. Stop farming when the token costs more to farm than its market estimate |
| Hidden logic or a bug in unverified code | unknown | Up to the entire deposit on Papertrade | Keep only the current cycle's margin there and withdraw regularly |
| Oracle manipulation (BBO) | medium | The protocol pool, not your balance. Indirectly: the payout queue and staker income | Don't hold winning positions while waiting for a payout; watch the queue |
| Session key theft or phishing | medium | Your balance, through forced trades. The key can't withdraw | revokeSessionKey between sessions; sign only on papertrade.xyz |
| Malicious upgrade by the team | low | The entire deposit on Papertrade | 7 days to react now, only 24 hours from Oct 19. Check the Timelock queue daily |
| Compromise of 2 of 3 multisig keys | low | The entire deposit, but only after the Timelock delay | The same Timelock monitoring |
| Parameter changes: emission curve, fees, caps | already happening | Farming yield | Operations appear in the Timelock in advance; factor them in |
| Relayer censorship | low | The ability to trade, not your funds | Direct withdrawToCore from your wallet; keep a little HYPE for gas |
Verdict
protected
Against an instant rug through the contracts. User funds are fully backed, and exiting doesn't depend on the team.
relies on trust
The code is closed, there's no audit, and the multisig is custom. From Oct 19, protection comes down to 24 hours' notice.
main risk
The main threat is economics, not a hack. Farming costs keep rising, PAPER can't be sold, and its income depends on new losers.
Bottom line. The contracts allow you to go in, but only with a small part of the amount and a daily Timelock check after Oct 19. Of the $50k, only one cycle's margin should sit on Papertrade; keep the rest on Hyperliquid for the hedge. Start with a $10–20 test withdrawal. Farming income is a bet on a token with no market, so don't plan on it as guaranteed.
12Sources
- Papertrade documentation (addresses, roles, risks)
- ChainCatcher: Winners queue up to receive money
- ChainCatcher: Manipulated and divested
- ChainCatcher: How to efficiently cultivate $PAPER
- KuCoin: BBO risks and position limits
- KuCoin: $33.9M holder revenue
- Crypto Briefing: $3B open interest at launch
- Hyperliquid Guide: fees and risks
- IQ.wiki: Papertrade
- Phemex: exploited for $1.28M
- crypto.news: Was Papertrade exploited?
- Chainstack: HyperEVM precompiles
- aa-matthew/papertrade-contract-research
- nirholas/papertrade-yield
- HyperEVM RPC
rpc.hyperliquid.xyz/evmand HyperCore APIapi.hyperliquid.xyz/info