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
EXECUTEDimmediately, 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
FAILEDwith 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).