컨트랙트
메인넷 알파
현재 Hypercall 메인넷 알파의 컨트랙트 주소입니다. 거래소가 확장되는 동안 출시 범위는 의도적으로 제한되어 있습니다.
Hypercall의 온체인 구성 요소는 Hyperliquid L1(HyperEVM)에 배포되어 있습니다. 이 시스템은 계정 관리, 주문 처리, 옵션 토큰 처리를 위한 별도의 컨트랙트로 구성된 모듈형 아키텍처를 사용합니다.
아키텍처 개요
컨트랙트 역할
Exchange
Exchange는 메인 진입점이며 업그레이드 가능한 프록시 패턴을 사용합니다.
역할:
- BeaconProxy 패턴을 통해 사용자 Account 생성
- HyperCore에 예치된 USDC 수탁 (보험 기금 + 옵션 포지션)
- 온체인 액션/요청을 위한 RSM Sequencer의 진입점
- 옵션 ERC20 입출금 처리 (HyperEVM과 RSM 원장 간 브리징)
- 전체 청산 경매 추적 및 해결
- 원시 ActionCaster 액션과 함께 이벤트 발생
주요 함수:
createAccount()- 호출자를 관리자로 하는 새 계정 생성deposit(account, token, amount)- 계정에 토큰 입금addApiWallet(account, apiWallet)- 거래용 API 월렛 승인hlRequestOrder(...)- ActionCaster를 통해 HyperLiquid 무기한/현물 주문 제출hlRequestCancel(...)- HyperLiquid 주문 취소hlActionSendAsset(...)- Account에서 수신자에게 자산 전송hcActionWithdrawToken(...)- Exchange에서 Account로 토큰 출금hcActionWithdrawOption(...)- HyperEVM 수신자에게 옵션 출금rsmCommandRebalance(...)- RSM이 개시하는 포지션 축소 전용(reduce-only) 주문rsmCommandRepay(...)- RSM이 개시하는 부채 상환
Account
각 사용자는 자신만의 Account 컨트랙트를 가집니다 (공유 구현체를 가리키는 BeaconProxy).
역할:
- 비 USDC 자산을 사용하는 트레이더/마켓메이커를 위해 HyperCore 측에서 담보 수탁
- 여러 에이전트 키를 추가할 수 있는 단일 관리자 보유
- 에이전트 키는 주문/취소에만 서명 가능하며, 기타 액션은 관리자 서명 필요
- 계정 관련 모든 액션에 대한 관리자의 진입점
주요 개념:
- 관리자(Manager): 에이전트를 승인하고 출금에 서명할 수 있는 계정 소유자
- 에이전트 키(Agent Keys): 주문 제출/취소만 가능한 승인된 서명자
- API 월렛(API Wallets): 계정을 대신하여 주문을 제출할 수 있는 승인된 주소
입금:
- 옵션 ERC20은
Exchange.deposit()을 호출하여 입금됩니다 - 기타 자산은 해당 자산의 HyperEVM → HyperCore 브리지를 사용하여 HyperCore로 브리징됩니다
- 'Option USDC position'으로의 USDC 입금은 Account에서 Exchange로의 HyperCore 이체를 통해 이루어집니다
Processor
Processor는 서명 검증과 액션 인코딩을 처리합니다.
역할:
- 서명으로부터 서명자 주소 복원
- 액션을 ActionCaster 형식으로 인코딩
- 입금 계산을 위해 USD 금액을 HYPE로 변환
주요 함수:
hlRequestOrder(...)- 주문 요청 처리hlRequestCancel(...)- 취소 요청 처리hlActionSendAsset(...)- 자산 전송 액션 처리rsmCommandRebalance(...)- RSM 리밸런스 명령 처리rsmCommandRepay(...)- RSM 상환 명령 처리usdToHype(amountUsd)- 현물 가격 기준으로 USD를 HYPE로 변환
Registry
Registry는 옵션 토큰 배포와 검증을 관리합니다.
역할:
- 옵션 ERC20 토큰 배포
- '이 ERC20이 지원되는 옵션 토큰인가'에 대한 신뢰할 수 있는 정보 출처
- 화이트리스트에 등록된 주소가 새 옵션 토큰을 배포할 수 있음
향후 가드레일:
- 허용되는 기초자산 집합
- 허용되는 만기 타임스탬프
- 허용되는 행사가격 단위
액션 유형
HyperLiquid 요청
HyperLiquid의 호가창과 상호작용하는 요청:
| 액션 | 서명자 | 설명 |
|---|---|---|
hlRequestOrder | 에이전트/API 월렛 | 무기한/현물 주문 제출 |
hlRequestCancel | 에이전트/API 월렛 | OID로 주문 취소 |
hlRequestCancelByCloid | 에이전트/API 월렛 | CLOID로 주문 취소 |
관리자 액션
계정 관리자의 서명이 필요한 액션:
| 액션 | 설명 |
|---|---|
hlActionSendAsset | Account에서 수신자에게 자산 전송 |
hcActionWithdrawToken | Exchange에서 Account로 토큰 출금 |
hcActionWithdrawOption | HyperEVM 주소로 옵션 출금 |
RSM 명령
RSM 서명자가 서명하는 명령 (관리자 동의 불필요):
| 명령 | 설명 |
|---|---|
rsmCommandRebalance | USDC 잔고를 늘리기 위한 포지션 축소 전용(reduce-only) 주문 제출 |
rsmCommandRepay | Account에서 Exchange로 USDC 강제 이체 |
서명 검증
- Exchange는 RSM 서명자 서명을 검증합니다
- Account는 관리자 및 에이전트 서명을 검증합니다
- RSM 명령은 관리자 서명 없이 전달됩니다 (RSM 서명자는 신뢰됨)
청산 경매
계정이 담보 부족 상태가 되면:
- RSM Sequencer가 전체 청산 경매를 개시합니다
- 누구나 요청된 USDC 금액을 제공하여 입찰할 수 있습니다
- 낙찰자가 새로운 Account 관리자가 됩니다
- 조건이 변경되면 RSM Sequencer가 진행 중인 경매를 중단할 수 있습니다
배포된 주소
메인넷 알파
| 컨트랙트 | 주소 | 설명 |
|---|---|---|
| Exchange | 0xE6b7FaA216cabb2b38B392f577C9c826378b2240 | 메인 거래소 컨트랙트 |
| Exchange Implementation | 0xeEf31f6c8F2EFABba61C99d9efBEf4e6429024Cf | 프록시 뒤에 있는 Exchange 구현체 |
| Account Implementation | 0xa8E861eAE5Bc47beDcF4896C7c5c676f563F5f1C | Account 구현체 |
| Account Beacon | 0x1b96D6a48d1fB34dC45953697414656D2851Ca93 | Account 비콘 |
| Fetcher | 0x8654912Eae1554662665C13EeD4f1D8A4b028aDB | 읽기 헬퍼 컨트랙트 |
| Option Token Implementation | 0x6D0C7a116f9561A8De692c23c4C11682738ed206 | 옵션 토큰 구현체 |
| Option Token Beacon | 0xfb320352B25Dba7f139EA9Bf8966891CCa12dC35 | 옵션 토큰 비콘 |
| Factory | 0x2CeeAC2E032e4cCb05FF744619BfAb8cC75efE1b | Account 팩토리 |
| Router | 0xF41FF41B6F007dE851ACc9F43Bd2f597Da741E2D | 자금 조달 및 라우팅 헬퍼 |
| Option Registry | 0x8C8efdd5F78C25215d03c8BbD5D1f6f0F1BB0598 | 옵션 토큰 레지스트리 |
| Option Registry Implementation | 0xF222421a93df1086E329503723b3cC4c30546C46 | 프록시 뒤에 있는 옵션 레지스트리 구현체 |
메인넷 구성
| 파라미터 | 주소 또는 값 | 설명 |
|---|---|---|
| USDC | 0xb88339CB7199b77E23DB6E890353E22632Ba630f | Hypercall에서 사용하는 HyperEVM USDC |
| Core Deposit | 0x6B9E773128f453f5c2C60935Ee2DE2CBc5390A24 | HyperCore 입금 헬퍼 |
| RSM Signer | 0x502E7fAbF34E84EeB115C34FE947b79A94dF886E | 현재 운영자가 관리하는 RSM 서명자 |
| Sequencer | 0x56a2924217C91EB4d6989Cf4C7b4dF03020E8944 | 현재 시퀀서 |
| Legacy Sequencer | 0x8640A393730Fa671CF1C71CF5fcD2F8E299C44f7 | 레거시 시퀀서 |
소스 코드
컨트랙트 소스 코드는 감사 완료 후 공개될 예정입니다.
관련 문서
- EIP-712 서명 - 메시지 형식 및 서명
- 에이전트 승인 - API 월렛 설정
- 온보딩 - 계정 생성 및 입금
- API 인증 - 요청 서명