---
title: "Elysium에서 토큰을 출시하고 Hyperliquid에서 트레이딩하는 방법"
description: "Hyperliquid L2인 Elysium에서 토큰을 출시하고 HyperCore 현물 오더북에서 트레이딩하세요. Foundry와 Alchemy로 배포하고, HyperEVM으로 미러링한 다음 상장합니다."
datePublished: "2026-11-10"
dateModified: "2026-11-10"
---

# Elysium에서 토큰을 출시하고 Hyperliquid에서 트레이딩하는 방법

<ImageBlock
  src="https://media.alchemy.com/overviews/how-to-launch-a-token-on-elysium-hyperliquid-hero-20261110.png"
  alt="Elysium에서 토큰을 출시하고 HyperCore 오더북에 올리기"
  width={1920}
  height={900}
  priority
/>

Elysium은 Kinetiq의 Hyperliquid 레이어 2이며, [메인넷은 11월 9일에 출시되었습니다](https://www.alchemy.com/blog/elysium-mainnet-is-live-on-alchemy). Elysium은 HYPE를 가스로 사용하고 HyperEVM에 정산하는 100 ms 블록의 EVM 체인입니다. Elysium 토큰은 Hyperliquid 자체 오더북에서 거래될 수 있습니다. 이 가이드는 그 전체 과정을 안내합니다. Foundry와 저희 Elysium RPC로 Elysium에 ERC-20을 배포하고, HyperEVM으로 미러링한 다음, 토큰을 USDC 페어 현물 오더북에 올리는 HyperCore 상장 절차를 진행합니다.

배포와 미러링은 비용이 저렴하고 퍼미션리스로 진행되지만, 첫 미러 민팅은 약 5.5일의 챌린지 기간을 기다려야 합니다. HyperCore 상장은 Hyperliquid에서 발행자가 한 번 수행하는 절차이며, 가격이 500 HYPE 아래로 내려가지 않는 티커 경매로 시작합니다. 이 절차가 끝나면 모든 보유자가 브릿지를 통해 Elysium, HyperEVM, HyperCore 사이에서 토큰을 옮길 수 있습니다.

## 출시 전에 Elysium에 대해 무엇을 알아야 하는가?

Elysium은 HyperEVM에 정산하고 HyperCore와 같은 곳에 배치되어 실행되는 [Kinetiq이 구축한 Arbitrum Orbit 체인](https://elysium.kinetiq.xyz/docs/what-is-elysium)입니다. HyperCore는 Hyperliquid의 현물 및 무기한 선물 오더북이 있는 거래소 레이어입니다. HyperEVM은 같은 Hyperliquid L1에서 HyperCore와 나란히 실행되는 EVM 환경입니다. 저희 게시물 [Alchemy, Hyperliquid에 올인하다](https://www.alchemy.com/blog/alchemy-going-all-in-on-hyperliquid)에서 두 부분이 어떻게 맞물리는지 설명하며, 저희 [Elysium 트레이딩 가이드](https://www.alchemy.com/overviews/how-to-trade-on-elysium-hyperliquid-l2)에서는 Hyperliquid에 L2가 필요한 이유부터 Elysium에서 출시되는 앱까지 체인 자체를 더 깊이 다룹니다.

[HyperEVM](https://www.alchemy.com/hyperevm)은 의도적으로 처리량을 제한합니다. [소형 블록은 1초에 한 번 3M 가스를 담고](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/hyperevm/dual-block-architecture), 30M 가스는 1분 주기의 대형 블록에만 담깁니다. Kinetiq은 [초당 여러 번 호가를 갱신하는](https://elysium.kinetiq.xyz/docs/what-is-elysium) 마켓 메이커처럼 더 많은 용량이 필요한 워크로드를 위해 Elysium을 구축했습니다. Elysium은 300 Mgas/s(초당 백만 가스)의 실행을 목표로 하며, 이는 HyperEVM의 대략 100배 수준입니다. 그러면서도 트랜잭션에 필요한 토큰은 HYPE 하나뿐입니다.

<EmbeddedTable
  table={{
    columns: [
      { key: "feature", width: 180, title: "", dataType: "object" },
      { key: "elysium", width: 260, title: "Elysium", dataType: "object" },
      { key: "hyperevm", width: 260, title: "HyperEVM", dataType: "object" },
    ],
    data: [
      {
        feature: { title: "블록 타임", tooltip: "", icon: "" },
        elysium: { title: "100 ms 정식 블록", tooltip: "", icon: "" },
        hyperevm: {
          title: "소형 블록 1초, 대형 블록 1분",
          tooltip: "",
          icon: "",
        },
        id: 0,
      },
      {
        feature: { title: "가스 처리량", tooltip: "", icon: "" },
        elysium: { title: "목표 300 Mgas/s", tooltip: "", icon: "" },
        hyperevm: { title: "소형 블록당 3M 가스", tooltip: "", icon: "" },
        id: 1,
      },
      {
        feature: { title: "가스 토큰", tooltip: "", icon: "" },
        elysium: {
          title: "HYPE, 네이티브 가스로 1:1 브릿지",
          tooltip: "",
          icon: "",
        },
        hyperevm: { title: "HYPE", tooltip: "", icon: "" },
        id: 2,
      },
      {
        feature: { title: "스택", tooltip: "", icon: "" },
        elysium: {
          title: "Arbitrum Orbit (Nitro 및 ArbOS)",
          tooltip: "",
          icon: "",
        },
        hyperevm: { title: "Hyperliquid L1", tooltip: "", icon: "" },
        id: 3,
      },
      {
        feature: {
          title: "컨트랙트의 HyperCore 접근",
          tooltip: "",
          icon: "",
        },
        elysium: {
          title: "메인넷 출시 약 4주 후 읽기·쓰기 레인 도입 예정",
          tooltip: "",
          icon: "",
        },
        hyperevm: {
          title: "읽기 프리컴파일과 CoreWriter",
          tooltip: "",
          icon: "",
        },
        id: 4,
      },
    ],
  }}
/>

Elysium의 블록은 실제 정식(canonical) 블록이며 그 위에 [사전 확인(preconfirmation) 레이어가 없으므로](https://elysium.kinetiq.xyz/docs/blocks-fees-and-ordering), `latest`와 트랜잭션 영수증은 평소와 같은 의미를 갖습니다. Solidity, Foundry, Hardhat, viem은 수정 없이 그대로 동작합니다. Kinetiq은 또한 체인의 활동을 이끄는 앱을 만든 빌더에게 [시퀀서 수수료의 25%를 배분하기로 약속했습니다](https://x.com/Kinetiq_xyz/status/2091888509472932145).

저희는 Elysium의 주요 RPC 제공업체이며, Kinetiq 문서는 저희를 [Elysium 추천 인프라 제공업체](https://elysium.kinetiq.xyz/docs/connecting-to-elysium)로 소개합니다. 저희 [Elysium RPC 페이지](https://www.alchemy.com/rpc/elysium)와 [Elysium API 퀵스타트](https://www.alchemy.com/docs/reference/elysium-api-quickstart)에서 메인넷 엔드포인트를 확인할 수 있습니다. 저희 [Elysium API FAQ](https://www.alchemy.com/docs/reference/elysium-api-faq)의 다음 두 가지 세부 사항을 알아 두면 디버깅 시간을 줄일 수 있습니다:

- **`viem/chains`의 `elysiumTestnet` export는 다른 체인입니다**. 관련 없는 다른 프로젝트의 체인이므로, Kinetiq의 Elysium은 `defineChain`으로 직접 정의하세요.
- **단순 HYPE 전송에는 21,000 가스보다 약간 더 많은 비용이 듭니다**. Arbitrum 체인은 상위 체인 데이터 비용으로 소량의 가스를 더하므로, 가스 한도를 `21000`으로 하드코딩하면 `intrinsic gas too low` 오류로 실패합니다.

## 토큰은 어떻게 Elysium에서 HyperCore 오더북까지 이동하는가?

토큰은 두 번의 브릿지 구간을 거치며, 구간마다 별도의 설정이 필요합니다:

<CodeSnippet
  language="text"
  code={`Elysium     your ERC-20
              |  mirror bridge: lock on Elysium, mint a 1:1 mirror on HyperEVM
              v
HyperEVM    the mirror, a plain ERC-20
              |  deposit wallet: escrow on HyperEVM that HyperCore credits and debits
              v
HyperCore   a spot token with an order book against USDC`}
/>

<EmbeddedTable
  table={{
    columns: [
      { key: "hop", width: 200, title: "구간", dataType: "object" },
      { key: "who", width: 200, title: "설정 주체", dataType: "object" },
      { key: "cost", width: 200, title: "일회성 비용", dataType: "object" },
      {
        key: "after",
        width: 280,
        title: "이후 보유자가 할 수 있는 일",
        dataType: "object",
      },
    ],
    data: [
      {
        hop: {
          title: "Elysium에서 HyperEVM으로 (미러 브릿지)",
          tooltip: "",
          icon: "",
        },
        who: { title: "누구나, 트랜잭션 2건으로", tooltip: "", icon: "" },
        cost: {
          title: "가스 및 크로스체인 메시지용 소액의 HYPE 수수료",
          tooltip: "",
          icon: "",
        },
        after: {
          title:
            "Elysium에서 잠가 미러 민팅(약 5.5일), 미러를 소각해 Elysium에서 해제(약 1분)",
          tooltip: "",
          icon: "",
        },
        id: 0,
      },
      {
        hop: {
          title: "HyperEVM에서 HyperCore로 (입금 지갑)",
          tooltip: "",
          icon: "",
        },
        who: {
          title: "티커 경매에서 낙찰받은 주소",
          tooltip: "",
          icon: "",
        },
        cost: {
          title: "티커 경매, 최저가 500 HYPE",
          tooltip: "",
          icon: "",
        },
        after: {
          title: "HyperCore로 입금, HyperEVM으로 다시 출금",
          tooltip: "",
          icon: "",
        },
        id: 1,
      },
    ],
  }}
/>

[미러 브릿지](https://elysium.kinetiq.xyz/docs/bridging-elysium-tokens-to-hyperevm)를 사용하는 데 토큰에 별도의 코드는 필요하지 않습니다. 미러 브릿지는 Elysium의 원본 토큰을 에스크로 지갑에 잠그고 HyperEVM에서 1:1 미러를 민팅하므로, 미러의 공급량은 항상 잠긴 수량과 같습니다.

HyperCore는 각 현물 토큰을 하나의 EVM 컨트랙트에 연결하며, 배포자는 그 컨트랙트에 대한 제어권을 증명해야 합니다. 지갑에서 직접 배포한 컨트랙트는 배포 논스로 이를 증명합니다. 미러는 브릿지 팩토리가 배포하므로 이 방식으로는 증명할 수 없습니다. [입금 지갑(deposit wallet)](https://elysium.kinetiq.xyz/docs/hypercore-bridging-via-deposit-wallets)은 Circle이 USDC를 연결할 때 쓰는 패턴을 따라 이 문제를 해결합니다. 입금 지갑은 미러를 에스크로로 보관하고, HyperCore가 팩토리로 배포된 컨트랙트에 대해 읽는 스토리지 슬롯에 여러분의 서명 주소를 저장하며, HyperCore가 연결하는 컨트랙트가 됩니다.

이 과정의 세 가지 선택은 되돌릴 수 없으므로, 비용을 쓰기 전에 확정하세요. 바로 토큰의 HyperCore 소수점 자릿수(티커를 낙찰받을 때 고정됨), 제네시스 공급량, 그리고 HyperCore 토큰과 입금 지갑 사이의 연결입니다.

## Elysium에 토큰을 배포하려면 어떻게 해야 하는가?

체인에 무언가를 보내기 전에 세 가지가 필요합니다:

- **Elysium 엔드포인트**. [Alchemy 대시보드](https://dashboard.alchemy.com/)에서 앱을 생성하고 Elysium을 선택하세요.
- **Elysium의 HYPE**. HYPE는 [Kinetiq의 브릿지](https://elysium.kinetiq.xyz/bridge)를 통해 HyperEVM에서 1:1로 브릿지되어 네이티브 가스로 도착하며, 중간에 래핑된 토큰은 없습니다.
- **Foundry**. 아래의 모든 명령은 `forge`와 `cast`를 사용하며, Elysium, HyperEVM, HyperCore에서 같은 배포자 키로 서명합니다.

미러 브릿지는 다음 세 가지 속성을 갖춘 표준 ERC-20이라면 무엇이든 받습니다. 브릿지는 메타데이터로 토큰과 미러를 짝지으므로 토큰은 `name()`, `symbol()`, `decimals()`를 노출해야 합니다. 이 메타데이터는 절대 바뀌지 않아야 합니다. 또한 전송 시 요청한 수량이 정확히 이동해야 하므로, 전송 수수료(fee-on-transfer) 토큰과 리베이싱(rebasing) 토큰은 사용할 수 없습니다. 일반 OpenZeppelin ERC-20은 세 가지를 모두 충족합니다. 저희 [Solidity ERC-20 토큰 가이드](https://www.alchemy.com/overviews/erc20-solidity)에서 각 함수의 역할을 다룹니다.

공급량은 지금 HyperCore의 한도에 맞춰 계획하세요. HyperCore는 잔액을 64비트 정수로 저장하고 [wei 소수점 자릿수를 최대 8자리까지](https://hyperliquid.gitbook.io/hyperliquid-docs/hyperliquid-improvement-proposals-hips/frontend-checks) 허용하므로, 소수점 자릿수가 8인 토큰의 상한은 토큰 단위로 약 1,840억 개입니다. 10억 개의 고정 공급량은 여유 있게 들어갑니다:

<CodeSnippet
  language="solidity"
  code={`// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract ExampleToken is ERC20 {
    constructor() ERC20("Example Token", "EXMPL") {
        _mint(msg.sender, 1_000_000_000 * 10 ** decimals());
    }
}`}
/>

OpenZeppelin의 ERC-20은 생성자에서 이름과 심볼을 한 번만 설정하며, 민팅 함수가 없으므로 공급량은 배포 시점에 고정됩니다. 컨트랙트를 `src/ExampleToken.sol`로 저장하고 배포하세요:

<CodeSnippet
  language="bash"
  code={`forge init example-token && cd example-token
forge install OpenZeppelin/openzeppelin-contracts
# Save the contract above as src/ExampleToken.sol, then import your deployer key once.
cast wallet import deployer --interactive
export ELYSIUM_RPC="https://elysium-mainnet.g.alchemy.com/v2/$ALCHEMY_API_KEY"
forge create src/ExampleToken.sol:ExampleToken \\
  --rpc-url "$ELYSIUM_RPC" \\
  --account deployer \\
  --broadcast`}
/>

`cast wallet import`는 키를 암호화된 키스토어에 저장하고 `--account`는 서명 시점에 키스토어를 잠금 해제하므로, 원시 키가 셸 기록에 남지 않습니다. 저희 [Robinhood Chain 토큰 가이드](https://www.alchemy.com/overviews/launch-a-memecoin-on-robinhood-chain)는 또 다른 Arbitrum Orbit 체인에서 같은 흐름을 사용합니다.

블록 속도를 직접 확인하려면 WebSocket 엔드포인트로 새 블록을 구독하세요. 이 속도에서는 HTTP 폴링이 폴링 사이의 블록을 건너뛰므로, 여기서는 WebSocket URL을 사용하세요:

<CodeSnippet
  language="typescript"
  code={`import { createPublicClient, defineChain, webSocket } from "viem";
const wssUrl = process.env.ELYSIUM_WSS;
if (!wssUrl) throw new Error("Set ELYSIUM_WSS to your Alchemy Elysium WebSocket URL");
// viem/chains exports an unrelated chain called elysiumTestnet, so define Elysium yourself.
const elysium = defineChain({
  id: 99901, // Elysium mainnet
  name: "Elysium",
  nativeCurrency: { name: "HYPE", symbol: "HYPE", decimals: 18 },
  rpcUrls: { default: { http: [], webSocket: [wssUrl] } },
});
const client = createPublicClient({ chain: elysium, transport: webSocket(wssUrl) });
let previous;
client.watchBlocks({
  onBlock: (block) => {
    const now = Date.now();
    if (previous) console.log(\`block \${block.number} arrived \${now - previous} ms after the last one\`);
    previous = now;
  },
  onError: (error) => console.error(error.message),
});`}
/>

`ELYSIUM_WSS`를 여러분의 키가 포함된 `wss://elysium-mainnet.g.alchemy.com/v2/` URL로 설정하세요. [Elysium 익스플로러](https://elysium.kinetiq.xyz/explorer)에서 토큰과 해당 트랜잭션을 조회할 수 있습니다.

## 토큰을 HyperEVM으로 미러링하려면 어떻게 해야 하는가?

미러 브릿지는 두 부분으로 구성됩니다. Elysium의 에스크로 지갑은 잠긴 토큰을 보관하고, HyperEVM의 미러 ERC-20은 오직 브릿지만 민팅하고 소각할 수 있습니다. 설정은 퍼미션리스이며 각 체인에서 트랜잭션이 하나씩 필요하고, 순서는 상관없습니다. 아래 주소는 Kinetiq의 [컨트랙트 주소 페이지](https://elysium.kinetiq.xyz/docs/contract-addresses)에 있는 Elysium 메인넷 주소입니다. 자금을 보내기 전에 해당 페이지에서 확인하세요:

<CodeSnippet
  language="bash"
  code={`export HYPEREVM_RPC="https://hyperliquid-mainnet.g.alchemy.com/v2/$ALCHEMY_API_KEY"
export TOKEN=<your token's address on Elysium>
export BRIDGE_FACTORY=0x209B0476ec33841c661f41C0C260A3b8aF94164A   # ElysiumBridgeFactory, on Elysium
export MIRROR_FACTORY=0x473D61817Da6ce1a97aDC010FF1e96048504643B   # ElysiumMirrorFactory, on HyperEVM
export ELYSIUM_ROUTER=0x61EbbC3A29f1970aF2Ce862bA9c5364832E14d17   # gateway router, on Elysium
export DEPLOYER=$(cast wallet address --account deployer)
# Elysium: deploy the escrow wallet that will hold locked tokens.
cast send "$BRIDGE_FACTORY" "createL2Wallet(address)" "$TOKEN" \\
  --rpc-url "$ELYSIUM_RPC" --account deployer
# The one mirror address the factory derived from your token's name, symbol, and decimals.
export MIRROR=$(cast call "$BRIDGE_FACTORY" "expectedL1Mirror(address)(address)" "$TOKEN" --rpc-url "$ELYSIUM_RPC")`}
/>

HyperEVM 트랜잭션은 해당 주소에 미러를 배포하고, 양쪽 체인의 브릿지에 토큰 쌍을 등록합니다. 이 트랜잭션은 Elysium으로 가는 전달 메시지 두 개의 비용을 HYPE로 지불하며, 보내는 값은 두 메시지 예산의 합과 정확히 같아야 합니다. Kinetiq은 두 메시지가 도착 즉시 실행되도록 입찰 가스 가격을 Elysium의 현재 가스 가격의 2배로, 최소 0.5 gwei로 설정할 것을 권장합니다. 초과로 지불한 금액은 Elysium의 여러분 주소로 환불됩니다:

<CodeSnippet
  language="bash"
  code={`GAS_PRICE_BID=$(( $(cast gas-price --rpc-url "$ELYSIUM_RPC") * 2 ))   # 2x the current Elysium gas price
(( GAS_PRICE_BID < 500000000 )) && GAS_PRICE_BID=500000000            # at least 0.5 gwei
MAX_GAS=300000
MAX_SUBMISSION=400000000000000                                       # 0.0004 HYPE per message
VALUE_EACH=$(( MAX_SUBMISSION + MAX_GAS * GAS_PRICE_BID ))
cast send "$MIRROR_FACTORY" \\
  "createAndRegisterL1Mirror(address,string,string,uint8,(uint256,uint256,uint256,uint256,uint256,uint256,uint256,address))" \\
  "$TOKEN" "Example Token" "EXMPL" 18 \\
  "($MAX_SUBMISSION,$MAX_SUBMISSION,$MAX_GAS,$MAX_GAS,$GAS_PRICE_BID,$VALUE_EACH,$VALUE_EACH,$DEPLOYER)" \\
  --value $(( 2 * VALUE_EACH )) \\
  --rpc-url "$HYPEREVM_RPC" --account deployer`}
/>

토큰의 현재 온체인 이름, 심볼, 소수점 자릿수를 정확히 전달하세요. 팩토리는 어떤 메타데이터든 받지만, 공급량을 받을 수 있는 것은 토큰과 일치하는 미러뿐이며, 일치하지 않는 미러는 영원히 비어 있습니다. 두 메시지는 보통 1분 이내에 Elysium에 도착합니다. 하나가 실행에 실패하면, 같은 인수로 같은 등록을 다시 실행해 두 메시지를 재전송하세요.

이제 모든 보유자가 브릿지를 사용할 수 있습니다. 토큰을 옮기려면 Elysium에서 에스크로 지갑을 승인(approve)하고 라우터를 통해 보내세요. 라우터는 양방향 모두에서 미러 주소를 토큰 인수로 받습니다:

<CodeSnippet
  language="bash"
  code={`export WALLET=$(cast call "$BRIDGE_FACTORY" "l2WalletFor(address)(address)" "$TOKEN" --rpc-url "$ELYSIUM_RPC")
AMOUNT=$(cast to-wei 1000000)   # 1,000,000 tokens, converted to 18-decimal base units
cast send "$TOKEN" "approve(address,uint256)" "$WALLET" "$AMOUNT" \\
  --rpc-url "$ELYSIUM_RPC" --account deployer
cast send "$ELYSIUM_ROUTER" "outboundTransfer(address,address,uint256,uint256,uint256,bytes)" \\
  "$MIRROR" "$DEPLOYER" "$AMOUNT" 0 0 0x \\
  --rpc-url "$ELYSIUM_RPC" --account deployer`}
/>

잠금은 즉시 이루어집니다. 미러는 Elysium의 챌린지 기간이 지나면 HyperEVM에서 청구할 수 있습니다. 챌린지 기간은 옵티미스틱 롤업에서 나가는 메시지가 기다려야 하는 기간으로, [메인넷에서는 약 5.5일](https://elysium.kinetiq.xyz/docs/bridging-elysium-tokens-to-hyperevm)입니다. 누구나 청구할 수 있으며, 준비가 되면 [Kinetiq의 브릿지](https://elysium.kinetiq.xyz/bridge)에 해당 전송이 청구 가능으로 표시됩니다. 첫 미러 민팅은 이 대기 기간을 고려해 계획하세요. 청구가 완료되면 [Alchemy CLI](https://www.alchemy.com/agents)로 미러의 공급량을 확인하세요:

<CodeSnippet
  language="bash"
  code={`alchemy evm contract read "$MIRROR" "totalSupply()(uint256)" -n hyperliquid-mainnet`}
/>

돌아가는 방향은 더 빠릅니다. HyperEVM에서 미러를 소각하면 Elysium의 원본이 보통 1분 이내에 해제됩니다.

미러를 상장하는 통합 서비스는 주소만 믿지 말고 팩토리를 통해 미러를 검증해야 합니다. Kinetiq의 검증 방법은 두 가지 조회를 함께 사용합니다. 미러 팩토리의 `elysiumTokenOf(mirror)`가 원본 토큰을 반환해야 하고, 미러의 공급량이 0보다 커야 합니다. 일치하지 않는 미러는 공급량이 0보다 커질 수 없습니다.

## HyperCore 현물 오더북에 토큰을 상장하려면 어떻게 해야 하는가?

상장은 HyperCore에서 발행자가 수행하는 다섯 단계의 절차입니다. 티커를 구매하고, 입금 지갑을 생성하고, 제네시스를 실행하고, 토큰을 입금 지갑에 연결한 다음, 현물 페어를 등록합니다. [Kinetiq의 현물 배포 가이드](https://elysium.kinetiq.xyz/docs/hypercore-spot-deployment)에 전체 절차가 정리되어 있습니다. HyperCore 액션에는 티커를 낙찰받은 주소만 서명할 수 있으며, 티커 구매부터 오더북 개설까지 허용 목록(allowlist)이나 심사는 없습니다. 경매가 자체 일정에 따라 진행되므로, 실제로 이 절차는 며칠에 걸쳐 진행됩니다.

### 티커 경매 비용은 얼마인가?

티커는 [31시간 동안 진행되는 더치 옥션](https://hyperliquid.gitbook.io/hyperliquid-docs/hyperliquid-improvement-proposals-hips/hip-1-native-token-standard)으로 판매됩니다. 가격은 최저가 500 HYPE를 향해 선형으로 내려가며, 새 경매는 직전 낙찰가의 2배에서 시작하고, 직전 경매가 유찰되었다면 최저가에서 시작합니다. 배포가 중간에 멈추면 경매 대금을 환불받을 수 없으므로, Hyperliquid 문서는 배포자에게 동일한 배포를 먼저 테스트넷에서 리허설하도록 요청합니다.

아래 HyperCore 액션은 [Hyperliquid Python SDK](https://github.com/hyperliquid-dex/hyperliquid-python-sdk)를 사용하며, EVM 트랜잭션과 같은 Foundry 키스토어로 서명합니다:

<CodeSnippet
  language="python"
  code={`import getpass
import json
import pathlib
import eth_account
from hyperliquid.exchange import Exchange
from hyperliquid.info import Info
from hyperliquid.utils import constants
from hyperliquid.utils.signing import get_timestamp_ms, sign_l1_action
keystore = json.loads(pathlib.Path("~/.foundry/keystores/deployer").expanduser().read_text())
deployer = eth_account.Account.from_key(
    eth_account.Account.decrypt(keystore, getpass.getpass("Keystore password: "))
)
exchange = Exchange(deployer, base_url=constants.MAINNET_API_URL)
info = Info(constants.MAINNET_API_URL, skip_ws=True)
def ok(response):
    if response.get("status") != "ok":
        raise RuntimeError(response)
    return response
auction = info.post("/info", {"type": "spotDeployState", "user": deployer.address})["gasAuction"]
print("Current ticker price in HYPE:", auction["currentGas"])`}
/>

현재 얼리 액세스로 제공되는 저희 [HyperCore Data API](https://www.alchemy.com/docs/data/hypercore/rest-api/token-deployment/spot-deployment-state)도 같은 경매 상태를 제공합니다.

가격이 적당해지면 티커를 구매하세요. 이 호출로 HyperCore 소수점 자릿수 사양이 영구히 고정됩니다. 예시에서는 wei 소수점 자릿수 8과 사이즈 소수점 자릿수 2를 사용하며, 이는 wei 소수점 자릿수가 사이즈 소수점 자릿수에 5를 더한 값 이상이어야 한다는 HyperCore 규칙을 충족합니다. 입찰 상한은 HyperCore 단위로 지정하며, HyperCore에서 HYPE의 소수점 자릿수는 8입니다:

<CodeSnippet
  language="python"
  code={`MAX_GAS = 600 * 10**8   # refuse to pay more than 600 HYPE
result = ok(exchange.spot_deploy_register_token("EXMPL", 2, 8, MAX_GAS, "Example Token"))
TOKEN_INDEX = result["response"]["data"]
print("Ticker index:", TOKEN_INDEX)`}
/>

### 입금 지갑, 제네시스, 연결은 어떻게 맞물리는가?

티커가 아직 연결되지 않은 상태에서 HyperEVM에 입금 지갑을 생성하세요. 마지막 인수는 연결에 서명할 주소이며, 입금 지갑은 이 주소를 HyperCore가 확인하는 스토리지 슬롯에 기록합니다:

<CodeSnippet
  language="bash"
  code={`export DEPOSIT_WALLET_FACTORY=0x9aD2639eB48FD7dd0f6F310F04aF5A9f7937cf6c   # HyperCoreDepositFactory, on HyperEVM
export TOKEN_INDEX=<ticker index from the purchase>
cast send "$DEPOSIT_WALLET_FACTORY" "createWallet(address,uint64,address)" "$MIRROR" "$TOKEN_INDEX" "$DEPLOYER" \\
  --rpc-url "$HYPEREVM_RPC" --account deployer
cast call "$DEPOSIT_WALLET_FACTORY" "walletFor(address,uint64,address)(address)" "$MIRROR" "$TOKEN_INDEX" "$DEPLOYER" \\
  --rpc-url "$HYPEREVM_RPC"`}
/>

제네시스는 토큰의 HyperCore 공급량 전체를 생성합니다. 브릿지된 토큰은 공급량 전부가 토큰의 시스템 주소로 갑니다. 시스템 주소는 `0x20` 뒤에 티커 인덱스가 붙은, HyperCore의 예약된 주소입니다. 누군가 미러 토큰을 에스크로에 입금할 때만 공급량이 시스템 주소에서 빠져나오므로, HyperCore의 유통 공급량은 항상 입금 지갑이 보유한 수량과 일치합니다. 제네시스는 단 한 번만 실행할 수 있습니다. 브릿지된 토큰은 프로토콜이 운영하는 주문으로 새 오더북을 채우는 HIP-2 전략인 Hyperliquidity도 끕니다:

<CodeSnippet
  language="python"
  code={`MAX_SUPPLY_WEI = str(1_000_000_000 * 10**8)              # one billion tokens at 8 HyperCore decimals
SYSTEM_ADDRESS = "0x20" + format(TOKEN_INDEX, "038x")    # 0x20, then the index in the remaining 19 bytes
ok(exchange.spot_deploy_user_genesis(TOKEN_INDEX, [(SYSTEM_ADDRESS, MAX_SUPPLY_WEI)], []))
ok(exchange.spot_deploy_genesis(TOKEN_INDEX, MAX_SUPPLY_WEI, True))   # True = no Hyperliquidity`}
/>

연결은 두 개의 HyperCore 액션으로 이루어집니다. 입금 지갑을 지정하는 요청 액션과, 입금 지갑에 저장된 주소가 서명하는 확정(finalize) 액션입니다. 소수점 자릿수 오프셋은 ERC-20의 소수점 자릿수 18과 HyperCore 토큰의 소수점 자릿수 8의 차이입니다. SDK에는 이 액션들을 위한 헬퍼가 없으므로 직접 서명하고 전송하세요. 연결은 영구적입니다:

<CodeSnippet
  language="python"
  code={`DEPOSIT_WALLET = "<deposit wallet address from walletFor>"
def submit(action):
    nonce = get_timestamp_ms()
    signature = sign_l1_action(deployer, action, None, nonce, None, True)   # True = mainnet
    return ok(exchange.post("/exchange", {
        "action": action, "nonce": nonce, "signature": signature, "vaultAddress": None,
    }))
submit({"type": "spotDeploy", "requestEvmContract": {
    "token": TOKEN_INDEX, "address": DEPOSIT_WALLET.lower(), "evmExtraWeiDecimals": 10,
}})
submit({"type": "finalizeEvmContract", "token": TOKEN_INDEX, "input": "customStorageSlot"})`}
/>

이 시점부터는 토큰에 오더북이 생기기 전이라도 입금이 가능합니다.

### 오더북을 열려면 어떻게 해야 하는가?

USDC(토큰 인덱스 `0`)와의 현물 페어를 등록한 다음 Hyperliquidity를 등록하면 마켓이 생성됩니다. 두 번째 호출은 Hyperliquidity를 끈 경우에도 필요하며, 이때는 주문을 하나도 넣지 않고 시작 가격만 설정합니다:

<CodeSnippet
  language="python"
  code={`pair = ok(exchange.spot_deploy_register_spot(TOKEN_INDEX, 0))   # 0 = USDC
SPOT_INDEX = pair["response"]["data"]
START_PX = 0.01   # opening price in USDC; set it to a real price, not a placeholder
ok(exchange.spot_deploy_register_hyperliquidity(SPOT_INDEX, START_PX, 1, 0, None))   # 0 orders`}
/>

이제 보유자는 토큰을 HyperCore로 옮길 수 있습니다. 미러에 대해 입금 지갑을 승인하고, HyperCore 현물을 목적지로 지정해 `deposit`을 호출합니다. EVM 소수점 자릿수가 18이고 HyperCore 소수점 자릿수가 8이므로 수량은 10^10 기본 단위의 배수여야 하며, 토큰 단위의 정수 수량은 항상 이 조건을 충족합니다:

<CodeSnippet
  language="bash"
  code={`export DEPOSIT_WALLET=<deposit wallet address>
AMOUNT=$(cast to-wei 1000)   # 1,000 tokens
cast send "$MIRROR" "approve(address,uint256)" "$DEPOSIT_WALLET" "$AMOUNT" \\
  --rpc-url "$HYPEREVM_RPC" --account deployer
cast send "$DEPOSIT_WALLET" "deposit(uint256,uint32)" "$AMOUNT" 4294967295 \\
  --rpc-url "$HYPEREVM_RPC" --account deployer   # 4294967295 routes to HyperCore spot`}
/>

HyperCore는 다음 블록에서 잔액을 반영합니다. 되돌아갈 때는 시스템 주소로 `sendAsset` 액션을 보내며, 그러면 HyperEVM의 에스크로에서 미러가 지급됩니다. Hyperliquidity를 끈 상태에서는 새 오더북이 비어 있는 채로 시작합니다. 여러분의 팀이나 마켓 메이커가 주문에 현물 자산 ID `10000 + SPOT_INDEX`를 사용해 호가를 제시해야 합니다.

## 코딩 에이전트가 이 과정을 대신 실행할 수 있는가?

EVM 쪽 작업은 대부분 스크립트로 처리할 수 있습니다. 에이전트는 Foundry로 토큰을 배포하고, 미러를 설정하고, 공급량을 브릿지한 다음, [Alchemy CLI](https://www.alchemy.com/docs/alchemy-cli)로 각 단계를 확인할 수 있습니다. 모든 CLI 명령은 `--json --no-interactive`를 지원하므로 에이전트가 출력을 파싱할 수 있습니다. 에이전트가 셸 대신 스킬이나 MCP로 작업한다면, [Agent Skills](https://www.alchemy.com/docs/alchemy-agent-skills)와 [Alchemy MCP server](https://www.alchemy.com/docs/alchemy-mcp-server)가 같은 조회 기능을 제공합니다. HyperEVM 조회에는 `-n hyperliquid-mainnet`을 사용하고, Elysium의 모든 작업에는 Foundry가 여러분의 Elysium 엔드포인트를 가리키도록 설정하세요.

HyperCore 절차의 서명은 사람이 맡으세요. 이 절차는 경매에서 최소 500 HYPE를 쓰고 소수점 자릿수, 공급량, 연결을 영구히 고정하므로, 에이전트는 액션을 준비하고 서명은 사람이 해야 합니다. EVM 쪽 작업을 위한 프롬프트는 다음과 같습니다:

<CodeSnippet
  language="text"
  code={`Run \`alchemy --json --no-interactive agent-prompt\` to load the CLI's command contract, then help me launch a token on Elysium mainnet and mirror it to HyperEVM.

Start by asking me for the token name, symbol, and total supply. Do not invent them. Confirm them back before writing any code.

Then:

- Sign everything with my Foundry keystore account \`deployer\`. If it doesn't exist, stop and tell me to run \`cast wallet import\`.
- Get my deployer address with \`cast wallet address --account deployer\`, then check its HYPE balance on Elysium with \`cast balance <deployer-address> --rpc-url <my Alchemy Elysium endpoint>\` before each transaction, and stop if it can't cover gas.
- Write a fixed-supply ERC-20 with no owner and no mint function, and deploy it with \`forge create --rpc-url <my Alchemy Elysium endpoint>\`.
- Run the mirror-bridge setup from Kinetiq's docs, taking every contract address from https://elysium.kinetiq.xyz/docs/contract-addresses. Show me each \`cast send\` command, with the value in HYPE, before running it.
- Verify the mirror with \`alchemy evm contract read <mirror> "totalSupply()(uint256)" -n hyperliquid-mainnet\`.

Ask before every transaction that spends HYPE. Do not buy a HyperCore ticker or run any HyperCore deploy action. Stop after the mirror and hand me the addresses.`}
/>

## Elysium에서 빌드 시작하기

[Alchemy 대시보드](https://dashboard.alchemy.com/)에서 앱을 생성하고 Elysium을 선택하면 몇 분 안에 메인넷 RPC와 WebSocket 엔드포인트를 갖출 수 있습니다. 계약도, 대기자 명단도, 최소 약정도 필요 없습니다. Elysium에서 빌드하는 팀은 [Alchemy Elysium 크레딧 프로그램](https://www.alchemy.com/credits-program/elysium)을 통해 크레딧을 신청할 수도 있습니다. 미러 구간을 위해 같은 앱에 [Hyperliquid의 HyperEVM](https://www.alchemy.com/rpc/hyperliquid)을 추가하고, 토큰이 상장될 오더북을 스트리밍하려면 [HyperCore 얼리 액세스를 신청](https://www.alchemy.com/hypercore-early-access)하세요.
