Visão geral#
A API da Catapult alimenta uma plataforma de derivativos de tokens sintéticos — negociação e dados de tokens — através de um único
endpoint GraphQL para operações de requisição/resposta e um endpoint WebSocket
para assinaturas em tempo real.
Endpoints base#
| Transporte |
URL |
| GraphQL (HTTP) |
https://public-api.catapult.trade/graphql |
| WebSocket |
wss://public-api.catapult.trade/graphql |
Todas as requisições HTTP usam POST com um corpo JSON no formato
{ "query": "...", "variables": { ... } }.
Autenticação#
As operações autenticadas usam um token JWT (bearer), enviado no cabeçalho Authorization:
Authorization: Bearer <your-jwt-token>
O token é um JSON Web Token (JWT), válido por 730 dias (≈2 anos) a partir da emissão
por padrão — rotacione-o antes de expirar. Apenas ping é público; todas as outras
operações exigem o token bearer, e leituras como tokens e turboToken também
precisam da permissão tokens.read.
Criar uma chave de API#
Gere seu token no painel da sua conta em catapult.trade/settings/api-key (Configurações → API Key). Você pode gerenciar sua conta em catapult.trade.
Convenções#
- Os IDs são strings opacas; não os parseie.
- Os valores monetários são inteiros codificados como string do tipo
String! (ex.: balanceUsdtDrops)
— parseie-os como BigInt, nunca como float. O único scalar personalizado é DateTime.
- Os timestamps usam o scalar
DateTime (ISO-8601, UTC).
- As consultas de listas são paginadas por cursor via
input.pagination: limit (padrão 10)
com afterCursor / beforeCursor.
Exemplo rápido#
query Tokens {
# veja a aba Reference para o PublicTokenListInput completo e os campos do token
tokens(input: { pagination: { limit: 5 } }) {
items { id }
}
}
OAuth de chave de API#
Este link permite obter a chave de API de um usuário para criar diversos recursos, por exemplo copy trading. O usuário concede as permissões à sua chave de API, e ela é enviada para a sua URL de callback na lista de permissões.
https://catapult.trade/settings/api-key?bot_id=<WHITELISTED_BOT_ID>
Substitua <WHITELISTED_BOT_ID> pelo ID do seu bot na lista de permissões.
Lista de permissões do bot#
Coloque seu bot na lista de permissões entrando em contato com nossa equipe de desenvolvimento:
[email protected]
Unidades e convenções#
Leia isto primeiro: cada campo monetário da API depende destas convenções.
USDT drops (*UsdtDrops)#
Todos os valores em USDT são inteiros de USDT × 1,000,000 (6 casas decimais), com o
sufixo UsdtDrops. São enviados como String! (inteiros codificados como string) — parseie-os como BigInt, nunca como float.
| Campo |
Valor bruto |
USDT |
balanceUsdtDrops |
6666670000 |
6,666.67 |
Converta com usdt = drops / 1e6 e drops = round(usdt × 1e6) — calcule em BigInt.
Alavancagem (leverageX10)#
A alavancagem é codificada como alavancagem × 10. leverageX10: 125 significa
12.5×; 30 significa 3×.
Colateral vs nocional#
notional = collateral × leverage. O que você aporta é o colateral; o valor de face
da posição em USDT é o nocional.
Ao abrir uma posição, o valor é colateral, antes da taxa. tradeOpen aceita
exatamente um de usdtDrops (em USDT) ou amountWei (em tokens) — o motor deriva o
nocional a partir dele e da alavancagem. Não é o nocional.
Saldos#
userBalance { balanceUsdtDrops, inPositionsBalanceUsdtDrops }:
| Campo |
Significado |
balanceUsdtDrops |
Saldo livre — antes da taxa, os USDT efetivamente movidos ao abrir. |
inPositionsBalanceUsdtDrops |
Colateral atualmente bloqueado em posições abertas (após a taxa). |
Mídia do token (fileId)#
A imagem de um token é anexada passando um fileId para tokenCreate. Há duas
formas de obter um:
- Randomizador —
tokenRandomizedPreset retorna um fileId pronto para uso (além
de nome, símbolo, modo, etc.) que você pode passar direto para tokenCreate.
- Upload próprio — um fluxo S3 presigned-POST de três etapas:
fileUpload(input) → retorna uma URL S3 presigned-POST mais os campos de
formulário que o cliente deve incluir no POST multipart.
- O cliente faz POST da imagem para essa URL do S3 com esses campos exatos.
fileFinalize(id) → marca o upload como concluído após o POST no S3 e retorna a URL
pública do arquivo; use o arquivo resultante como imagem do token.
Limites de upload: apenas JPEG ou PNG, máximo 5 MB, mínimo
314×314 px. O POST pré-assinado deve concluir em
15 segundos após a chamada fileUpload, e os uploads são limitados a
200 por hora por IP.
Modos de velocidade de tokens#
Cada token funciona em um de cinco modos de velocidade. O campo de
criação/randomização é turboTokenMode; os registros de token expõem speedMode. SLOW
e NORMAL são o mesmo modo com dois nomes.
Os valores de alavancagem máxima e de tempo de vida abaixo são configuração atual que
pode mudar no servidor — trate-os como valores atuais e verifique na consulta de
leverage-config ao vivo.
| Modo |
Tempo de vida típico |
Alavancagem máx. (motor) |
SLOW / NORMAL |
4h |
125× |
FAST |
1h |
40× |
FLASH |
15mins |
15× |
CRACK |
3mins |
5× |
MAYHEM |
30s |
5× |
A alavancagem máxima é um limite fixo do motor#
A alavancagem máxima de cada modo é um limite rígido aplicado pelo motor — use o valor da
tabela diretamente. O motor rejeita qualquer ordem acima dele.
Taxas e tamanho da posição#
Taxa de abertura (~1%)#
Abrir uma posição cobra uma taxa de abertura de ~1% (0.01),
deduzida do colateral que você envia:
collateral_post_fee = collateral_sent × (1 − fee)
Para que o colateral bloqueado fique exatamente em notional / leverage, envie:
collateral_sent = (notional / leverage) / (1 − fee)
Limite de nocional por posição#
O servidor aplica um limite de nocional por posição — atualmente 20,000 USDT
por (token, alavancagem, lado). Excedê-lo retorna Maximum notional limit … exceeded.
Verifique o valor exato na configuração ao vivo; pode variar por modo ou alavancagem.
Posição máxima disponível (nocional)#
Seja fee = 0.01, free = balanceUsdtDrops / 1e6,
inPos = inPositionsBalanceUsdtDrops / 1e6, capTotal = seu limite total de colateral
opcional, capPos = limite de nocional por posição (~20,000), L = alavancagem:
maxCollateralFromBalance = free × (1 − fee)
remainingTotalBudget = capTotal − inPos # se você aplicar um limite total
maxNewCollateral = min(maxCollateralFromBalance, remainingTotalBudget)
maxNotionalAchievable = maxNewCollateral × L
maxPositionNotional = min(maxNotionalAchievable, capPos)
Colateral a enviar = (maxPositionNotional / L) / (1 − fee).
Pegadinha de arredondamento. Após dividir por (1 − fee), um round(collateral × 1e6)
ingênuo ultrapassa o limite por alguns drops e a abertura é rejeitada. Arredonde para
baixo o colateral em drops (BigInt) para um passo pequeno (ex.: 10 drops =
0.00001 USDT) antes de enviar. Você perde uma fração insignificante de centavo e fica
abaixo do limite em qualquer alavancagem.
Exemplo resolvido#
FLASH, 3×, taxa 1%, limite 20,000 de nocional:
collateral_post_fee target = 20,000 / 3 = 6,666.67
collateral_sent = 6,666.67 / 0.99 ≈ 6,734.01 (arredondado para baixo em drops)
→ bloqueado após taxa ≈ 6,666.67, nocional ≈ 20,000
Códigos de status#
As respostas GraphQL retornam HTTP 200 mesmo quando uma operação falha — inspecione o
array errors[] e o extensions.code de cada erro. Problemas de transporte usam códigos
HTTP padrão.
Códigos de status HTTP#
| Código |
Significado |
200 |
Resposta padrão. TODOS os resultados de operação — sucesso e erros, incluindo autenticação, permissão, limite de taxa, não encontrado e regras de negócio — retornam 200; inspecione errors[] e errors[].extensions.code. |
400 |
Requisição GraphQL malformada ou inválida (erro de análise, campo desconhecido, variável incorreta). |
500 |
Erro inesperado do servidor. Seguro repetir com backoff. |
O serviço GraphQL retorna falhas de autenticação, permissão e limite de taxa dentro da
resposta como 200 (ver códigos de erro GraphQL). Os 401 / 403 / 429 de transporte só
ocorrem se um gateway/CDN upstream rejeitar a requisição antes de chegar à API.
Códigos de erro GraphQL#
Os códigos diferenciam maiúsculas; corresponda à string exata. Códigos de domínio são
PascalCase (ex.: RateLimited); alguns códigos do framework usam maiúsculas com sublinhado
(ex.: UNAUTHENTICATED).
| Código |
Significado |
UNAUTHENTICATED |
Sem token válido, ou o token está expirado/desativado, ou o usuário está bloqueado. |
BAD_USER_INPUT |
Um argumento ou variável falhou na validação. |
GRAPHQL_VALIDATION_FAILED |
A consulta é estruturalmente inválida (campo/tipo desconhecido). |
RateLimited |
Limite de taxa excedido (ver Limites de uso). |
NotFound |
Um recurso referenciado não existe. |
InternalError |
Erro inesperado do servidor. |
{
"errors": [
{ "message": "Token not found", "extensions": { "code": "NotFound" } }
],
"data": null
}
Limites de uso#
As operações GraphQL compartilham um único bucket de limite, indexado por token de API
(jti) e IP: 600 consultas/min e 60 mutações/min. Ao
exceder um limite, retorna uma resposta HTTP 200 cujo errors[] contém um único erro com
extensions.code = RateLimited. A API não envia status 429 nem cabeçalho Retry-After;
dicas de tempo de retry vêm em extensions do erro.
Limites HTTP (GraphQL)#
| Operação |
Limite |
Janela |
| Consultas |
600 |
1 minuto |
| Mutações |
60 |
1 minuto |
Limites de WebSocket#
| Escopo |
Limite |
| Assinaturas por conexão |
1000 |
| Mensagens recebidas |
200 / segundo (rajada 400) |
Tempo limite de connection_init |
10 s (código de fechamento 4408) |
Os limites de WebSocket são configuráveis no servidor, portanto a produção pode diferir
destes padrões. São aplicados por conexão, não por IP.
Cabeçalhos de resposta#
A API não emite cabeçalhos de limite (X-RateLimit-*, Retry-After). Um gateway upstream
pode adicioná-los; não dependa deles.
Pegadinhas e idempotência#
Uma lista do que os integradores mais erram.
Dinheiro e dimensionamento#
- Drops são inteiros — BigInt de ponta a ponta; nunca faça parse de
*UsdtDrops como float.
- O valor de abertura que você envia (
usdtDrops ou amountWei) é colateral, antes da
taxa, não o nocional.
- O limite de nocional é aplicado em drops; arredonde para baixo seu colateral para
evitar ultrapassar por alguns drops (ver «Taxas e tamanho da posição»).
- A alavancagem máxima é um limite fixo do motor por modo (ver «Modos de velocidade de
tokens») — use-o diretamente.
Tokens#
- O randomizador retorna um
rank aleatório (Competition | Private | Public).
Force Public se o token precisar ser listado / copiável.
tokenCreate sempre usa pagamento por saldo — o tipo de pagamento não pode ser sobrescrito.
- Não há flag de "ativo" no servidor para
tokens — filtre no cliente por endDate.
Abertura e fechamento#
tradeOpen exige exatamente um de usdtDrops (em USDT) ou amountWei (em tokens)
— nunca ambos, nunca nenhum.
tradeClose fecha uma posição aberta via USER_SELL.
Take-profit / stop-loss (tradeLimit*)#
tradeLimitCreate exige pelo menos um gatilho (SL ou TP).
- No update, um
null explícito para um lado o limpa; um campo omitido é preservado.
tradeLimitUpdate rejeita uma entrada totalmente nula (Validation failed: input=MissingValue)
— use tradeLimitDelete para limpar.
- Não há exclusão por lado;
tradeLimitDelete remove ambos, TP e SL.
Assinaturas (WebSocket)#
- Autentique no
connection_init com payload: { Authorization: "Bearer <apiKey>" }.
- A assinatura
positions transmite a união PublicPositionEvent —
PublicPositionOpenedEvent | PublicPositionClosedEvent | PublicPositionUpdatedEvent.
Verifique o campo type antes de ler os campos específicos do evento.
PublicPositionClosedEvent carrega positionId, tokenId, type, closeType, closedAt, closePriceUsdtDrops, receivedAmountUsdtDrops, pnlUsdtDrops. Os campos buyPriceUsdtDrops, collateralUsdtDrops, notionalUsdtDrops, leverageX10 pertencem ao
PublicPositionOpenedEvent, não ao de fechamento.
- Os eventos de fechamento são at-least-once e não são reenviados. Um fechamento
emitido enquanto você reconecta é perdido pela nova assinatura — consulte cada posição
aberta ao (re)assinar para detectar fechamentos perdidos e deduplique por
positionId.
API WebSocket#
Os dados em tempo real são entregues por uma conexão WebSocket usando o protocolo
GraphQL over WebSocket (graphql-transport-ws). Use-o para operações de
subscription, como atualizações de preço ao vivo.
Conexão#
Abra um WebSocket em:
wss://public-api.catapult.trade/graphql
Negocie o subprotocolo graphql-transport-ws. Depois que o socket abrir, envie uma
mensagem connection_init; o servidor responde com connection_ack.
| Propriedade |
Valor |
| URL |
wss://public-api.catapult.trade/graphql |
| Subprotocolo |
graphql-transport-ws |
| Keep-alive |
o servidor envia ping a cada 30s; responda com pong |
| Máx. de assinaturas |
1000 por conexão |
Ciclo de vida#
- O cliente abre o socket com o subprotocolo
graphql-transport-ws.
- Cliente →
{"type":"connection_init"}.
- Servidor →
{"type":"connection_ack"}.
- Cliente →
subscribe com um id único e um documento GraphQL.
- Servidor → uma ou mais mensagens
next, depois complete.
Assinatura#
{
"id": "1",
"type": "subscribe",
"payload": {
"query": "subscription($t: ID!) { priceTicks(tokenId: $t) { tokenId price } }",
"variables": { "t": "<tokenId>" }
}
}
Mensagem de dados#
{
"id": "1",
"type": "next",
"payload": { "data": { "priceTicks": { "tokenId": "tok_123", "price": "0.0123" } } }
}
Cancelar assinatura#
Envie uma mensagem complete para parar uma assinatura; feche o socket para parar
todas.
{ "id": "1", "type": "complete" }
Erros#
Os erros no nível da operação chegam como uma mensagem error para o id
correspondente:
{ "id": "1", "type": "error", "payload": [{ "message": "Token not found" }] }
Conexões que não enviam connection_init em 10 segundos são fechadas com o código
4408 (tempo de inicialização da conexão esgotado).
Queries
boosterAvailability#
Disponibilidade global de boosters: slots ativos/máximos/disponíveis e configuração por tier (preço, duração, boost de pontos, modos de velocidade aplicáveis).
boosterAvailability: PublicBoosterAvailabilityOutput!
Argumentos
Sem argumentos.
boosters#
Todos os tokens com um boost atualmente ativo, incluindo a porcentagem de retorno atual com decaimento ao longo do tempo.
boosters: [PublicBoostedTokenOutput!]!
Argumentos
Sem argumentos.
checkReferral#
Retorna o perfil mínimo do indicado e o saldo livre em USDT quando o ID de usuário fornecido é um dos indicados de quem faz a chamada. Retorna null quando o usuário não é um indicado de quem faz a chamada autenticado (ou não existe).
checkReferral(referralUserId: ID!): PublicCheckReferralOutput
Argumentos
| Nome | Tipo | Padrão | Descrição |
referralUserId |
ID! |
— |
|
closedPositions#
Lista paginada por cursor das posições fechadas do usuário autenticado, das mais recentes para as mais antigas. Opcionalmente filtrada para um único token.
closedPositions(input: PublicClosedPositionsInput!): PublicClosedPositionsOutput!
Argumentos
ping#
Sonda de saúde para a API pública GraphQL. Retorna "pong". Não requer autenticação.
ping: String!
Argumentos
Sem argumentos.
tokenChartData#
Chart candles and current price for a token.
tokenChartData(tokenId: ID!): PublicTokenChartDataOutput!
Argumentos
| Nome | Tipo | Padrão | Descrição |
tokenId |
ID! |
— |
|
tokenRandomizedPreset#
Retorna uma predefinição de token aleatória (nome, símbolo, avatar, flags de modo) útil para pré-preencher os inputs de criação de token.
tokenRandomizedPreset(allowedValues: TurboTokenPresetAllowedValuesInput): PublicTokenPresetOutput!
Argumentos
tokens#
Lista tokens com paginação por cursor, ordenação e filtro.
tokens(input: PublicTokenListInput!): PublicTokenListOutput!
Argumentos
turboToken#
Obtém um único token por id com estatísticas de negociação agregadas.
turboToken(tokenId: ID!): PublicTokenDetailsOutput!
Argumentos
| Nome | Tipo | Padrão | Descrição |
tokenId |
ID! |
— |
|
userBalance#
Saldo do usuário autenticado. Retorna o saldo livre e o valor alocado em posições abertas, em USDT drops.
userBalance: PublicBalanceOutput!
Argumentos
Sem argumentos.
userMe#
Perfil do usuário autenticado. Exclui role, atribuição kaito e informações de sessão.
userMe: PublicUserOutput!
Argumentos
Sem argumentos.
Mutations
boosterBuy#
Compra um booster para um dos tokens do usuário autenticado. Retorna true em caso de sucesso.
boosterBuy(input: PublicBoosterBuyInput!): Boolean!
Argumentos
claimAllCreatorFees#
Claim all available creator fees across tokens.
claimAllCreatorFees: PublicClaimAllCreatorFeesOutput!
Argumentos
Sem argumentos.
claimCreatorFee#
Claim accumulated creator fees for a single token.
claimCreatorFee(input: PublicClaimCreatorFeeInput!): PublicClaimCreatorFeeOutput!
Argumentos
fileFinalize#
Marca um upload como concluído após o POST do S3 ser bem-sucedido. Retorna a URL pública do arquivo.
fileFinalize(id: String!): PublicFileFinalizeOutput!
Argumentos
| Nome | Tipo | Padrão | Descrição |
id |
String! |
— |
|
fileUpload#
Inicia um upload de arquivo. Retorna uma URL de POST pré-assinada do S3 com os campos de formulário que o cliente deve incluir no upload multipart.
fileUpload(input: PublicFileUploadInput!): PublicFileUploadOutput!
Argumentos
tokenCreate#
Cria um novo turbo token. Usa sempre pagamento baseado em saldo; o tipo de pagamento não pode ser substituído.
tokenCreate(input: PublicTokenCreateInput!): String!
Argumentos
tradeClose#
Fecha uma posição aberta via USER_SELL.
tradeClose(input: PublicTradeCloseInput!): PublicTradeCloseOutput!
Argumentos
tradeLimitCreate#
Anexa um limite de SL/TP a uma posição aberta. Pelo menos um gatilho (SL ou TP) deve ser especificado.
tradeLimitCreate(input: PublicTradeLimitCreateInput!): PublicTradePositionOutput!
Argumentos
tradeLimitDelete#
Remove o limite de SL/TP de uma posição aberta.
tradeLimitDelete(input: PublicTradeLimitDeleteInput!): PublicTradePositionOutput!
Argumentos
tradeLimitUpdate#
Substitui o limite de SL/TP em uma posição aberta.
tradeLimitUpdate(input: PublicTradeLimitUpdateInput!): PublicTradePositionOutput!
Argumentos
tradeOpen#
Abre uma posição. O corpo deve especificar exatamente um entre `usdtDrops` (denominado em USDT) ou `amountWei` (denominado em token).
tradeOpen(input: PublicTradeOpenInput!): PublicTradePositionOutput!
Argumentos
Subscriptions
positions#
Stream de eventos de posição para o usuário autenticado. Na inicialização, emite um snapshot de cada posição aberta (cada uma como POSITION_OPENED) e, em seguida, transmite ao vivo os eventos POSITION_OPENED / POSITION_CLOSED / POSITION_UPDATED.
positions: PublicPositionEvent!
Argumentos
Sem argumentos.
priceTicks#
Ticks de preço ao vivo de um token em USDT.
priceTicks(tokenId: ID!): PublicPriceTick!
Argumentos
| Nome | Tipo | Padrão | Descrição |
tokenId |
ID! |
— |
|
tokenCreated#
Stream de turbo tokens recém-criados
tokenCreated: PublicTokenCreatedEvent!
Argumentos
Sem argumentos.
unclaimedReward#
Stream of unclaimed reward balances for the authenticated user.
unclaimedReward: PublicUnclaimedRewardOutput!
Argumentos
Sem argumentos.
Objects
PublicBalanceOutput object#
Campos
| Nome | Tipo | Descrição |
balanceUsdtDrops |
String! |
Saldo livre disponível para negociação. USDT drops (1e6 = 1 USDT). |
inPositionsBalanceUsdtDrops |
String! |
Capital atualmente alocado em posições abertas. USDT drops. |
PublicBoostedTokenOutput object#
Campos
| Nome | Tipo | Descrição |
avatarUrl |
String! |
|
boostedUntil |
DateTime! |
Quando o boost expira. |
boosterType |
TokenBoosterType! |
|
currentReturnPercentage |
Float! |
Porcentagem de retorno atual do boost com decaimento ao longo do tempo. |
name |
String! |
|
symbol |
String! |
|
tokenId |
ID! |
|
PublicBoosterAvailabilityOutput object#
Campos
| Nome | Tipo | Descrição |
active |
Int! |
Slots de boost atualmente ativos. |
available |
Int! |
Slots de boost livres restantes (max - active, com piso em 0). |
max |
Int! |
Número máximo de tokens com boost simultâneo. |
types |
[PublicBoosterTypeConfigOutput!]! |
Configuração de cada tier de booster disponível. |
PublicBoosterTypeConfigOutput object#
Campos
| Nome | Tipo | Descrição |
availableModes |
[SpeedMode!]! |
Modos de velocidade de token aos quais este tier pode ser aplicado. |
durationSeconds |
Int! |
Duração do boost em segundos. |
pointsBoost |
Float! |
Multiplicador de pontos aplicado enquanto o boost está ativo. |
priceUsdtDrops |
String! |
Preço deste tier. USDT drops (1e6 = 1 USDT). |
type |
TokenBoosterType! |
|
PublicCandleOutput object#
Campos
| Nome | Tipo | Descrição |
close |
Float! |
|
high |
Float! |
|
low |
Float! |
|
open |
Float! |
|
time |
Float! |
|
PublicCheckReferralOutput object#
Campos
| Nome | Tipo | Descrição |
balanceUsdtDrops |
String! |
Saldo livre do usuário indicado. USDT drops (1e6 = 1 USDT). |
user |
PublicMinimalUserOutput! |
|
PublicClaimAllCreatorFeesOutput object#
Campos
| Nome | Tipo | Descrição |
balanceAfterUsdtDrops |
String! |
|
claimedAmountUsdtDrops |
String! |
|
claimedCount |
Int! |
|
PublicClaimCreatorFeeOutput object#
Campos
| Nome | Tipo | Descrição |
claimedAmountUsdtDrops |
String! |
|
PublicClosedPositionOutput object#
Campos
| Nome | Tipo | Descrição |
amountWei |
String! |
Quantidade de token em wei. |
boughtUsdtDrops Obsoleto |
String! |
Obsoleto; substituído por `paidAmountUsdtDrops`. Valor em USDT drops (1e6 = 1 USDT). |
buyPriceUsdtDrops |
String! |
Preço de entrada em USDT drops (1e6 = 1 USDT). |
closePriceUsdtDrops |
String |
Preço de fechamento em USDT drops (1e6 = 1 USDT); null até a liquidação. |
closeType |
TurboTokenPositionCloseType |
Como a posição foi fechada (manual, liquidação, etc.). |
closedAt |
DateTime |
Quando a posição foi fechada/liquidada; null se ainda estiver aberta. |
collateralUsdtDrops |
String! |
Valor do colateral em USDT drops (1e6 = 1 USDT). |
currentPriceUsdtDrops |
String! |
Preço atual em USDT drops (1e6 = 1 USDT). |
endTimestamp |
DateTime! |
Horário de término agendado da posição. |
id |
ID! |
|
isScoreBoosted |
Boolean! |
Se a pontuação da posição recebeu boost. |
leverageX10 |
Int! |
Leverage X10 (10 = 1.0x, 20 = 2.0x, 100 = 10.0x). |
limit |
PublicTradeLimitOutput |
Limite de stop-loss / take-profit anexado, se houver. |
liquidationPriceUsdtDrops |
String |
Preço de liquidação em USDT drops (1e6 = 1 USDT); null para SPOT 1x LONG. |
notionalUsdtDrops |
String! |
Valor nocional em USDT drops (collateral * leverage, 1e6 = 1 USDT). |
paidAmountUsdtDrops |
String! |
Valor pago para abrir a posição em USDT drops (1e6 = 1 USDT). |
pnlUsdtDrops |
String! |
PnL realizado em USDT drops (1e6 = 1 USDT). |
positionType |
PositionType! |
Tipo de posição: SPOT (1x LONG) ou FUTURES (LONG / SHORT alavancado). |
realizedFeesUsdtDrops |
String! |
Total de taxas pagas por esta posição em USDT drops (1e6 = 1 USDT). |
scoreForPosition |
Float! |
Pontuação do programa de pontos obtida por esta posição. |
side |
PositionSide! |
Lado da posição: LONG ou SHORT. |
timestamp |
DateTime! |
Quando a posição foi aberta. |
token |
PublicClosedPositionTokenInfoOutput! |
O token no qual esta posição foi aberta. |
PublicClosedPositionsOutput object#
Campos
PublicClosedPositionTokenInfoOutput object#
Campos
| Nome | Tipo | Descrição |
avatarUrl |
String! |
|
id |
String! |
|
name |
String! |
|
rank |
TurboTokenRank! |
Rank/tier do token. |
speedMode |
SpeedMode! |
Modo de velocidade de negociação do token. |
symbol |
String! |
|
tokenDecimals |
Int! |
Número de casas decimais para a quantidade do token. |
PublicFileFinalizeOutput object#
Campos
| Nome | Tipo | Descrição |
id |
ID! |
|
url |
String! |
URL pública do arquivo finalizado. |
PublicFileUploadOutput object#
Campos
| Nome | Tipo | Descrição |
fields |
[PublicFormField!]! |
Campos de formulário para o POST pré-assinado do S3. Adicione cada (key, value) ao seu `FormData` e, por último, adicione `file`. |
id |
ID! |
Id do arquivo; passe para `fileFinalize` após o POST do S3. |
uploadUrl |
String! |
URL para a qual enviar o POST do formulário multipart. |
PublicFormField object#
Campos
| Nome | Tipo | Descrição |
key |
String! |
|
value |
String! |
|
PublicMinimalUserOutput object#
Campos
| Nome | Tipo | Descrição |
avatarToken |
String! |
|
id |
ID! |
|
profileName |
String! |
|
PublicPositionClosedEvent object#
Campos
PublicPositionOpenedEvent object#
Campos
| Nome | Tipo | Descrição |
amountWei |
String! |
|
buyPriceUsdtDrops |
String! |
Preço de entrada em USDT drops. |
collateralUsdtDrops |
String! |
Valor do colateral em USDT drops (input do usuário menos taxas). |
currentPriceUsdtDrops |
String! |
Preço atual em USDT drops. |
leverageX10 |
Int! |
|
limit |
PublicTradeLimitOutput |
|
liquidationPriceUsdtDrops |
String |
Preço de liquidação em USDT drops (null para SPOT 1x LONG). |
notionalUsdtDrops |
String! |
Valor nocional em USDT drops (collateral * leverage). |
paidAmountUsdtDrops |
String! |
Valor pago em USDT drops. |
pnlUsdtDrops |
String! |
PnL ao vivo em USDT drops. |
positionId |
ID! |
|
positionType |
PositionType! |
|
side |
PositionSide! |
|
timestamp |
DateTime! |
|
tokenId |
String! |
|
type |
TurboTokenPositionEventType! |
|
PublicPositionUpdatedEvent object#
Campos
PublicPriceTick object#
Campos
| Nome | Tipo | Descrição |
price |
Float! |
|
tokenId |
ID! |
|
PublicTokenChartDataOutput object#
Campos
PublicTokenCreatedEvent object#
Campos
PublicTokenDetailsOutput object#
Campos
PublicTokenListItemOutput object#
Campos
| Nome | Tipo | Descrição |
avatarUrl |
String! |
|
boostedUntil |
DateTime |
Quando o boost ativo neste token expira, ou null se não houver boost. |
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! |
Volume de negociação acumulado (USDT drops, 1e6 = 1 USDT). |
PublicTokenListOutput object#
Campos
PublicTokenPresetOutput object#
Campos
PublicTokenStatisticsOutput object#
Campos
| Nome | Tipo | Descrição |
buysCount |
Int! |
|
nonMmVolumeFromBoostersUsdtDrops |
String! |
|
sellsCount |
Int! |
|
totalVolumeUsdtDrops |
String! |
|
uniqueTradersCount |
Int! |
|
volumeFromBoostersUsdtDrops |
String! |
|
PublicTradeCloseOutput object#
Campos
| Nome | Tipo | Descrição |
amountUsdtDrops |
String! |
Valor da posição em USDT drops sem taxas. |
closePriceUsdtDrops |
String! |
|
closeType |
TurboTokenPositionCloseType! |
Como a posição foi fechada. |
closedAt |
DateTime! |
|
leverageX10 |
Int! |
Leverage X10 (10 = 1.0x, 20 = 2.0x, 100 = 10.0x). |
paidAmountUsdtDrops |
String! |
Valor pago em USDT drops. |
pnlPercentage |
String! |
|
pnlUsdtDrops |
String! |
|
positionId |
String! |
|
positionType |
PositionType! |
Tipo de posição (SPOT ou FUTURES). |
receivedAmountUsdtDrops |
String! |
Valor recebido após o fechamento da posição em USDT drops. |
side |
PositionSide! |
Lado da posição (LONG ou SHORT). |
tokenId |
String! |
|
totalCloseFeeUsdtDrops |
String! |
Taxa de fechamento + taxa de lucro em USDT drops. |
PublicTradeLimitOutput object#
Campos
| Nome | Tipo | Descrição |
positionId |
ID! |
Id da posição à qual este limite está anexado. |
slTriggerPnlUsdtDrops |
String |
PnL de gatilho do stop-loss em USDT drops (1e6 = 1 USDT); null se não definido. |
slTriggerPriceUsdtDrops |
String |
Preço de gatilho do stop-loss em USDT drops (1e6 = 1 USDT); null se não definido. |
tokenId |
String! |
Id do token que a posição negocia. |
tpTriggerPnlUsdtDrops |
String |
PnL de gatilho do take-profit em USDT drops (1e6 = 1 USDT); null se não definido. |
tpTriggerPriceUsdtDrops |
String |
Preço de gatilho do take-profit em USDT drops (1e6 = 1 USDT); null se não definido. |
userId |
String! |
Id do usuário proprietário. |
PublicTradePositionOutput object#
Campos
| Nome | Tipo | Descrição |
amountUsdtDrops |
String! |
|
amountWei |
String! |
|
collateralUsdtDrops |
String! |
Valor do colateral em USDT drops (input do usuário menos taxas). |
id |
ID! |
|
leverageX10 |
Int! |
|
limit |
PublicTradeLimitOutput |
|
liquidationPriceUsdtDrops |
String |
Preço de liquidação em USDT drops (null para SPOT 1x LONG). |
notionalUsdtDrops |
String! |
Valor nocional em USDT drops (collateral * leverage). |
positionType |
PositionType! |
|
priceUsdtDrops |
String! |
|
side |
PositionSide! |
|
timestamp |
DateTime! |
|
PublicUnclaimedRewardOutput object#
Campos
PublicUserOutput object#
Campos
| Nome | Tipo | Descrição |
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 |
|
Enums
PositionSide enum#
Valores
PositionType enum#
Tipo de posição: SPOT (1x LONG) ou FUTURES (LONG / SHORT alavancado)
Valores
PublicUnclaimedBalanceType enum#
Valores
| Nome | Descrição |
|---|
BONDED_TURBO_TOKEN_FEE | |
CREATOR_FEE | |
CREATOR_PROGRAM_REFERRAL_REWARD | |
MINDSHARE_REWARD | |
PRESALE_REFERRAL_REWARD | |
REFERRAL_REWARD | |
SEASON_REWARD | |
SortDirection enum#
Valores
SpeedMode enum#
Valores
| Nome | Descrição |
|---|
CRACK | |
FAST | |
FLASH | |
MAYHEM | |
NORMAL | |
TokenBoosterType enum#
Valores
| Nome | Descrição |
|---|
B1 | |
B2 | |
B3 | |
B4 | |
B5 | |
B6 | |
TurboPriceMode enum#
Valores
| Nome | Descrição |
|---|
FiveHundred | |
Hundred | |
One | |
Ten | |
TurboTokenListSorting enum#
Valores
| Nome | Descrição |
|---|
BuysCount | |
SellsCount | |
StartTime | |
TimeLeft | |
TradersCount | |
Volume | |
TurboTokenMode enum#
Valores
| Nome | Descrição |
|---|
Crack | |
Fast | |
Flash | |
Mayhem | |
Slow | |
TurboTokenPositionCloseType enum#
Valores
| Nome | Descrição |
|---|
EXPIRED | |
LIQUIDATION | |
STOP_LOSS | |
TAKE_PROFIT | |
USER_SELL | |
TurboTokenPositionEventType enum#
Valores
| Nome | Descrição |
|---|
POSITION_CLOSED | |
POSITION_OPENED | |
POSITION_UPDATED | |
TurboTokenRank enum#
Valores
| Nome | Descrição |
|---|
Competition | |
Private | |
Public | |
UserStatus enum#
Valores
UserWalletType enum#
Valores
| Nome | Descrição |
|---|
Embedded | |
External | |
Scalars
DateTime scalar#
Uma string de data-hora em UTC, como 2019-12-03T09:54:33Z, em conformidade com o formato date-time.