We forked Hyperliquid and made HIP-3 the whole chain.
hip-03 is a fork of Hyperliquid's HyperCore. HIP-3 — Hyperliquid Improvement Proposal 3, launched October 2025 — let third-party builders deploy their own perpetual futures markets on the same L1 order books. On Hyperliquid that is an upgrade. On hip-03 it is the base layer. Anyone can deploy a coin that longs or shorts any crypto Hyperliquid already lists.
2,114 commits ahead of upstream · HIP-3 enshrined · AGPL-3.0
Permissionless perps on HyperCore, without asking the core team
HIP-3 is the upgrade Hyperliquid shipped in October 2025. Before it, every perpetual market on HyperCore was listed by the core team. After it, any builder who posts a HYPE bond can open a market: crypto, commodities, equities, FX. The market sits on the same high-performance L1 order book and the same unified matching engine. It is not a sidechain and it is not an isolated AMM. It is another book in the same engine.
That is why HIP-3 is frequently cited as 30% to 40% of total Hyperliquid trading volume, and up to 50% in peak windows. The liquidity is shared. The matching is shared. The only thing a builder brings is the market definition, the oracle binding, and the stake they can lose if they misbehave.
We forked Hyperliquid because we wanted that primitive as the default, not as an opt-in afterthought. hip-03 does not have a privileged listing process. Every perpetual on this chain is a HIP-3 market. Every coin you deploy is a long or a short on an underlying Hyperliquid already prices.
pub struct Hip3Market {
pub market_id: MarketId,
pub builder: Address,
pub underlying: HlIndex, // any Hyperliquid-listed crypto
pub side: PositionSide, // Long | Short
pub max_leverage: u32, // 1..=50
pub oracle: OracleBinding,
pub fees: FeeSchedule, // deployer-set, protocol floor
pub bond: StakeAccount, // 500_000 HYPE, slashable
}
pub enum PositionSide {
Long, // coin rises with the Hyperliquid index
Short, // coin rises as the index falls
}Four properties, none of them optional
HIP-3 is not a listing form. It is four consensus rules that have to hold at the same time or the market does not exist.
/// A HIP-3 book is not a guest. It is another BookId in the same
/// matching loop that clears BTC-USD. Priority is price-time across
/// the whole engine, not per-builder.
pub fn match_once(engine: &mut Engine, now: Timestamp) -> Vec<Fill> {
let mut fills = Vec::new();
while let Some((bid, ask)) = engine.best_cross() {
if bid.px < ask.px { break; }
let qty = bid.qty.min(ask.qty);
fills.push(engine.fill(bid.id, ask.id, qty, now));
engine.apply_hip3_pnl(bid.market, ask.market, qty);
}
fills
}
fn apply_hip3_pnl(engine: &mut Engine, market: MarketId, qty: i64) {
let m = engine.market(market);
let mark = engine.hl_index(m.underlying);
let signed = match m.side {
PositionSide::Long => mark,
PositionSide::Short => -mark,
};
engine.settle_coin(m.market_id, qty, signed);
}Deploy a coin. It is already long or short.
On Hyperliquid, HIP-3 gives you a perpetual market. On hip-03 we wrap that market in a coin. You pick an underlying Hyperliquid already supports — BTC, ETH, SOL, HYPE, a meme, an equity index — and you pick a side. The coin's mark is the Hyperliquid index, or its negation.
Holding the long coin is holding a long perp. Holding the short coin is holding a short perp. There is no separate position object for the casual holder; the balance is the position. Traders who want leverage still use the book. Everyone else can just hold the coin.
That is the product. Not another listing form. A permissionless factory for coins whose only job is to be long or short something Hyperliquid already prices.
Opening a BTC-short market from a cold node
$ hip03d --daemon --hip3 --oracle hl-main
hip-03 HyperCore daemon v1.3.0-hip3
engine: ready | books: 214 | hl index feed: 186 underlyings
bond registry: 41 builders, 20,500,000 HYPE locked
$ hip03-cli hip3 deploy \
--underlying BTC --side short --leverage 20 \
--symbol sBTC --name "hip-03 short BTC" \
--maker-bps 1 --taker-bps 4
{
"market_id": "0x0b3c…a91e",
"coin": "sBTC",
"underlying": "BTC",
"side": "short",
"bond": "500000.0 HYPE",
"book": "shared-l1",
"txid": "0x7a1c…e04d"
}
$ hip03-cli info ticker sBTC
{ "mark": 108241.5, "index": 108241.5, "funding": -0.000012, "oi": 18422000 }
$ hip03-cli hip3 volume-share --window 30d
{ "hip3_notional": "0.37", "peak_1h": "0.51", "native_notional": "0.63" }