Skip to main content
PUNCH DOCS: TRADING

TRADE. LONG OR SHORT. UP TO 50X.

Punch is live on Flow EVM with GMX v1 mechanics: oracle-priced execution against a basket-backed KLP pool—no order book to walk, no price impact from your own size. Robinhood Punch's Core Pool and modular KLP classes are covered in Architecture and the design paper.

MARKETS ON FLOW EVM

Flow EVM markets (chain ID 747)
TokenRoleOracle
PYUSD0Strict stable, 6 decimalsFixed price feed
WFLOWLong / shortPyth
WBTCLong / short, 8 decimalsPyth
WETHLong / shortPyth

PYUSD0 is the strict stable of the pool: collateral and settlement for shorts. WFLOW, WBTC, and WETH are all shortable. Contract addresses live in Chains & Contracts.

LEVERAGE & POSITION RULES

  • Maximum leverage: 50x (vault-enforced).
  • Minimum profit rules apply on volatile tokens: a position must clear 1.5% (150 bps) of profit if closed within the first 180 seconds, which blunts oracle-latency scalping.
  • Liquidation fires when collateral no longer covers losses plus fees. Liquidations execute against oracle prices. An eligible terminal liquidation may receive its class-configured PUNCH outcome weight, subject to every reward cap and the anti-manufacture bound (see Lose-to-Earn).

FEES

Fee schedule
FeeRateNotes
Open / close position0.10% of position sizeCharged on entry and exit
Borrow fee~0.01% per hourPaid by open positions to the pool, scales with utilization
Swap (pool)0.04% – 0.30%Dynamic, based on whether the swap improves pool balance
Liquidation$5 flatPaid to the keeper network

Protocol fees split 50/30/20: 50% to the local KLP pool's holders, 30% to protocol operations, and 20% to sPUNCH stakers. All of it is paid in the fee tokens themselves, not in emissions.

ORACLE & EXECUTION

Prices come from Pyth with a fixed-price feed for the strict stable. Pyth on Flow is a pull oracle: prices go stale after 60 seconds unless someone pushes an update on-chain. Punch does not run a 24/7 price pusher (that would cost thousands of FLOW/day). Instead, actions that read price synchronously bundle a Hermes price update in the same transaction; the user pays the oracle fee via getUpdateFee(updateData).

Which txs need a bundled price update (frontend)
ActionBundle update?
KLP deposit / withdrawYes: prices full basket (all 3 Pyth feeds)
Router swapYes: prices tokens involved in the swap
Open / close position (market)No: queued; keeper executes with fresh price
Limit / trigger ordersNo: keeper executes at fill time

Two safety gates apply to every Pyth-priced execution:

  • Staleness: a price older than 60 seconds is rejected.
  • Confidence: a price with a confidence interval wider than 50 bps of price is rejected.

Market orders are picked up and executed by keeper bots against a fresh oracle price; limit and trigger orders wait until their price hits, then execute. The keeper pays Pyth fees from the KeeperExecutor contract balance (separate from LP/swap user-funded updates).

CONNECTING

NETWORK DETAILS

Chain: Flow EVM (chain ID 747)

RPC: https://mainnet.evm.nodes.onflow.org

Explorer: https://evm.flowscan.io

Punch supports standard EVM wallets plus the native Flow Wallet. Access to the trading interface is restricted in some jurisdictions; see Risk & Disclosures.