연결 중…
연결 중…
전체 보기
크립토메이지
Telegram · @cryptocurrencymage

[Katana API 거래 구현]

게시
2026.04.24 21:42
조회
473
포워드
3

api로 작업하실거면 대시보드에서 api키 생성하시고 아래 프롬프트 넣고 만들어달라고하면 될겁니다
Katana는 HL 기반 IDEX v4 퍼프 DEX. 일반 API key 방식 아님, EIP-712 지갑 서명.

1) 필요한 것

  • Python 3.10+, web3.py, eth-account, aiohttp
  • EVM 지갑 (private key) + Katana 잔고

2) 인증

  • 매 요청마다 EIP-712 typed data 서명
  • domain: name="Katana", chainId, verifyingContract
  • 주문 서명: OrderMessage 구조체 (side, market, size, price, nonce)
  • 취소 서명: OrderCancellationByMarketSymbol

3) REST 엔드포인트

  • GET /v1/markets — 심볼 + 틱사이즈
  • POST /v1/orders — 주문 (body에 서명 typed data + payload)
  • DELETE /v1/orders/cancelByMarket — 심볼 단위 일괄 취소
  • GET /v1/positions?address=0x... — 포지션

4) 체결 주의점

  • mark price 0 리턴 시 → create_order / close_position 반드시 가드 (ValueError raise)
  • ETH 마켓 유동성 극히 낮음 (bids=1, asks=1 빈발)
  • Katana는 ALO(post-only) 없음 → 마켓/리밋만
  • 최소 주문 0.25 (BTC/ETH), 미달 시 422

5) 샘플 구조
async def create_order(symbol, side, size, price):
params = build_order_params(...)
signed = sign_typed_data(private_key, domain, params)
r = await session.post(url, json={"params": params, "signature": signed})
return r.json()

6) 함정

  • None/NaN/Inf 필드 포맷팅 먼저 검증
  • cancel_orders() EIP-712 서명 없으면 403
  • 계정마다 nonce 관리 필수 (재사용하면 replay 에러)
조회473포워드3텔레그램에서 보기