Referência para desenvolvedores
Endereços dos contratos
Os contratos na mainnet da HyperEVM.
A mainnet da HyperEVM é a rede 999. Cada endereço leva ao explorador. Os contratos atualizáveis são proxies, e os endereços abaixo são os que devem ser chamados. Tudo nesta página é gerado na build a partir dos manifestos de implantação e da configuração do repositório; nada é digitado à mão. Sempre confira um endereço com esta página e o explorador antes de enviar qualquer coisa para ele.
- Exchange: saldos, posições, liquidação financeira das operações, o LP e a fila de pagamentos.
- BatchExecutor: repassa os lotes de intenções assinadas do relayer a uma lista fixa de funções.
- SessionKeyManager: registra, confere e revoga chaves de sessão, e verifica cada assinatura.
- BuilderRegistry: os builders aprovados e a taxa de builder (não atualizável).
- DepositProxyFactory: deriva e implanta o endereço de depósito de cada conta.
- Token BACK: o token com direito às taxas, cunhado para os traders que perdem.
- Staking: o staking do token e o acumulador de recompensas em USDC.
- Tokenomics: as regras de cunhagem, o LP contábil e o avanço da cauda.
- PriceOracle: um auxiliar de preços da Hyperliquid, somente leitura, para os serviços.
- ExchangeLens: visões somente leitura do Exchange para apps e serviços.
- ExchangeLens (preços): visões de preços somente leitura (preços de falência, prévias).
- CoreLens: visões somente leitura dos saldos na HyperCore.
Colateral e governança
- USDC: o token de garantia, o USDC nativo da Circle na HyperEVM.
0xb88339CB7199b77E23DB6E890353E22632Ba630f - Timelock: é dono de todos os contratos atualizáveis; cada ação do dono espera aqui 2 dias antes de poder ser executada.
- Timelock de papéis: controla quem tem os papéis do timelock, com um atraso de 7 dias.
- Multisig de governança: agenda e executa as ações do dono no timelock.
- Multisig guardiã: a chave de emergência: pausa a negociação, retira mercados e cancela ações agendadas.
- Multisig do tesouro: recebe a parte das taxas que cabe à equipe.
Todas as redes
O manifesto completo de cada rede: instrumentos, protocolo, governança e endereços externos.
Mainnet · Chain id 999
Em breve: publicado aqui assim que os contratos forem implantados nesta rede.
Rotas de fundos
| Rotas de fundos | Mainnet |
|---|---|
| HyperCore (spot ou perp da Hyperliquid) | ativada |
| HyperEVM | ativada |
| Solana (CCTP) | em breve |
| Arbitrum (CCTP) | em breve |
| Ethereum (CCTP) | em breve |
| Robinhood Chain (Across) | em breve |
Parâmetros
Todos os parâmetros que a documentação cita, com a fonte:
| Parâmetro | Valor | Fonte |
|---|---|---|
winFee | 2% | contracts/script/config/risk-profiles.json (parity) |
lossFee | 2% | contracts/script/config/risk-profiles.json (parity) |
liqFee | 2% | contracts/script/config/risk-profiles.json (parity) |
stakerFeeShare | 50% | contracts/script/config/risk-profiles.json (parity) constants.stakerFeeShift |
minMargin | $10 | contracts/script/config/risk-profiles.json (parity) |
minNotional | $500 | contracts/script/config/risk-profiles.json (parity) |
maxCloseIds | 25 | contracts/script/config/risk-profiles.json (parity) |
maxLiqBatch | 20 | contracts/script/config/risk-profiles.json (parity) |
maxOpenPositions | 64 | contracts/script/config/risk-profiles.json (parity) |
maxDebtNodes | 50 | contracts/script/config/risk-profiles.json (parity) |
harvestMaxEntries | 64 | contracts/script/config/risk-profiles.json (parity) |
stakingPrecision | 10^36 | contracts/script/config/risk-profiles.json (parity) |
stakingMinAlloc | 1 BACK | contracts/script/config/risk-profiles.json (parity) |
minDeposit | 10 USDC | contracts/script/config/risk-profiles.json (parity) minSweepWei |
activationFee | 1 USDC | contracts/script/config/risk-profiles.json (parity) activationFeeWei |
sweepFinalizeBlocks | 1 | contracts/script/config/risk-profiles.json (parity) |
sweepTimeoutBlocks | 5 | contracts/script/config/risk-profiles.json (parity) |
unconfirmedTtl | 30 dias | contracts/script/config/risk-profiles.json (parity) |
contractMinWithdraw | sem mínimo | contracts/script/config/risk-profiles.json (parity) minWithdraw6 |
maxLeverage | 1000× | contracts/script/config/risk-profiles.json (parity) |
maxNotional | $10,000,000 | contracts/script/config/risk-profiles.json (parity) |
deadband | 0.002% | contracts/script/config/risk-profiles.json (parity) deadbandDivisor |
deadbandDivisor | 50,000 | contracts/script/config/risk-profiles.json (parity) |
baseRate | 10% | contracts/script/config/risk-profiles.json (parity) |
maxImpactShare | 90% | contracts/script/config/risk-profiles.json (parity) 1 − baseRate |
rateMultiplier | 15,000 | contracts/script/config/risk-profiles.json (parity) |
referenceNotional | $100,000 | contracts/script/config/risk-profiles.json (parity) |
holdbackStandardBand | 0.0075%–0.06% | contracts/src/lib/PnlMath.sol (the payout curves) |
holdbackOffHoursBand | 0.003%–0.1% | contracts/src/lib/PnlMath.sol (the payout curves) |
holdbackStandardScale | 3.597 | contracts/src/lib/PnlMath.sol (the payout curves) |
holdbackOffHoursScale | 6.085 | contracts/src/lib/PnlMath.sol (the payout curves) |
holdbackStandardPeak | 0.0118% num movimento de 0.0338% | contracts/src/lib/PnlMath.sol (the payout curves) |
holdbackOffHoursPeak | 0.0204% num movimento de 0.0418% | contracts/src/lib/PnlMath.sol (the payout curves) |
builderFee | 0.5% | contracts/script/config/risk-profiles.json (parity) builderRegistry.maxBuilderFee |
builderFeeCap | 15% | contracts/src/lib/Bounds.sol MAX_TOTAL_FEE (ADR 0029) |
totalFeeCap | 15% | contracts/src/lib/Bounds.sol MAX_TOTAL_FEE (ADR 0029) |
stakerShare | 50% | contracts/script/config/risk-profiles.json (launch) exchange.stakerShareBps |
referralFee | 1.2% | contracts/script/config/risk-profiles.json (launch) exchange.referralFeeBps |
referralDiscount | 0.2% | contracts/script/config/risk-profiles.json (launch) exchange.referralDiscountBps |
referralFeeReferred | 1% | contracts/script/config/risk-profiles.json (launch) exchange.referralFeeBps − referralDiscountBps |
referralToReferrer | 1% | contracts/script/config/risk-profiles.json (launch) exchange.referralFeeBps − referralDiscountBps |
liqReferral | off | contracts/script/config/risk-profiles.json (launch) exchange.liqReferralEnabled |
insolvencyBonusMax | 5× | contracts/src/lib/RebateMath.sol (m = 1 + 4u(2 − u)) |
insolvencyBonusRamp | 3 dias | contracts/src/lib/RebateMath.sol BONUS_RAMP |
flatThreshold | $500,000 | contracts/script/config/risk-profiles.json (launch) |
flatRate | 100 | contracts/script/config/risk-profiles.json (launch) |
tailDecayScale | $120,000,000 | contracts/script/config/risk-profiles.json (launch) |
stakerRewardCap | $500,000 | contracts/script/config/risk-profiles.json (launch) |
lpSeed | $0 | contracts/script/config/risk-profiles.json (parity) |
tokenTransfers | desativado | contracts/script/config/risk-profiles.json (parity) |
instruments | BTC e ETH | contracts/script/config/risk-profiles.json (parity) |
intentTtl | 1 hora | contracts/script/config/mainnet.json |
intakeMaxTtl | 61 minutos | contracts/script/config/mainnet.json |
sessionKeyTtl | 30 dias | contracts/script/config/mainnet.json |
timelockDelay | 2 dias | contracts/script/config/mainnet.json |
roleTimelockDelay | 7 dias | contracts/script/config/mainnet.json |
chainId | 999 | contracts/script/config/mainnet.json |
closeHold | 6 segundos | services/relayer/src/intake/rules.ts DEFAULT_CLOSE_HOLD_MS |
intakeMinWithdraw | 10 USDC | services/relayer/src/intake/rules.ts |
sessionKeyLimit | 8 | services/relayer/src/intake/rules.ts |
maxActiveIntents | 32 | services/relayer/src/intake/rules.ts |
distributeInterval | 30 segundos | services/keepers/src/config.ts |
distributeMinUsd | $100 | services/keepers/src/config.ts |
onwardGasAllowance | 0.1 USDC | packages/hl/src/onward.ts ONWARD_GAS_ALLOWANCE6 |
usdDecimals | 18 | constants.json precision.USD_DECIMALS |
wadDecimals | 18 | constants.json precision.WAD |
maxRevokeKeys | 32 | constants.json |
harvestKeeperEntries | 32 | services/keepers/src/config.ts HARVEST_MAX_ENTRIES |
precompile.bbo | 0x000000000000000000000000000000000000080e | packages/chain/src/precompileLens.ts PRECOMPILES.bbo |
precompile.mark | 0x0000000000000000000000000000000000000806 | packages/chain/src/precompileLens.ts PRECOMPILES.markPx |
precompile.oracle | 0x0000000000000000000000000000000000000807 | packages/chain/src/precompileLens.ts PRECOMPILES.oraclePx |
coreWriter | 0x3333333333333333333333333333333333333333 | packages/chain/src/decoder.ts CORE_WRITER_ADDRESS |
capBand | 10% | config/stages/s0..s3.json offchain.keeper.defaults.bandBps |
assetIndex.BTC | 0 | contracts/script/config/mainnet.json instruments |
assetIndex.ETH | 1 | contracts/script/config/mainnet.json instruments |
bustBuffer.BTC | 0.0476% | contracts/script/config/risk-profiles.json (parity) |
positionMultiplier.BTC | 814.598 | contracts/script/config/risk-profiles.json (parity) |
maxLeverage.BTC | 1000× | contracts/script/config/risk-profiles.json (parity) |
bustDistance.BTC | 0.0524% | contracts/script/config/risk-profiles.json (parity): PnlMath.bustPrice at maxLeverage |
bustBuffer.ETH | 0.0481% | contracts/script/config/risk-profiles.json (parity) |
positionMultiplier.ETH | 483.979 | contracts/script/config/risk-profiles.json (parity) |
maxLeverage.ETH | 1000× | contracts/script/config/risk-profiles.json (parity) |
bustDistance.ETH | 0.0519% | contracts/script/config/risk-profiles.json (parity): PnlMath.bustPrice at maxLeverage |
Limites dos contratos
Os limites que cada setter de governança verifica, as constantes fixadas no código e as codificações que mantêm desligada uma defesa inativa, exatamente como os contratos os exportam (inteiros brutos; valores em USD têm as casas decimais de USD, taxas são wads):
| Parâmetro | Valor |
|---|---|
WAD | 1,000,000,000,000,000,000 |
BPS | 10,000 |
ACC_PRECISION | 1,000,000,000,000,000,000,000,000,000,000,000,000 |
USD_DECIMALS | 18 |
USDC_EVM_DECIMALS | 6 |
CORE_USDC_WEI_DECIMALS | 8 |
PERP_USD_DECIMALS | 6 |
MAX_TOTAL_FEE | 150,000,000,000,000,000 |
BPS | 10,000 |
BPS_TO_WAD | 100,000,000,000,000 |
MIN_MARGIN_LOWER | 1,000,000,000,000,000,000 |
MIN_MARGIN_UPPER | 10,000,000,000,000,000,000,000 |
MIN_NOTIONAL_LOWER | 10,000,000,000,000,000,000 |
MIN_NOTIONAL_UPPER | 1,000,000,000,000,000,000,000,000 |
MAX_LEVERAGE_LOWER | 1 |
MAX_LEVERAGE_UPPER | 1,000 |
MAX_NOTIONAL_UPPER | 50,000,000,000,000,000,000,000,000 |
MAX_BUST_BUFFER | 10,000,000,000,000,000 |
MAX_BUST_BUFFER_TIMES_LEVERAGE | 500,000,000,000,000,000 |
DEADBAND_DIVISOR_LOWER | 20,000 |
DEADBAND_DIVISOR_UPPER | 10,000,000 |
MAX_BASE_RATE | 500,000,000,000,000,000 |
MAX_BASE_RATE_STEP | 50,000,000,000,000,000 |
RATE_MULTIPLIER_LOWER | 1,000,000,000,000,000,000 |
RATE_MULTIPLIER_UPPER | 1,000,000,000,000,000,000,000,000 |
POSITION_MULTIPLIER_LOWER | 1,000,000,000,000,000,000 |
POSITION_MULTIPLIER_UPPER | 1,000,000,000,000,000,000,000,000 |
REFERENCE_NOTIONAL_LOWER | 1,000,000,000,000,000,000,000 |
REFERENCE_NOTIONAL_UPPER | 100,000,000,000,000,000,000,000,000 |
MAX_ASSET_INDEX_EXCLUSIVE | 10,000 |
MAX_INSTRUMENTS | 16 |
GUARD_MODE_MAX | 2 |
MAX_SPREAD_BPS_LOWER | 1 |
MAX_SPREAD_BPS_UPPER | 500 |
MARK_BAND_BPS_LOWER | 1 |
MARK_BAND_BPS_UPPER | 1,000 |
ORACLE_BAND_BPS_LOWER | 1 |
ORACLE_BAND_BPS_UPPER | 2,000 |
MAX_CLAMP_BPS | 1,000 |
CLAMP_OFF | 65,535 |
MAX_PROFIT_HOLD_SECS | 300 |
DEFAULT_MAX_SPREAD_BPS | 5 |
DEFAULT_MARK_BAND_BPS | 15 |
DEFAULT_ORACLE_BAND_BPS | 75 |
DEFAULT_MARK_CLAMP_BPS | 3 |
DEFAULT_ORACLE_CLAMP_BPS | 12 |
FLOW_OFF | 0 |
ACCOUNT_CAP_OFF | 0 |
MAX_SIDE_CAP_EQUITY_BPS | 1,000,000 |
SIDE_CAP_OFF | 4,294,967,295 |
CAP_CEILING_OFF | 340,282,366,920,938,463,463,374,607,431,768,211,455 |
MAX_CLOSE_IDS_LOWER | 1 |
MAX_CLOSE_IDS_UPPER | 25 |
MAX_LIQ_BATCH_LOWER | 1 |
MAX_LIQ_BATCH_UPPER | 50 |
MAX_OPEN_POSITIONS_LOWER | 1 |
MAX_OPEN_POSITIONS_UPPER | 256 |
MAX_DEBT_NODES_LOWER | 1 |
MAX_DEBT_NODES_UPPER | 100 |
MAX_AUTO_HARVEST_ENTRIES | 8 |
HARVEST_MAX_ENTRIES | 64 |
MAX_SYNC_ENTRIES | 32 |
BREAKER_HALF_LIFE_LOWER | 300 |
BREAKER_HALF_LIFE_UPPER | 86,400 |
MAX_DRAWDOWN_BPS | 10,000 |
DRAWDOWN_FLOOR_OFF | 340,282,366,920,938,463,463,374,607,431,768,211,455 |
AUTO_RESET_LOWER | 3,600 |
AUTO_RESET_UPPER | 604,800 |
GUARDIAN_RESET_DELAY_LOWER | 60 |
GUARDIAN_RESET_DELAY_UPPER | 3,600 |
GUARDIAN_TRIPS_PER_WINDOW | 2 |
GUARDIAN_TRIP_WINDOW | 86,400 |
MIN_SWEEP_WEI_LOWER | 100,000,000 |
MIN_SWEEP_WEI_UPPER | 100,000,000,000 |
MAX_SWEEP_RESERVE_WEI | 100,000,000 |
FINALIZE_DELAY_LOWER | 1 |
FINALIZE_DELAY_UPPER | 10 |
SWEEP_TIMEOUT_UPPER | 600 |
IN_FLIGHT_RING_SIZE | 8 |
IN_FLIGHT_WINDOW_LOWER | 1 |
UNCONFIRMED_TTL_LOWER | 86,400 |
UNCONFIRMED_TTL_UPPER | 7,776,000 |
MAX_MIN_WITHDRAW6 | 100,000,000 |
MAX_ACTIVATION_FEE_WEI | 1,000,000,000 |
DIRECT_CLOSE_MODE_MAX | 2 |
FAILSAFE_DELAY_LOWER | 600 |
FAILSAFE_DELAY_UPPER | 604,800 |
PRECOMPILE_GAS_LOWER | 20,000 |
PRECOMPILE_GAS_UPPER | 200,000 |
HOOK_GAS | 200,000 |
HOOK_GAS_OVERHEAD | 12,000 |
HOOK_GAS_FLOOR | 215,175 |
INTENT_TTL_LOWER | 300 |
INTENT_TTL_UPPER | 86,400 |
SESSION_DURATION_LOWER | 3,600 |
SESSION_DURATION_UPPER | 7,776,000 |
TTL_OFF | 4,294,967,295 |
MAX_REVOKE_KEYS | 32 |
MAX_BATCH_CALLS | 32 |
MAX_RESULT_BYTES | 256 |
CORE_LENS_READ_GAS | 30,000 |
MAX_FLAT_THRESHOLD_USD | 1,000,000,000,000,000,000,000,000,000 |
MAX_FLAT_RATE | 1,000,000,000,000,000,000,000 |
TAIL_DECAY_SCALE_LOWER | 1,000,000,000,000,000,000,000,000 |
TAIL_DECAY_SCALE_UPPER | 1,000,000,000,000,000,000,000,000,000,000 |
STAKER_CAP_UPPER | 10,000,000,000,000,000,000,000,000,000 |
MIN_ALLOC | 1,000,000,000,000,000,000 |