Skip to content

HyperCore actions

Photon relays to Hyperliquid's HyperCore — the order-book L1 — as a first-class chain. Core is not an EVM: actions (orders, transfers, vault deposits, staking) are EIP-712-signed JSON, there is no gas, and acceptance is synchronous. You sign the action; Photon submits it, absorbs transient API failures with retries, and reports the result through the same status, webhook, and WebSocket surfaces as every other chain.

Submitting a Core action

Use Submit a transaction with the HyperCore chain id and the complete signed exchange request — the object {action, nonce, signature} — base64-encoded in callData:

REQUEST='{"action":{"type":"spotSend","hyperliquidChain":"Testnet","signatureChainId":"0x66eee","destination":"0x…","token":"USDC","amount":"5","time":1753900000000},"nonce":1753900000000,"signature":{"r":"0x…","s":"0x…","v":27}}'

curl -X POST https://photon.example.com/api/submit-tx \
  -H "api-key: $EDITH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chainId": 10200001,
    "to": "",
    "callData": "'"$(printf '%s' "$REQUEST" | base64)"'",
    "label": "core-spot-send"
  }'

Rules that differ from EVM chains:

Field On HyperCore
callData Required: base64 of the signed {action, nonce, signature} object.
to, value Unused (to may be empty).
Gas fields Rejected — Core has no gas.
authorizationList Rejected — no EIP-7702 on Core.
costUSD Always 0.

Semantics

  • Acceptance is execution. Core's API answers synchronously: an accepted action lands as EXECUTED immediately, with the exchange response attached as the receipt (includeReceipt=true).
  • Rejections are final. A rejected action (bad signature, expired nonce, unknown user) is deterministic — the record goes to FAILED with the exchange's reason in the revert info, and is never retried.
  • Transport failures retry. Rate-limit and availability errors follow the normal retry-with-backoff path.
  • Nonces are yours. A Core nonce is a millisecond timestamp inside the signed payload — Photon cannot change it. Sign with the current time and submit promptly.

Signing

Core has two signing families — user-signed actions (transfers, vault transfers, staking) and L1 actions (orders) — both producing the {r, s, v} signature the wire format carries. If you're integrating yield rather than raw actions, Meadow builds the signable payloads for you; its Core venues use exactly this relay path.

Chain ids

Network Chain id
HyperCore (mainnet) 10200000
HyperCore testnet 10200001

The EVM side of Hyperliquid — HyperEVM, chain ids 999/998 — is an ordinary EVM chain in Photon: standard relaying applies, with two caveats listed on Supported networks (no EIP-7702, and a 3M per-transaction gas ceiling from its dual-block design).