日本語

概要#

Catapult API は、合成トークンのデリバティブ・プラットフォーム(取引とトークンデータ)を、リクエスト/レスポンス操作のための単一の GraphQL エンドポイントと、リアルタイムのサブスクリプションのための WebSocket エンドポイントを通じて提供します。

ベースエンドポイント#

トランスポート URL
GraphQL (HTTP) https://public-api.catapult.trade/graphql
WebSocket wss://public-api.catapult.trade/graphql

すべての HTTP リクエストは POST を使用し、{ "query": "...", "variables": { ... } } という形の JSON ボディを送ります。

認証#

認証が必要な操作は、Authorization ヘッダーで送る JWT ベアラートークン を使用します:

Authorization: Bearer <your-jwt-token>

トークンは JSON Web Token (JWT) で、デフォルトでは発行から 730 日(約 2 年) 有効です。 期限切れ前にローテーションしてください。公開されているのは ping のみで、他のすべての操作には ベアラートークンが必要 です。さらに tokensturboToken などの読み取りには tokens.read 権限が必要です。

API キーの作成#

catapult.trade/settings/api-keySettings → API Key)のアカウントダッシュボードからトークンを生成します。アカウントは catapult.trade で管理できます。

規約#

  • ID は不透明な文字列です。パースしないでください。
  • 金額は String! 型の 文字列エンコードされた整数 です(例: balanceUsdtDrops)。 float ではなく BigInt としてパースしてください。カスタムスカラーは DateTime のみです。
  • タイムスタンプは DateTime スカラー(ISO-8601、UTC)を使用します。
  • リストクエリは input.pagination によるカーソルページネーションです: limit(デフォルト 10)と afterCursor / beforeCursor

クイック例#

query Tokens {
  # PublicTokenListInput とトークンのフィールドの詳細は Reference タブを参照
  tokens(input: { pagination: { limit: 5 } }) {
    items { id }
  }
}

API キー OAuth#

このリンクを使うと、コピートレードなどの機能を構築するためにユーザーの API キーを取得できます。ユーザーが自分の API キーに権限を付与すると、その API キーはあなたのホワイトリスト登録済みコールバック URL に渡されます。

https://catapult.trade/settings/api-key?bot_id=<WHITELISTED_BOT_ID>

<WHITELISTED_BOT_ID> を、ホワイトリストに登録済みのボットの ID に置き換えてください。

ボットのホワイトリスト登録#

当社の開発チームに連絡してボットをホワイトリストに登録してください:

[email protected]

単位と規約#

最初にお読みください。API のすべての金額フィールドはこれらの規約に依存します。

USDT drops (*UsdtDrops)#

すべての USDT 金額は USDT × 1,000,000(小数 6 桁)の整数で、UsdtDrops という接尾辞が 付きます。これらは String!(文字列エンコードされた整数)として送信されます。float ではなく BigInt としてパースしてください。

フィールド 生の値 USDT
balanceUsdtDrops 6666670000 6,666.67

変換: usdt = drops / 1e6drops = round(usdt × 1e6) — BigInt で計算します。

レバレッジ (leverageX10)#

レバレッジは レバレッジ × 10 として符号化されます。leverageX10: 12512.5×30 を意味します。

証拠金と想定元本#

notional = collateral × leverage。差し入れる額が 証拠金 (collateral)、ポジションの USDT 額面が 想定元本 (notional) です。

ポジションを開くときの額は 手数料控除前の証拠金 です。tradeOpenusdtDrops (USDT 建て)または amountWei(トークン建て)の ちょうど 1 つ を取り、エンジンが それとレバレッジから想定元本を導出します。これは想定元本では ありません

残高#

userBalance { balanceUsdtDrops, inPositionsBalanceUsdtDrops }:

フィールド 意味
balanceUsdtDrops 空き残高 — 手数料控除前、開くときに実際に動く USDT。
inPositionsBalanceUsdtDrops 開いているポジションに現在ロックされている証拠金(手数料控除後)。

トークンのメディア (fileId)#

トークン画像は fileIdtokenCreate に渡して添付します。取得方法は 2 つあります:

  1. ランダマイザーtokenRandomizedPreset がそのまま使える fileId(名前・シンボル・ モードなども)を返し、tokenCreate にそのまま渡せます。
  2. 独自アップロード — 3 ステップの S3 presigned-POST フロー:
    • fileUpload(input)S3 presigned-POST URL と、クライアントが multipart POST に 含める必要のあるフォームフィールドを返します。
    • クライアントはそのフォームフィールドを付けて、その S3 URL に画像を POST します。
    • fileFinalize(id) → S3 POST 成功後にアップロード完了を記録し、公開ファイル URL を返します。 得られたファイルをトークン画像として使用します。

アップロード制限: JPEG または PNG のみ、最大 5 MB、最小 314×314 px。presigned POST は fileUpload 呼び出しから 15 秒以内に完了する必要があり、アップロードは IP あたり 1 時間 200 回 に制限されます。

トークンのスピードモード#

すべてのトークンは 5 つの スピードモード のいずれかで動作します。作成/ランダム化の フィールドは turboTokenMode、トークンレコードは speedMode を公開します。SLOWNORMAL は同じモードの 2 つの呼び名です。

以下の最大レバレッジとライフタイムの値は、サーバー側で変わり得る 現在の設定 です。 現在値として扱い、ライブの leverage-config クエリで確認してください。

モード 一般的なライフタイム 最大レバレッジ(エンジン)
SLOW / NORMAL 4h 125×
FAST 1h 40×
FLASH 15mins 15×
CRACK 3mins
MAYHEM 30s

最大レバレッジはエンジンの固定上限#

各モードの最大レバレッジはエンジンが適用する厳格な上限です。表の値を直接使用してください。 それを超える注文はエンジンが拒否します。

手数料とポジションサイズ#

開設手数料(〜1%)#

ポジションを開くと 約 1% の開設手数料0.01)が、送付する 証拠金から差し引かれます:

collateral_post_fee = collateral_sent × (1 − fee)

ロックされる証拠金をちょうど notional / leverage にするには、次を送付します:

collateral_sent = (notional / leverage) / (1 − fee)

ポジションごとの想定元本上限#

サーバー側で ポジションごとの想定元本上限 が適用されます。現在は (トークン, レバレッジ, サイド) ごとに 20,000 USDT です。超過すると Maximum notional limit … exceeded が返ります。正確な値はライブ設定で確認してください。モードやレバレッジによって異なる場合が あります。

利用可能な最大ポジション(想定元本)#

fee = 0.01free = balanceUsdtDrops / 1e6inPos = inPositionsBalanceUsdtDrops / 1e6capTotal = 任意の自前の総証拠金上限、 capPos = ポジションごとの想定元本上限(〜20,000)、L = レバレッジ とすると:

maxCollateralFromBalance = free × (1 − fee)
remainingTotalBudget     = capTotal − inPos          # 総上限を適用する場合
maxNewCollateral         = min(maxCollateralFromBalance, remainingTotalBudget)
maxNotionalAchievable    = maxNewCollateral × L
maxPositionNotional      = min(maxNotionalAchievable, capPos)

実際に送付する証拠金 = (maxPositionNotional / L) / (1 − fee)

丸めの落とし穴。 (1 − fee) で割った後、素朴な round(collateral × 1e6) は上限を 数 drops 超過し、開設が拒否されます。送付前に証拠金を drops(BigInt)で小さな刻み (例: 10 drops = 0.00001 USDT)に 切り捨て ます。失うのはごくわずかなセント未満で、 どのレバレッジでも上限内に収まります。

計算例#

FLASH、3×、手数料 1%、想定元本上限 20,000:

collateral_post_fee target = 20,000 / 3        = 6,666.67
collateral_sent            = 6,666.67 / 0.99 ≈ 6,734.01   (drops で切り捨て)
→ 手数料控除後のロック ≈ 6,666.67、想定元本 ≈ 20,000

ステータスコード#

GraphQL のレスポンスは、操作が失敗しても HTTP 200 を返します。errors[] 配列と各エラーの extensions.code を確認してください。トランスポートレベルの問題には標準の HTTP ステータス コードを使用します。

HTTP ステータスコード#

コード 意味
200 標準レスポンス。認証・権限・レート制限・未検出・ビジネスルールのエラーを含むすべての操作結果(成功・失敗とも)が 200 を返します。errors[]errors[].extensions.code を確認してください。
400 不正または無効な GraphQL リクエスト(パースエラー、未知のフィールド、不正な変数)。
500 予期しないサーバーエラー。バックオフ付きで再試行して問題ありません。

GraphQL サービスは、認証・権限・レート制限の失敗をレスポンス内で 200 として返します (GraphQL エラーコードを参照)。トランスポートレベルの 401 / 403 / 429 は、上流の ゲートウェイ/CDN が API 到達前にリクエストを拒否した場合にのみ発生します。

GraphQL エラーコード#

コードは大文字小文字を区別します。完全一致で照合してください。ドメインコードは PascalCase (例: RateLimited)、一部のフレームワークコードは大文字スネークケース(例: UNAUTHENTICATED)です。

コード 意味
UNAUTHENTICATED 有効なトークンがない、トークンが期限切れ/無効、またはユーザーがブロックされています。
BAD_USER_INPUT 引数または変数がバリデーションに失敗しました。
GRAPHQL_VALIDATION_FAILED クエリが構造的に無効です(未知のフィールド/型)。
RateLimited レート制限を超過しました(レート制限を参照)。
NotFound 参照されたリソースが存在しません。
InternalError 予期しないサーバーエラー。

エラーの形式#

{
  "errors": [
    { "message": "Token not found", "extensions": { "code": "NotFound" } }
  ],
  "data": null
}

レート制限#

GraphQL 操作は、API トークン(jti)と IP ごとに 1 つのレート制限バケットを共有します: クエリ 600 回/分ミューテーション 60 回/分。制限を超えると、 errors[]extensions.code = RateLimited のエラーを 1 件含む HTTP 200 レスポンスが 返ります。API は 429 ステータスや Retry-After ヘッダーを返しません。リトライのタイミングの ヒントはエラーの extensions に含まれます。

HTTP(GraphQL)の制限#

操作 制限 ウィンドウ
クエリ 600 1 分
ミューテーション 60 1 分

WebSocket の制限#

範囲 制限
接続あたりのサブスクリプション 1000
受信メッセージ 200 / 秒(バースト 400)
connection_init タイムアウト 10 秒(クローズコード 4408

WebSocket の制限はサーバー側で設定可能なため、本番ではこれらのデフォルトと異なる場合が あります。制限は IP 単位ではなく 接続単位 で適用されます。

レスポンスヘッダー#

API はレート制限ヘッダー(X-RateLimit-*Retry-After)を返しません。上流のゲートウェイが 付加する場合がありますが、依存しないでください。

落とし穴と冪等性#

インテグレーターが最も間違えやすい点のチェックリスト。

金額とサイズ#

  • drops は整数 — 端から端まで BigInt。*UsdtDrops を float でパースしないでください。
  • 送付する開設額(usdtDrops または amountWei)は 手数料控除前の証拠金 であり、 想定元本ではありません。
  • 想定元本上限 は drops で適用されます。数 drops の超過を避けるため証拠金を 切り捨て ます(「手数料とポジションサイズ」参照)。
  • 最大レバレッジはモードごとのエンジン固定上限 です(「トークンのスピードモード」参照)。 直接使用してください。

トークン#

  • ランダマイザーは ランダムな rankCompetition | Private | Public)を返します。 トークンをリスト/コピー取引可能にする必要がある場合は Public を強制してください。
  • tokenCreate常に残高ベースの支払い を使用します。支払いタイプは上書きできません。
  • tokens にサーバー側の「アクティブ」フラグはありません。クライアント側で endDate で フィルタしてください。

開設と決済#

  • tradeOpenusdtDrops(USDT 建て)または amountWei(トークン建て)の ちょうど 1 つ を必要とします。両方も、どちらもなしも不可。
  • tradeCloseUSER_SELL で開いているポジションを決済します。

テイクプロフィット / ストップロス (tradeLimit*)#

  • tradeLimitCreate少なくとも 1 つのトリガー(SL または TP)を必要とします。
  • update では、あるサイドに明示的な null を渡すとそれが クリア され、省略 したフィールドは 保持 されます。
  • tradeLimitUpdateすべて null の入力を拒否 します(Validation failed: input=MissingValue)。 クリアするには tradeLimitDelete を使用してください。
  • サイドごとの削除はありませんtradeLimitDelete は TP と SL の 両方 を削除します。

サブスクリプション (WebSocket)#

  • connection_initpayload: { Authorization: "Bearer <apiKey>" } により認証します。
  • positions サブスクリプションは PublicPositionEvent ユニオン を配信します — PublicPositionOpenedEvent | PublicPositionClosedEvent | PublicPositionUpdatedEvent。 イベント固有のフィールドを読む前に type フィールドで判別してください。
  • PublicPositionClosedEventpositionId, tokenId, type, closeType, closedAt, closePriceUsdtDrops, receivedAmountUsdtDrops, pnlUsdtDrops を持ちます。buyPriceUsdtDrops, collateralUsdtDrops, notionalUsdtDrops, leverageX10 は決済イベントではなく PublicPositionOpenedEvent のフィールドです。
  • 決済イベントは at-least-once で、再配信されません。 再接続中に発行された決済は新しい サブスクリプションでは取りこぼされます。取りこぼしを捕捉するため (再)購読時に各オープン ポジションをポーリング し、positionId で重複排除 してください。

WebSocket API#

リアルタイムデータは、GraphQL over WebSocket プロトコル(graphql-transport-ws) を用いた WebSocket 接続で配信されます。価格のリアルタイム更新などの subscription 操作に使用します。

接続#

次のアドレスへ WebSocket を開きます:

wss://public-api.catapult.trade/graphql

サブプロトコル graphql-transport-ws をネゴシエートします。ソケットが開いたら connection_init メッセージを送信すると、サーバーが connection_ack を返します。

プロパティ
URL wss://public-api.catapult.trade/graphql
サブプロトコル graphql-transport-ws
キープアライブ サーバーが 30 秒ごとに ping を送信。pong で応答
最大サブスクリプション数 接続あたり 1000

ライフサイクル#

  1. クライアントがサブプロトコル graphql-transport-ws でソケットを開く。
  2. クライアント → {"type":"connection_init"}
  3. サーバー → {"type":"connection_ack"}
  4. クライアント → 一意の id と GraphQL ドキュメントを含む subscribe
  5. サーバー → 1 つ以上の next メッセージ、その後 complete

サブスクライブ#

{
  "id": "1",
  "type": "subscribe",
  "payload": {
    "query": "subscription($t: ID!) { priceTicks(tokenId: $t) { tokenId price } }",
    "variables": { "t": "<tokenId>" }
  }
}

データメッセージ#

{
  "id": "1",
  "type": "next",
  "payload": { "data": { "priceTicks": { "tokenId": "tok_123", "price": "0.0123" } } }
}

サブスクライブ解除#

1 つのサブスクリプションを停止するには complete メッセージを送信します。すべてを 停止するにはソケットを閉じます。

{ "id": "1", "type": "complete" }

エラー#

操作レベルのエラーは、対応する iderror メッセージとして届きます:

{ "id": "1", "type": "error", "payload": [{ "message": "Token not found" }] }

10 秒以内に connection_init を送信しない接続は、コード 4408(接続初期化タイムアウト) で閉じられます。

Queries

boosterAvailability#

Global booster availability: active/max/available slots and per-tier configuration (price, duration, points boost, applicable speed modes).

boosterAvailability: PublicBoosterAvailabilityOutput!

引数

引数なし。

boosters#

All tokens with a currently active boost, including the time-decayed current return percentage.

boosters: [PublicBoostedTokenOutput!]!

引数

引数なし。

checkReferral#

Returns the referral's minimal profile and free USDT balance when the given user ID is one of the caller's referrals. Returns null when the user is not a referral of the authenticated caller (or does not exist).

checkReferral(referralUserId: ID!): PublicCheckReferralOutput

引数

名前デフォルト説明
referralUserId ID!

closedPositions#

Cursor-paginated list of the authenticated user's closed positions, newest first. Optionally filtered to a single token.

closedPositions(input: PublicClosedPositionsInput!): PublicClosedPositionsOutput!

引数

名前デフォルト説明
input PublicClosedPositionsInput!

ping#

Health probe for the public GraphQL API. Returns "pong". Does not require authentication.

ping: String!

引数

引数なし。

tokenRandomizedPreset#

Returns a randomized token preset (name, symbol, avatar, mode flags) useful for pre-filling token creation inputs.

tokenRandomizedPreset(allowedValues: TurboTokenPresetAllowedValuesInput): PublicTokenPresetOutput!

引数

名前デフォルト説明
allowedValues TurboTokenPresetAllowedValuesInput

tokens#

List tokens with cursor pagination, sort, and filter.

tokens(input: PublicTokenListInput!): PublicTokenListOutput!

引数

名前デフォルト説明
input PublicTokenListInput!

turboToken#

Get a single token by id with aggregated trading statistics.

turboToken(tokenId: ID!): PublicTokenDetailsOutput!

引数

名前デフォルト説明
tokenId ID!

userBalance#

Authenticated user balance. Returns free balance and amount allocated to open positions, in USDT drops.

userBalance: PublicBalanceOutput!

引数

引数なし。

userMe#

Authenticated user profile. Excludes role, kaito attribution, and session info.

userMe: PublicUserOutput!

引数

引数なし。

Mutations

boosterBuy#

Purchase a booster for one of the authenticated user's tokens. Returns true on success.

boosterBuy(input: PublicBoosterBuyInput!): Boolean!

引数

名前デフォルト説明
input PublicBoosterBuyInput!

fileFinalize#

Mark an upload as finished after the S3 POST succeeds. Returns the public file URL.

fileFinalize(id: String!): PublicFileFinalizeOutput!

引数

名前デフォルト説明
id String!

fileUpload#

Start a file upload. Returns an S3 presigned-POST URL with form fields the client must include in the multipart upload.

fileUpload(input: PublicFileUploadInput!): PublicFileUploadOutput!

引数

名前デフォルト説明
input PublicFileUploadInput!

tokenCreate#

Create a new turbo token. Always uses balance-based payment; payment type cannot be overridden.

tokenCreate(input: PublicTokenCreateInput!): String!

引数

名前デフォルト説明
input PublicTokenCreateInput!

tradeClose#

Close an open position via USER_SELL.

tradeClose(input: PublicTradeCloseInput!): PublicTradeCloseOutput!

引数

名前デフォルト説明
input PublicTradeCloseInput!

tradeLimitCreate#

Attach an SL/TP limit to an open position. At least one trigger (SL or TP) must be specified.

tradeLimitCreate(input: PublicTradeLimitCreateInput!): PublicTradePositionOutput!

引数

名前デフォルト説明
input PublicTradeLimitCreateInput!

tradeLimitDelete#

Remove the SL/TP limit from an open position.

tradeLimitDelete(input: PublicTradeLimitDeleteInput!): PublicTradePositionOutput!

引数

名前デフォルト説明
input PublicTradeLimitDeleteInput!

tradeLimitUpdate#

Replace the SL/TP limit on an open position.

tradeLimitUpdate(input: PublicTradeLimitUpdateInput!): PublicTradePositionOutput!

引数

名前デフォルト説明
input PublicTradeLimitUpdateInput!

tradeOpen#

Open a position. Body must specify exactly one of `usdtDrops` (USDT-denominated) or `amountWei` (token-denominated).

tradeOpen(input: PublicTradeOpenInput!): PublicTradePositionOutput!

引数

名前デフォルト説明
input PublicTradeOpenInput!

Subscriptions

positions#

Stream of position events for the authenticated user. Emits a snapshot of every open position once at start (as POSITION_OPENED), then live POSITION_OPENED / POSITION_CLOSED / POSITION_UPDATED events.

positions: PublicPositionEvent!

引数

引数なし。

priceTicks#

Live price ticks for a token in USDT.

priceTicks(tokenId: ID!): PublicPriceTick!

引数

名前デフォルト説明
tokenId ID!

tokenCreated#

Stream of newly created turbo tokens

tokenCreated: PublicTokenCreatedEvent!

引数

引数なし。

Objects

CursorPaginationMetaOutput object#

フィールド

名前説明
firstCursor String
hasNextItems Boolean!
hasPreviousItems Boolean!
lastCursor String

PublicBalanceOutput object#

フィールド

名前説明
balanceUsdtDrops String! Free balance available for trading. USDT drops (1e6 = 1 USDT).
inPositionsBalanceUsdtDrops String! Capital currently allocated to open positions. USDT drops.

PublicBoostedTokenOutput object#

フィールド

名前説明
avatarUrl String!
boostedUntil DateTime! When the boost expires.
boosterType TokenBoosterType!
currentReturnPercentage Float! Current time-decayed return percentage of the boost.
name String!
symbol String!
tokenId ID!

PublicBoosterAvailabilityOutput object#

フィールド

名前説明
active Int! Boost slots currently active.
available Int! Remaining free boost slots (max - active, floored at 0).
max Int! Maximum number of concurrently boosted tokens.
types [PublicBoosterTypeConfigOutput!]! Configuration for each available booster tier.

PublicBoosterTypeConfigOutput object#

フィールド

名前説明
availableModes [SpeedMode!]! Token speed modes this tier can be applied to.
durationSeconds Int! Boost duration in seconds.
pointsBoost Float! Points multiplier applied while the boost is active.
priceUsdtDrops String! Price of this tier. USDT drops (1e6 = 1 USDT).
type TokenBoosterType!

PublicCheckReferralOutput object#

フィールド

名前説明
balanceUsdtDrops String! Free balance of the referral user. USDT drops (1e6 = 1 USDT).
user PublicMinimalUserOutput!

PublicClosedPositionOutput object#

フィールド

名前説明
amountWei String! Token amount in wei.
boughtUsdtDrops 非推奨 String! Deprecated; superseded by `paidAmountUsdtDrops`. Amount in USDT drops (1e6 = 1 USDT).
buyPriceUsdtDrops String! Entry price in USDT drops (1e6 = 1 USDT).
closePriceUsdtDrops String Close price in USDT drops (1e6 = 1 USDT); null until settled.
closeType TurboTokenPositionCloseType How the position was closed (manual, liquidation, etc.).
closedAt DateTime When the position was closed/settled; null if still open.
collateralUsdtDrops String! Collateral amount in USDT drops (1e6 = 1 USDT).
currentPriceUsdtDrops String! Current price in USDT drops (1e6 = 1 USDT).
endTimestamp DateTime! Scheduled end time of the position.
id ID!
isScoreBoosted Boolean! Whether the position score was boosted.
leverageX10 Int! Leverage X10 (10 = 1.0x, 20 = 2.0x, 100 = 10.0x).
limit PublicTradeLimitOutput Attached stop-loss / take-profit limit, if any.
liquidationPriceUsdtDrops String Liquidation price in USDT drops (1e6 = 1 USDT); null for SPOT 1x LONG.
notionalUsdtDrops String! Notional value in USDT drops (collateral * leverage, 1e6 = 1 USDT).
paidAmountUsdtDrops String! Amount paid to open the position in USDT drops (1e6 = 1 USDT).
pnlUsdtDrops String! Realized PnL in USDT drops (1e6 = 1 USDT).
positionType PositionType! Position type: SPOT (1x LONG) or FUTURES (leveraged LONG / SHORT).
realizedFeesUsdtDrops String! Total fees paid for this position in USDT drops (1e6 = 1 USDT).
scoreForPosition Float! Points-program score earned for this position.
side PositionSide! Position side: LONG or SHORT.
timestamp DateTime! When the position was opened.
token PublicClosedPositionTokenInfoOutput! The token this position was opened on.

PublicClosedPositionTokenInfoOutput object#

フィールド

名前説明
avatarUrl String!
id String!
name String!
rank TurboTokenRank! Rank/tier of the token.
speedMode SpeedMode! Trading speed mode of the token.
symbol String!
tokenDecimals Int! Number of decimals for the token amount.

PublicFileFinalizeOutput object#

フィールド

名前説明
id ID!
url String! Public URL of the finalized file.

PublicFileUploadOutput object#

フィールド

名前説明
fields [PublicFormField!]! Form fields for the S3 presigned POST. Append each (key, value) to your `FormData`, then append `file` last.
id ID! File id; pass to `fileFinalize` after the S3 POST.
uploadUrl String! URL to POST the multipart form to.

PublicFormField object#

フィールド

名前説明
key String!
value String!

PublicMinimalUserOutput object#

フィールド

名前説明
avatarToken String!
id ID!
profileName String!

PublicPositionOpenedEvent object#

フィールド

名前説明
amountWei String!
buyPriceUsdtDrops String! Entry price in USDT drops.
collateralUsdtDrops String! Collateral amount in USDT drops (user input minus fees).
currentPriceUsdtDrops String! Current price in USDT drops.
leverageX10 Int!
limit PublicTradeLimitOutput
liquidationPriceUsdtDrops String Liquidation price in USDT drops (null for SPOT 1x LONG).
notionalUsdtDrops String! Notional value in USDT drops (collateral * leverage).
paidAmountUsdtDrops String! Paid amount in USDT drops.
pnlUsdtDrops String! Live PnL in USDT drops.
positionId ID!
positionType PositionType!
side PositionSide!
timestamp DateTime!
tokenId String!
type TurboTokenPositionEventType!

PublicPriceTick object#

フィールド

名前説明
price Float!
tokenId ID!

PublicTokenListItemOutput object#

フィールド

名前説明
avatarUrl String!
boostedUntil DateTime When the active boost on this token expires, or null if not boosted.
buysCount Int!
creator PublicMinimalUserOutput!
description String
endDate DateTime!
id ID!
initialPrice Float!
name String!
price Float!
rank TurboTokenRank!
sellsCount Int!
speedMode SpeedMode!
startDate DateTime!
symbol String!
uniqueTradersCount Int!
volumeUsdtDrops String! Cumulative trade volume (USDT drops, 1e6 = 1 USDT).

PublicTokenStatisticsOutput object#

フィールド

名前説明
buysCount Int!
sellsCount Int!
totalVolumeUsdtDrops String!
uniqueTradersCount Int!
volumeFromBoostersUsdtDrops String!

PublicTradeCloseOutput object#

フィールド

名前説明
amountUsdtDrops String! Position amount in USDT drops without fees.
closePriceUsdtDrops String!
closeType TurboTokenPositionCloseType! How the position was closed.
closedAt DateTime!
leverageX10 Int! Leverage X10 (10 = 1.0x, 20 = 2.0x, 100 = 10.0x).
paidAmountUsdtDrops String! Paid amount in USDT drops.
pnlPercentage String!
pnlUsdtDrops String!
positionId String!
positionType PositionType! Position type (SPOT or FUTURES).
receivedAmountUsdtDrops String! Amount received after closing position in USDT drops.
side PositionSide! Position side (LONG or SHORT).
tokenId String!
totalCloseFeeUsdtDrops String! Close fee + profit fee in USDT drops.

PublicTradeLimitOutput object#

フィールド

名前説明
positionId ID! Id of the position this limit is attached to.
slTriggerPnlUsdtDrops String Stop-loss trigger PnL in USDT drops (1e6 = 1 USDT); null if unset.
slTriggerPriceUsdtDrops String Stop-loss trigger price in USDT drops (1e6 = 1 USDT); null if unset.
tokenId String! Id of the token the position trades.
tpTriggerPnlUsdtDrops String Take-profit trigger PnL in USDT drops (1e6 = 1 USDT); null if unset.
tpTriggerPriceUsdtDrops String Take-profit trigger price in USDT drops (1e6 = 1 USDT); null if unset.
userId String! Id of the owning user.

PublicTradePositionOutput object#

フィールド

名前説明
amountUsdtDrops String!
amountWei String!
collateralUsdtDrops String! Collateral amount in USDT drops (user input minus fees).
id ID!
leverageX10 Int!
limit PublicTradeLimitOutput
liquidationPriceUsdtDrops String Liquidation price in USDT drops (null for SPOT 1x LONG).
notionalUsdtDrops String! Notional value in USDT drops (collateral * leverage).
positionType PositionType!
priceUsdtDrops String!
side PositionSide!
timestamp DateTime!

PublicUserOutput object#

フィールド

名前説明
avatarToken String!
createdAt DateTime!
description String
evmWalletAddress String
id ID!
profileName String!
referralCode String!
solanaWalletAddress String
status UserStatus!
telegram String
tiktok String
twitter String
waitlistEmail String
walletType UserWalletType!
xUsername String

Unions

Input Types

CursorPaginationInput input#

フィールド

名前説明
afterCursor String
beforeCursor String
last Boolean Return last items according to `limit`
limit Float!

PublicBoosterBuyInput input#

フィールド

名前説明
boosterType TokenBoosterType! Booster tier to purchase.
tokenId String! Id of the token to boost.
usePackageCredits Boolean! Pay with creator-program package credits instead of the cash balance.

PublicClosedPositionsInput input#

フィールド

名前説明
pagination CursorPaginationInput!
tokenId ID Restrict to a single token; omit for all tokens.

PublicFileUploadInput input#

フィールド

名前説明
mimeType String! MIME type of the file to upload, e.g. `image/png`.
size Int! File size in bytes.

PublicTokenCreateInput input#

フィールド

名前説明
buyUsdtDrops String Initial buy amount in USDT drops (1e6 = 1 USDT).
description String
fileId String File id returned from `fileFinalize`.
name String!
priceMode TurboPriceMode
rank TurboTokenRank
symbol String!
turboTokenMode TurboTokenMode
xLink String

PublicTradeCloseInput input#

フィールド

名前説明
positionId ID!
tokenId ID!

PublicTradeLimitConfigInput input#

フィールド

名前説明
slTriggerPnlUsdtDrops String PnL in USDT drops for stop loss (negative value).
slTriggerPricePercentage Float Percentage of the entry price in decimal format where 1 = 100%, 0.5 = 50%. LONG: must be < 1, SHORT: must be > 1.
slTriggerPriceUsdtDrops String
tpTriggerPnlUsdtDrops String PnL in USDT drops for take profit (positive value).
tpTriggerPricePercentage Float Percentage of the entry price in decimal format where 1 = 100%, 2 = 200%, etc. LONG: must be > 1, SHORT: must be < 1.
tpTriggerPriceUsdtDrops String

PublicTradeLimitDeleteInput input#

フィールド

名前説明
positionId String!

PublicTradeOpenInput input#

フィールド

名前説明
amountWei String Token amount in wei to buy. Mutually exclusive with `usdtDrops`.
leverageX10 Int! Leverage X10 (10 = 1.0x, 20 = 2.0x, 100 = 10.0x).
side PositionSide!
tokenId ID!
type PositionType!
usdtDrops String Total USDT drops to spend (collateral + fees). Mutually exclusive with `amountWei`.

TurboTokenListFilterInput input#

フィールド

名前説明
rank TurboTokenRank
speedMode [SpeedMode!]
userId String

Enums

PositionSide enum#

名前説明
LONG
SHORT

PositionType enum#

Position type: SPOT (1x LONG) or FUTURES (leveraged LONG / SHORT)

名前説明
FUTURES
SPOT

SortDirection enum#

名前説明
Asc
Desc

SpeedMode enum#

名前説明
CRACK
FAST
FLASH
MAYHEM
NORMAL

TokenBoosterType enum#

名前説明
B1
B2
B3
B4
B5
B6

TurboPriceMode enum#

名前説明
FiveHundred
Hundred
One
Ten

TurboTokenListSorting enum#

名前説明
BuysCount
SellsCount
StartTime
TimeLeft
TradersCount
Volume

TurboTokenMode enum#

名前説明
Crack
Fast
Flash
Mayhem
Slow

TurboTokenPositionCloseType enum#

名前説明
EXPIRED
LIQUIDATION
STOP_LOSS
TAKE_PROFIT
USER_SELL

TurboTokenPositionEventType enum#

名前説明
POSITION_CLOSED
POSITION_OPENED
POSITION_UPDATED

TurboTokenRank enum#

名前説明
Competition
Private
Public

UserStatus enum#

名前説明
GUEST
MEMBER

UserWalletType enum#

名前説明
Embedded
External

Scalars

DateTime scalar#

A date-time string at UTC, such as 2019-12-03T09:54:33Z, compliant with the date-time format.