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
| Token | Role | Oracle |
|---|---|---|
| PYUSD0 | Strict stable, 6 decimals | Fixed price feed |
| WFLOW | Long / short | Pyth |
| WBTC | Long / short, 8 decimals | Pyth |
| WETH | Long / short | Pyth |
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 | Rate | Notes |
|---|---|---|
| Open / close position | 0.10% of position size | Charged on entry and exit |
| Borrow fee | ~0.01% per hour | Paid 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 flat | Paid 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).
| Action | Bundle update? |
|---|---|
| KLP deposit / withdraw | Yes: prices full basket (all 3 Pyth feeds) |
| Router swap | Yes: prices tokens involved in the swap |
| Open / close position (market) | No: queued; keeper executes with fresh price |
| Limit / trigger orders | No: 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.