์—ฐ๊ฒฐ ์ค‘โ€ฆ
์—ฐ๊ฒฐ ์ค‘โ€ฆ
์ „์ฒด ๋ณด๊ธฐ
ํฌ๋ฆฝํ† ๋ฉ”์ด์ง€
Telegram ยท @cryptocurrencymage

๐Ÿ› Imperial API ๋ด‡ ๊ตฌ์ถ• โ€” ํ•ต์‹ฌ ๋กœ์ง

๊ฒŒ์‹œ
2026.05.29 15:58
์กฐํšŒ
395
ํฌ์›Œ๋“œ
2
์ด๋ฏธ์ง€
2์žฅ

Solana perp DEX๋“ค(Jupiter/Flash/Phoenix/GMTrade)์„ ํ•œ ๊ณ„์ •์œผ๋กœ ๋ฌถ์€ ๋ผ์šฐํ„ฐ.
โ€ข API ๋ฒ ์ด์Šค: https://api.imperial.space/api/v1
โ€ข ์ „์ฒด ์ŠคํŽ™: https://api.imperial.space/api/v1/openapi.json

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
๐Ÿ”‘ 1. ์ธ์ฆ (์ œ์ผ ํฐ ํ•จ์ •)

๋ฌธ์„œ์˜ ์ฝœ๋“œ ์„œ๋ช…(/mobile/connect)์€ ๋ฌด์กฐ๊ฑด 401 "Failed to generate mobile session" โ†’ ๋ง‰ํžŒ๋‹ค. ์‹œ๊ฐ„๋‚ญ๋น„ ํฌ์ธํŠธ.

โœ… ์‹ค์ œ ๋ฐฉ๋ฒ•:
โ€ข Imperial ์•ฑ/์›น์—์„œ ์ง€๊ฐ‘ ์—ฐ๊ฒฐ + ์ž…๊ธˆ + "one-click/API/mobile trading" ํ™œ์„ฑํ™”
โ€ข โ†’ JWT(Bearer, 30์ผ ๋งŒ๋ฃŒ) ๋ฐœ๊ธ‰๋จ โ†’ ๋ด‡์ด ์ด๊ฑธ ์‚ฌ์šฉ
โ€ข ํ—ค๋”: Authorization: Bearer <JWT>
โ€ข JWT๋Š” ๊ฑฐ๋ž˜ ๊ถŒํ•œ๋งŒ(์ž…์ถœ๊ธˆ ๋ถˆ๊ฐ€). โš ๏ธ 30์ผ ๋งŒ๋ฃŒ โ†’ ๊ฐฑ์‹  ์•ˆ ํ•˜๋ฉด ์ฃผ๋ฌธ์ด 401๋กœ ์กฐ์šฉํžˆ ๋ฉˆ์ถค

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
๐Ÿ“ 2. ์ฃผ๋ฌธ ์ธ์ฝ”๋”ฉ (POST /mobile/orders)

ํ•„๋“œ โ†’ ์˜๋ฏธ:
โ€ข wallet โ†’ base58 pubkey
โ€ข profileIndex โ†’ ์„œ๋ธŒ๊ณ„์ • 0~5
โ€ข side โ†’ 0=long, 1=short
โ€ข action โ†’ 0=increase(์ง„์ž…), 1=decrease(์ถ•์†Œ)
โ€ข underwriter โ†’ 0=Jupiter, 1=Flash, 2=Phoenix, 3=GMTrade
โ€ข orderType โ†’ 0=Market, 1=Limit
โ€ข sizeUsd โ†’ 6-decimal ($1 = 1,000,000)
โ€ข collateralAmount โ†’ ๋‹ด๋ณด 6-dec (1x๋ฉด sizeUsd์™€ ๋™์ผ)
โ€ข triggerPrice โ†’ ์˜ค๋ผํด ์Šค์ผ€์ผ 1e9 (๊ฐ€๊ฒฉ ร— 1,000,000,000)
โ€ข slippageBps โ†’ bps
โ€ข symbol / phoenixNative โ†’ "SOL" ๋“ฑ / Phoenix CLOB์ด๋ฉด true

์‘๋‹ต: {success, signature, orderPda} โ†’ orderPda๋กœ ์ทจ์†Œ/์ˆ˜์ •
โ€ข ์ทจ์†Œ: POST /mobile/orders/cancel {wallet, orderPda, profileIndex}
โ€ข ์ˆ˜์ •: POST /mobile/orders/update

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
๐Ÿ“Š 3. ๋งˆ์ผ“๋ฉ”์ดํ‚น์€ ๋ฌด์กฐ๊ฑด Phoenix

ํŒจ์‹œ๋ธŒ ๋ฉ”์ด์ปค๋Š” Phoenix(underwriter=2 + phoenixNative=true)๋งŒ ๊ฐ€๋Šฅ. Jupiter/Flash/GMTrade๋Š” ์˜ค๋ผํดยทํ’€ํ˜•์ด๋ผ resting
limit ๋ถˆ๊ฐ€.
โ€ข ์ˆ˜์ˆ˜๋ฃŒ: maker ~0.5bps / taker ~3.5bps (maker ์‹ธ์„œ ์œ ๋ฆฌ)
โ€ข bid(๋งค์ˆ˜) = side=0, action=0, Limit @ mid ์•„๋ž˜
โ€ข ask(๋งค๋„) = side=1, action=0, Limit @ mid ์œ„
โ€ข ์ˆœํฌ์ง€์…˜ = long โˆ’ short

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
๐Ÿ”Ž 4. ์‹œ์„ธยท์ƒํƒœ ์ฝ๊ธฐ (๋Œ€๋ถ€๋ถ„ public)

โ€ข GET /phoenix/mark-prices โ†’ ์‹ฌ๋ณผ๋ณ„ mid (fair price)
โ€ข GET /phoenix/depth?symbol=SOL โ†’ ์˜ค๋”๋ถ bids/asks
โ€ข GET /phoenix/markets โ†’ ์‹ฌ๋ณผ๋ณ„ tick/lot/maxLev/์ˆ˜์ˆ˜๋ฃŒ
โ€ข GET /positions?walletAddress= โ†’ ํฌ์ง€์…˜(side,sizeUsd,entry,pnl)
โ€ข GET /orders?walletAddress= โ†’ resting ์ฃผ๋ฌธ
โ€ข GET /mobile/balances (JWT) โ†’ ํ”„๋กœํ•„๋ณ„ USDC
โ€ข WS: /ws/market(์‹œ์„ธ), /ws(์ง€๊ฐ‘ ๋ณ€๊ฒฝ ์‹ ํ˜ธ)

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
๐Ÿ” 5. ์ตœ์†Œ ๋ด‡ ๋ฃจํ”„

jwt = <์•ฑ์—์„œ ๋ฐœ๊ธ‰>
๋งค N์ดˆ:
mid = GET /phoenix/mark-prices
pos = GET /positions
bid, ask = ์ „๋žต(mid, pos)
๊ธฐ์กด ์ฃผ๋ฌธ cancel(orderPda)
POST /mobile/orders bid (side0/action0/Limit/phoenixNative,
sizeUsd=$*1e6, triggerPrice=px*1e9)
POST /mobile/orders ask (side1/action0/...)
์ข…๋ฃŒ ์‹œ: ๋ชจ๋“  orderPda cancel โ† ํ•„์ˆ˜

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โš ๏ธ 6. ํ•จ์ • ์ฒดํฌ๋ฆฌ์ŠคํŠธ

โ€ข JWT๋Š” ์•ฑ์—์„œ ๋ฐœ๊ธ‰(์ฝœ๋“œ์„œ๋ช… X), 30์ผ๋งˆ๋‹ค ๊ฐฑ์‹ 
โ€ข sizeUsd 6-dec / triggerPrice 1e9 ์Šค์ผ€์ผ (ํ‹€๋ฆฌ๋ฉด ๊ฐ€๊ฒฉ ์—‰๋šฑ)
โ€ข MM์€ Phoenix + phoenixNative=true๋งŒ
โ€ข ์ž…๊ธˆ์€ /deposit/build-tx(์Šคํฐ์„œ ํŠธ๋žœ์žญ์…˜)๋กœ โ€” ์ž„์˜ ์ฃผ์†Œ raw ์ „์†ก ๊ธˆ์ง€(์ž๊ธˆ ๋ถ„์‹ค)
โ€ข rate limit 600/min (per wallet)
โ€ข ๋ด‡ ์ฃฝ์„ ๋•Œ cancel-all ์•ˆ ํ•˜๋ฉด ์œ ๋ น ์ฃผ๋ฌธ ๋‚จ์Œ
โ€ข Solana ๊ฐ€์Šค์šฉ SOL ์†Œ์•ก ํ•„์š”

์†”๋ผ๋‚˜ Perp ์ชฝ์—์„œ๋Š” ํ˜„์žฌ Phoenix๊ฐ€ ๊ฐ€์žฅ ์œ ๋งํ•˜๋‹ค๊ณ  ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Imperial์ด Phoenix ์œ ๋™์„ฑ์„ ๋Œ์–ด์™€ ๊ฑฐ๋ž˜๋ฅผ ์ฒด๊ฒฐํ•˜๋Š” ๊ตฌ์กฐ๋ผ ์ด์ค‘ ํŒŒ๋ฐ ๊ฐ€๋Šฅ์„ฑ์„ ๊ธฐ๋Œ€ํ•˜๋ฉฐ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋งŒ API ๊ตฌ์ถ• ๊ณผ์ •์ด ์ƒ๊ฐ๋ณด๋‹ค ๋ณต์žกํ•œ ํŽธ์ด๋ผ, ์ง์ ‘ ์ž๋™ํ™”๋‚˜ ๋ด‡ ์—ฐ๋™์„ ๊ณ ๋ คํ•˜์‹œ๋Š” ๋ถ„๋“ค์€ ์ด ๋ถ€๋ถ„์„ ์ฐธ๊ณ ํ•˜์‹œ๋Š” ๊ฒƒ์ด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.

Imperial ์ดˆ๋Œ€
Phoenix ์ดˆ๋Œ€ EG2XN4DV