Referência da API

Smart Money API

Uma API de inteligência profissional que agrega dados de derivativos, métricas on-chain e atividade de carteiras de baleias em uma única pontuação de confiança para seu bot de trading.

Versão atual da API: v1. URL Base: https://api.smartmoneyapi.com/v1

Princípios de design

Quatro ideias moldam cada endpoint e cada pontuação que esta API retorna. Elas também são os limites honestos do que ela promete — e do que não promete.

Estratégia primeiro, não sinal primeiro. Este não é um feed de sinais de compra/venda. Você traz a estratégia e a entrada; a API diz se a estrutura de mercado ao redor — posicionamento de derivativos, funding, open interest, liquidações, fluxo on-chain e consenso das baleias — concorda com a trade que você já quer fazer.

Pontuação de confiança, não previsão binária. Cada resposta carrega uma classificação confidence (ALTO / MÉDIO / BAIXO) e uma composite de -1.0 a +1.0. Não há garantias nem chamadas de oráculo — você obtém uma leitura calibrada de concordância, com as razões por trás, para poder dimensionar proporcionalmente à convicção.

Suporte à decisão, não conselho de execução. A API retorna uma recomendação CONFIRMAR / REDUZIR / IGNORAR e um multiplicador de tamanho para sua lógica agir. Ela nunca coloca ordens, e nada aqui é aconselhamento financeiro. Você permanece responsável pelo risco, dimensionamento e execução.

Métricas vivas, não garantias fixas. Taxas de acerto, estatísticas de regime e números de precisão são calculados a partir de uma amostra móvel e mudam conforme os mercados. Nós os publicamos honestamente, inclusive quando são medíocres. Trate cada métrica como uma observação atual, não como uma promessa sobre o futuro.

Para quem esta API é

Esta API é construída para desenvolvedores de bots, algoritmos e agentes de IA em cripto que já têm um sinal de compra/venda — de uma estratégia de TA, um modelo de ML, um pipeline do Freqtrade, um alerta do TradingView ou um agente LLM — e querem uma decisão rápida CONFIRMAR / REDUZIR / IGNORAR antes de alocar capital.

Um loop típico: sua estratégia dispara "comprar BTC" → você chama GET /v1/confirm?symbol=BTC&direction=long → você confirma, reduz ou ignora a entrada e escala o tamanho por size_mult. Uma chamada, resposta JSON única de baixa latência, sem infraestrutura extra.

Ela não é um gerador de sinais independente, um produto de charting ou uma plataforma de execução. Se você não tem um sinal próprio para filtrar, comece com a página de performance para ver como a pontuação se comportou antes de integrá-la a um bot ativo.

Obter acesso

1 — Cadastre-se. Crie uma conta gratuita em signup (e-mail/senha ou Google). Nenhum cartão de crédito é necessário para o plano gratuito.

2 — Acesse seu painel. Seu painel mostra sua chave de API, plano atual e uso em tempo real contra sua cota diária.

3 — Copie sua chave de API. As chaves são prefixadas sm_. Passe-a no X-API-Key cabeçalho em cada requisição (veja Autenticação). Atualize a qualquer momento no página de preços para aumentar limites e desbloquear mais símbolos e endpoints.

Especificação, SDK e Livro de Receitas

Tudo o que você precisa para integrar rapidamente, seja escrevendo o código você mesmo ou delegando a um agente de codificação.

RecursoO que é
Livro de ReceitasReceitas prontas para copiar e colar para as integrações mais comuns — confirme antes da entrada, proteja um sinal do Freqtrade, dimensione por multiplicador, lide com 402/429 e conecte a um agente de codificação.
Especificação OpenAPIDefinição OpenAPI legível por máquina de cada endpoint. Importe para Postman/Insomnia, gere clientes ou alimente um LLM. Em github.com/tashiardit/smartmoneyapi-docs.
Cliente PythonBiblioteca oficial de cliente Python em github.com/tashiardit/smartmoneyapi-python.
/llms.txtUm resumo em texto simples da API amigável para LLMs. Aponte Claude, Codex ou Cursor para ele (veja Agentes de Codificação).

Início rápido em 2 minutos

Passo 1 — URL base. Cada endpoint está disponível em:

URL Base
https://api.smartmoneyapi.com

Passo 2 — Obtenha sua chave de API. Cadastre-se gratuitamente (sem necessidade de cartão de crédito) e copie sua chave do painel. Passe-a como o X-API-Key cabeçalho em cada requisição.

Passo 3 — Sua primeira chamada. Cole isto no seu terminal e substitua sm_your_key pela chave do seu painel:

cURL
curl -H "X-API-Key: sm_your_key" "https://api.smartmoneyapi.com/v1/confirm?symbol=BTC&direction=long"

Resposta esperada:

JSON
{
"ts": 1710940821,
"symbol": "BTC",
"direction": "long",
"composite": 0.74,
"confidence": "HIGH",
"action": "CONFIRM",
"size_mult": 1.5,
"deriv_score": 0.81,
"onchain_score": 0.68,
"whale_score": 0.73,
"reasons": ["Taxa de funding positiva em todas as plataformas", "Baleias: 67% de consenso em long"]
}

Quando confidence é HIGH ou MEDIUM e action é CONFIRM, dimensione o tamanho da sua posição por size_mult. Esse é todo o ciclo de integração. Veja Campos de Resposta para a referência completa de campos.

Autenticação

Todas as requisições exigem uma chave de API passada como o X-API-Key cabeçalho HTTP.

Cabeçalho HTTP
X-API-Key: sm_your_api_key_here

Sua chave de API está disponível no painel após o cadastro. Mantenha sua chave secreta — não a exponha em código do lado do cliente ou repositórios públicos.

A autenticação WebSocket é diferente. Nunca coloque sua chave em uma URL WebSocket. Fluxos em tempo real usam ticketsde uso único e curta duração: POST sua chave para /v1/ws/ticket com o X-API-Key cabeçalho, então conecte-se com o ticket retornado. Veja Autenticação WebSocket (tickets).

Login com Google (Firebase Auth)

Os usuários podem autenticar usando sua conta do Google via Firebase Authentication. Após um login bem-sucedido com Google no cliente, troque o token de ID do Firebase por uma sessão de API vinculada. O sistema sincroniza automaticamente sua identidade do Google com o sistema de chave de API.

Disponível para: Grátis Trader Pro
POST /auth/google

Corpo da Requisição

CampoTipoDescrição
id_tokenobrigatóriostringToken de ID do Firebase obtido após login com Google no cliente

Exemplo de Resposta

JSON
{
"api_key": "sm_your_linked_key",
"uid": "firebase_uid_abc123",
"email": "[email protected]",
"plan": "trader",
"synced": true
}
Os dados do perfil do usuário — e-mail, plano, histórico de uso, preferências — são armazenados no Firestore e vinculados à sua conta do Google. Uma exportação completa de dados ou exclusão da conta pode ser solicitada a qualquer momento nas Configurações de Privacidade do painel.

Limites de Taxa

PlanoChamadas/DiaLimite de RajadaAtraso de Dados
Grátis502/min60 segundos
Trader1,00020/minTempo real
Pro5,00060/minTempo real
Empresa100,000400/minTempo real

Os cabeçalhos de limite de taxa estão incluídos em cada resposta: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

URL base

https://api.smartmoneyapi.com/v1

Todos os endpoints abaixo são relativos a esta URL base. Todas as respostas são JSON com Content-Type: application/json.

Erros

Os erros usam códigos de status HTTP padrão e um corpo JSON consistente. Sempre ramifique no código de status, não no texto da resposta. Os três que você encontrará com mais frequência:

StatusCódigoSignificado e o que fazer
401não autorizadoChave da API ausente ou inválida. Verifique se o X-API-Key cabeçalho está presente e correto.
402pagamento_necessárioO endpoint ou símbolo requer um plano superior ao que sua chave possui (por exemplo, uma chave gratuita chamando o firehose WebSocket). Atualize ou volte para um endpoint público.
429limite_de_taxa_excedidoLimite diário ou de rajada atingido. Recue e tente novamente após X-RateLimit-Reset; não insista.

Cada erro retorna o mesmo formato:

JSON
{
"error": "rate_limit_exceeded",
"message": "Limite diário de 50 chamadas atingido. Reinicia às 00:00 UTC.",
"status": 429
}

Para a lista completa de códigos de status (400 / 403 / 500 / 503 e mais), consulte Códigos de Erro. Uma integração robusta trata 5xx e 429 como transitórios (tente novamente com recuo) e 401/402/403 como terminais (corrija a chave ou o plano).

Melhores práticas de segurança

Envie a chave no cabeçalho, nunca na URL. Sempre passe X-API-Key como um cabeçalho HTTP. Chaves em strings de consulta (?key=) são registradas por proxies, balanceadores de carga e histórico do navegador — a autenticação ?key= legada não é mais aceita em endpoints WebSocket por exatamente esse motivo.

Mantenha as chaves no lado do servidor. Nunca incorpore uma chave de API em JavaScript do lado do cliente, um pacote de aplicativo móvel ou um repositório público. Carregue-a de uma variável de ambiente ou gerenciador de segredos. Se uma chave vazar, substitua-a.

Gire as chaves periodicamente. Regenere sua chave do painel em um cronograma e imediatamente se suspeitar de exposição. A chave antiga para de funcionar no momento em que uma nova é emitida.

Use tickets para sockets do navegador. Para transmissões em tempo real do navegador, troque sua chave por um ticket de uso único em vez de conectar com a chave bruta — veja Autenticação WebSocket (tickets).

Usando com agentes de codificação / LLMs

Construindo com Claude Code, Codex, Cursor ou qualquer agente de codificação LLM? Você pode fornecer ao agente tudo o que ele precisa para configurar esta API corretamente de uma só vez. Duas referências legíveis por máquina são publicadas:

RecursoURL
Resumo LLMhttps://smartmoneyapi.com/llms.txt
Especificação OpenAPIgithub.com/tashiardit/smartmoneyapi-docs

Aponte seu agente para o /llms.txt arquivo (a convenção llms.txt) para uma visão geral concisa, depois para a especificação OpenAPI para formas exatas de solicitação/resposta. Um prompt de uma linha que funciona bem:

Prompt
# Cole no Claude Code / Cursor / Codex
Leia https://smartmoneyapi.com/llms.txt e a especificação OpenAPI em
github.com/tashiardit/smartmoneyapi-docs, então adicione uma verificação
pré-negociação ao meu bot que chama GET /v1/confirm e ignora entradas
a menos que a ação seja CONFIRM.

Veja o Livro de Receitas para uma receita trabalhada de agente de codificação.

Endpoints

GET  /confirm

O endpoint principal. Retorna uma pontuação de confiança composta e uma recomendação de ação para uma determinada direção de negociação. Chame isso antes de entrar em qualquer posição.

Cobertura, em termos simples. /confirm atualmente pontua BTC, ETH e SOL — os símbolos com histórico resolvido suficiente para confirmar honestamente. O screener de derivativos separadamente monitora ~519 mercados de derivativos para dados de financiamento, OI e liquidação, e o rastreamento de baleias cobre mais de 600 carteiras. Pro desbloqueia o screener completo, exportações e cobertura de mercado mais ampla; /confirm o suporte a símbolos é expandido à medida que cada mercado acumula um histórico confiável.

Parâmetros

ParâmetroTipoDescrição
símboloobrigatóriostringSímbolo do ativo. Um de: BTC, ETH, SOL (Trader+)
direçãoobrigatóriostringDireção da negociação: long ou short
fonteopcionalstringRótulo para sua fonte de sinal (registrado para análise). Máximo de 32 caracteres.

Exemplo de Solicitação

cURL
curl -H "X-API-Key: sm_your_key" \
"https://api.smartmoneyapi.com/v1/confirm?symbol=BTC&direction=long"

Exemplo de Resposta

JSON
{
"ts": 1710940821,
"symbol": "BTC",
"direction": "long",
"composite": 0.74,
"confidence": "HIGH",
"action": "CONFIRM_FULL",
"size_mult": 1.5,
deriv_score: 0.81,
onchain_score: 0.68,
whale_score: 0.73,
x_score: 0.0,
fatores: {
derivativos: { pontuação: 0.81, peso: 0.40, ponderado: 0.324 },
onchain: { pontuação: 0.68, peso: 0.35, ponderado: 0.238, fonte: coinmetrics, disponível: True },
baleia: { pontuação: 0.73, peso: 0.25, fator_de_obsolescência: 1.0, ponderado: 0.183 }
},
ajustes: { concordância: 0.0, tendência: 0.0, notícias_macro: 0.0 },
pesos: { derivativos: 0.40, onchain: 0.35, whale_intel: 0.25 },
cobertura: { derivativos: True, baleia: True, onchain: True },
razões: [
Taxa de funding positiva em todas as plataformas,
LSR favorece longs: 1.42,
Baleias: 67% de consenso em long,
MVRV acima de 1.0 — bullish on-chain
]
}

Transparente por design. Cada resposta contém um factors objeto mostrando cada perna do pontuação × peso = ponderada contribuição, um adjustments objeto para ajustes pós-filtro, o weights usado, e um coverage mapa. A perna on-chain usa dados reais e gratuitos da Coin Metrics (MVRV / fluxo de exchange / endereços ativos) quando nenhuma chave Glassnode está definida. Este é um confluência pontuação — suporte à decisão, não uma taxa de vitória garantida.

Símbolos não rastreados são honestos. Um símbolo fora do universo de derivativos/baleias rastreados retorna um "confidence":"NO_DATA" / "action":"NO_DATA_SKIP" com "unsupported":true — nunca um LOW.

Campos de Resposta

CampoTipoDescrição
tsintegerTimestamp Unix do cálculo
symbolstringSímbolo do ativo (BTC/ETH/SOL)
directionstringDireção solicitada (long/short)
compositefloatPontuação composta de confluência de -1.0 (contra extremo) a +1.0 (confirmação forte). Não é uma taxa de acerto.
base_compositefloatCompósito antes da aplicação dos ajustes pós-filtro
confidencestringHIGH / MEDIUM / LOW / VETO / NO_DATA
actionstringCONFIRM_FULL / CONFIRM_REDUCED / CONFIRM_MINIMAL / VETO_SKIP / NO_DATA_SKIP
size_multfloatMultiplicador sugerido para o tamanho da posição (ex.: 0.0 – 1.5)
unsupportedbooltrue quando o símbolo está fora da cobertura (emparelhado com NO_DATA)
deriv_scorefloatSub-pontuação de derivativos (-1 a 1)
onchain_scorefloatSub-pontuação on-chain (-1 a 1)
whale_scorefloatSub-pontuação de consenso de baleias (-1 a 1)
x_scorefloatSub-pontuação de sentimento X/social (-1 a 1); 0 quando não utilizado
factorsobjectDetalhamento por perna: score × weight = weighted para derivativos / onchain / whale / x_sentiment (onchain inclui source)
adjustmentsobjectAjustes pós-filtro assinados (concordância, tendência, rsi_1h, news_macro, momentum, time_of_day, streak_decay)
weightsobjectConjunto de pesos realmente utilizado para esta avaliação
coverageobject{derivatives, whale, onchain} — quais pernas tinham dados reais
reasonsarrayExplicações legíveis por humanos para a pontuação

GET  /snapshot

Retorna um snapshot completo do mercado, incluindo todas as sub-pontuações, métricas brutas e valores de indicadores para um determinado símbolo. Útil para painéis e registros.

Requer: Trader Pro

GET  /onchain

Retorna métricas brutas on-chain: MVRV, SOPR, fluxo líquido de exchanges, razão de capitalização realizada e classificação de posição no ciclo.

Requer: Trader Pro

GET  /v1/derivatives/*

Screener de derivativos entre exchanges com mais de 500 símbolos: mapa de calor de funding rate, rankings de open interest e detecção de sinais de long/short ratio. As 10 primeiras linhas são públicas; o screener completo requer Trader ou Pro. Endpoints: /v1/derivatives/screener, /v1/derivatives/funding, /v1/derivatives/oi, /v1/derivatives/signals.

GET  /v1/options/*

Análises de opções de BTC & ETH da Deribit (público, sem autenticação): razão put/call, max pain e open interest por strike. Endpoints: /v1/options/summary, /v1/options/pcr, /v1/options/oi.

GET  /v1/etf/*

Fluxos líquidos diários de ETFs de BTC & ETH e detalhamento por fundo (público). Endpoints: /v1/etf/flows, /v1/etf/funds.

GET  /v1/historical/*

Dados históricos de funding, open interest, long/short ratio (Binance) e OHLCV (CoinGecko) para backtesting. Endpoints: /v1/historical/funding, /v1/historical/oi, /v1/historical/lsr, /v1/historical/ohlcv.

GET  /v1/dex/*

Pares em alta, busca de tokens e detalhes de pares via DexScreener (público, sem autenticação). Endpoints: /v1/dex/trending, /v1/dex/search, /v1/dex/token, /v1/dex/pair.

GET  /v1/news/*

Inteligência de notícias: políticas/geopolíticas/cripto classificadas por impacto, mais Fear & Greed (público, sem autenticação). Endpoints: /v1/news/trump, /v1/news/general, /v1/news/impact, /v1/news/fear-greed.

GET  /whales

Retorna dados de consenso de carteiras de baleias: divisão long/short, exposição notional total, top 10 posições (apenas Pro) e contagem de carteiras.

Requer: Trader Pro

GET  /signals

Retorna um fluxo dos sinais HIGH/MEDIUM mais recentes em todos os ativos monitorados. Útil para busca de oportunidades.

Requer: Pro

GET  /v1/strategies/*

Registro transparente e somente leitura das estratégias de trading automatizadas que executam sobre os sinais Smart Money — incluindo a deriv40 Estratégia SmartMoney Copytrade (account=9). Todos os endpoints aceitam um ?account=<id> parâmetro de consulta e retornam JSON. Sem autenticação necessária (registro público).

Endpoints

  • GET /v1/strategies/stats?account=9 — métricas principais: total_trades, win_rate, profit_factor, total_pnl_usdt, account_growth_percent, initial_equity, current_equity, max_drawdown_portfolio, max_drawdown_trade.
  • GET /v1/strategies/equity?account=9 — curva de equity para gráficos: { initial_equity, curve: [{ time, equity }] }.
  • GET /v1/strategies/trades?account=9&limit=500 — registro de trades fechados: array (ou {trades:[…]}) de symbol, direction, entry_price, exit_price, pnl_usdt, pnl_percent, pnl_percent_net.
  • GET /v1/strategies/active?account=9 — posições abertas atualmente: array (ou {positions:[…]}) de symbol, side/direction, entry_price, unrealized_pnl.
  • GET /v1/strategies/signals — detalhamento por tipo de sinal alimentando as estratégias (contagem / vitórias / taxa de acerto / pnl médio por tipo de sinal).

Performance passada não é indicativa de resultados futuros. Dados são backfillados em um único regime de ~3 meses mais trades ao vivo e são mostrados pré-taxa onde indicado.

GET  /export

Baixe dados históricos de sinais como CSV para backtesting. Parâmetros: symbol, from (unix ts), to (unix ts).

Requer: Pro

GET  /health

Verificação de saúde do sistema. Retorna atualização dos dados de cada fonte e status geral da API. Sem autenticação necessária.

Resposta JSON
{
"status": "ok",
"uptime_s": 1209600,
"sources": {
"bybit": { "lag_s": 42, "ok": true },
"binance": { "lag_s": 38, "ok": true },
"hyperliquid": { "lag_s": 61, "ok": true },
"onchain": { "lag_s": 290, "ok": true }
}
}

GET  /usage

Retorna suas estatísticas de uso da API: chamadas hoje, totais mensais, limites de cota e horários de reset.

POST  /webhooks

Requer: Pro

Registre uma URL HTTPS para receber pushes de eventos assinados em tempo real quando um sinal for disparado em seus ativos monitorados. Entregas incluem um X-SmartMoney-Event cabeçalho e uma assinatura HMAC-SHA256 em X-SmartMoney-Signature, com até 3 tentativas de retry com backoff.

Corpo da Requisição

CampoTipoDescrição
urlobrigatóriostringEndpoint HTTPS para POST de eventos (deve começar com https://)
eventsobrigatórioarrayNomes de eventos, ex. ["HIGH","MEDIUM","VETO"] ou ["*"]
symbolsobrigatórioarraySímbolos para filtrar, ex. ["BTC","ETH"] ou ["*"]
secretobrigatóriostringSeu segredo de assinatura, ≥ 16 caracteres (armazenado como hash)

Verificando a assinatura

A chave HMAC é o digest SHA-256 em hex do seu segredo registrado. Calcule o HMAC-SHA256 do corpo da requisição bruta com essa chave e compare (tempo constante) contra X-SmartMoney-Signature. Veja o Guia de Implementação de Webhook.

Inteligência

GET  /analysis

Requer: Pro

Retorna a classificação do regime de mercado com detecção de conflito de sinais, alimentada por IA. Analisa a concordância entre sinais, identifica divergências entre derivativos, dados on-chain e de baleias, e produz um resumo em linguagem natural com fatores de risco prospectivos e uma recomendação com horizonte temporal.

Parâmetros

ParâmetroTipoDescrição
symbolobrigatóriostringSímbolo do ativo: BTC, ETH, ou SOL

Exemplo de Resposta

JSON
{
"ts": 1710940821,
"symbol": "BTC",
"regime": "late_cycle_divergence",
"regime_label": "Fase Tardia — Divergência de Sinal",
"summary": "BTC está em uma fase tardia de ciclo de alta, com força on-chain em conflito com a sobrecarga de derivativos. Baleias estão reduzindo exposição enquanto o LSR de varejo aumenta.",
"signal_conflicts": [
"Pontuação de baleias em baixa enquanto pontuação on-chain em alta",
"Taxa de funding no maior nível em 3 meses — risco potencial de squeeze"
],
"risk_factors": ["Funding elevado", "Divergência de OI", "Redução de baleias"],
"recommendation": "Reduza exposição longa, aperte stops. Evite novas posições longas acima do preço atual.",
"time_horizon": "4h–12h"
}
Plano Pro necessário. Este endpoint consome 3 chamadas de API por solicitação devido ao processamento de IA.

GET  /liquidations

Requer: Trader Pro

Retorna duas visões complementares: (1) projeção de alavancagem levels — uma estimativa de onde os clusters de liquidação estão; e (2) um realized_heatmap — a intensidade REAL executada de liquidação forçada (preço × tempo), agregada em tempo real a partir de feeds WebSocket de exchanges públicas: Binance, OKX, Bybit, Bitget, BitMEX. O heatmap está presente quando o stream tem dados para o símbolo (ausente em um mercado muito calmo ou logo após a inicialização).

Parâmetros

ParâmetroTipoDescrição
símboloopcionalstringSímbolo do ativo (padrão BTC). O mapa de calor real abrange símbolos de perp negociados ativamente.

Exemplo de Resposta

JSON
{
"symbol": "BTC",
"cascade_risk": "HIGH",
"nearest_long_liq_pct": -3.2,
"nearest_short_liq_pct": 4.1,
// Liquidações REAL executadas — ao vivo de 5 exchanges
"realized_heatmap": {
"window_minutes": 240, "price_min": 91000.0, "price_max": 99000.0,
"clusters": [ { "price": 93250.0, "notional": 4820000.0, "count": 37, "dominant_side": "long" } ],
"by_side": { "long": 6100000.0, "short": 2400000.0 },
"totals": { "total_notional": 8500000.0, "count": 214 },
"exchanges": { "binance": 120, "okx": 40, "bybit": 34, "bitget": 12, "bitmex": 8 }
}
}
Plano Trader: cascade_risk, distâncias mais próximas e totais/por lado realizados. Plano Pro: projeção completa levels mais o completo realized_heatmap (matrizes, clusters por preço, contagens por exchange). A estimativa projetada responde "onde estão as stops"; o mapa de calor realizado mostra "o que realmente foi liquidado."

GET  /liquidations/heatmap

Disponível para: Grátis Nenhuma autenticação necessária (limitado por IP)

Público mapa de calor de liquidação por nível de preço. Retorna uma matriz estilo Coinglass de preço × tempo de REAL executado liquidações forçadas, agrupadas pelo preço em que cada liquidação foi registrada — agregado ao vivo de feeds WebSocket públicos de exchanges: Binance, OKX, Bybit, Bitget, BitMEX. O clusters array é a saída prática: intervalos de preço classificados por valor nocional liquidado, cada um marcado com seu lado dominante. Os dados dependem do fluxo ao vivo — um símbolo muito tranquilo ou um gateway recém-reiniciado retorna a estrutura vazia bem formada mais um note. Os níveis mostrados são apenas liquidações reais, nunca estimadas.

Parâmetros

ParâmetroTipoDescrição
symbolopcionalstringSímbolo do ativo (padrão BTC).
window_minutesopcionalintJanela de retrospectiva em minutos (padrão 240, limitada a 5–1440).
price_bucketsopcionalintNúmero de intervalos de preço (padrão 50, limitado a 5–100).

Exemplo de Resposta

JSON
{
"symbol": "BTC", "window_minutes": 240, "price_buckets": 50,
"price_min": 91000.0, "price_max": 99000.0, "price_bucket_size": 160.0,
"price_levels": [ 91080.0, 91240.0, … ], "time_buckets": [ … ],
"matrix": [ [ … ] ], "long_matrix": [ [ … ] ], "short_matrix": [ [ … ] ],
"clusters": [
{ "price": 93250.0, "notional": 4820000.0, "long_notional": 4100000.0,
"short_notional": 720000.0, "count": 37, "dominant_side": "long" }
],
"by_side": { "long": 6100000.0, "short": 2400000.0 },
"totals": { "long_liq_notional": 6100000.0, "short_liq_notional": 2400000.0, "total_notional": 8500000.0, "count": 214 },
"exchanges": { "binance": 120, "okx": 40, "bybit": 34, "bitget": 12, "bitmex": 8 },
"generated_at": 1710940200, "public": true
}
Observação importante: este endpoint reflete apenas o que a transmissão ao vivo capturou. Quando um símbolo está inativo ou a transmissão acabou de começar, totals.count é 0, clusters está vazio, e um note campo explica o porquê. É um registro de liquidações executadas — não uma previsão. Para a estimativa projetada de "onde estão as stops", use o endpoint autenticado /liquidations endpoint.

GET  /liquidations/onchain

Requer: Trader Pro

Executadas liquidações on-chain de empréstimos DeFi capturadas diretamente dos nossos próprios nós completos de BSC + Avalanche — independente de qualquer bot de trading. Cobre Venus/Cream e Moolah na BSC, e AAVE V3/V2, Benqi, BankerJoe, Granary e Vinium na Avalanche. O nível Pro adicionalmente retorna at_risk posições (dependente de bot, pode estar ausente).

Parâmetros

ParâmetroTipoDescrição
chainopcionalstringbsc ou avax. Omita para todas as chains.
limitopcionalintegerMáximo de linhas (padrão 100, máximo 500). Ordenado do mais recente.

Exemplo de Resposta

JSON
{
"chain": "bsc", "count": 2,
"liquidations": [
{ "chain": "bsc", "protocol": "Venus", "borrower": "0x2be6…8dfa",
"debt_symbol": "DAI", "repay_usd": 426.15,
"collateral_symbol": "WBNB", "tx_hash": "0x718c…7c0e", "block": 89170816, "ts": 1710940200 }
],
"summary": {
"window_hours": 24, "enabled": true,
"by_protocol": { "bsc:Venus": { "count": 61, repay_usd_known: 148230.55 } },
nós: { bsc: { alcançável: True, bloco principal: 89173010, eventos_total: 61 } }
}
}

GET  /smart-stop

Requer: Trader Pro

Calcula níveis inteligentes de stop-loss com base no mapa de calor de liquidação atual, bandas de volatilidade e estrutura de mercado. Retorna recomendações de stop em camadas e sugestões de take-profit calibradas para o seu preço de entrada e tolerância ao risco.

Parâmetros

ParâmetroTipoDescrição
symbolobrigatóriostringSímbolo do ativo: BTC, ETH, ou SOL
directionobrigatóriostringDireção da posição: long ou short
entry_priceopcionalfloatSeu preço de entrada. Padrão: preço de mercado atual se omitido.
risk_pctopcionalfloatRisco máximo aceitável como % da conta. Padrão: 2.0

Exemplo de Resposta

JSON
{
symbol: BTC,
direction: long,
entry_price: 96420,
stops: {
tight: { price: 95100, note: Abaixo da estrutura de 1h. Melhor para scalping. },
recommended: { price: 93800, note: Abaixo do principal cluster de liquidação em $94K. Stop padrão para swings. },
wide: { price: 91200, note: Abaixo da zona de demanda de 4h. Stop para trades posicionais. }
},
avoid_zones: [
{ low: 94200, high: 94800, reason: Cluster denso de liquidação — alto risco de slippage }
],
take_profit_suggestions: [
{ tp1: 98500, tp2: 101000, tp3: 104200 }
]
}
Plano Trader: Retorna apenas o recommended stop. Plano Pro: Todas as três camadas de stop, avoid_zones, e sugestões completas de take-profit.

GET  /funding-arb

Requer: Trader Pro

Identifica oportunidades de arbitragem de taxas de funding entre exchanges em tempo real. Retorna oportunidades classificadas com rendimento anualizado estimado, par de exchanges ideal e ação de hedge necessária para capturar o spread.

Parâmetros

ParâmetroTipoDescrição
min_spreadopcionalfloatSpread mínimo da taxa de funding para incluir (como decimal). Padrão: 0.01
symbolopcionalstringFiltrar por um ativo específico. Omita para escanear todos os ativos suportados.

Exemplo de Resposta

JSON
{
ts: 1710940821,
opportunities: [
{
symbol: BTC,
spread: 0.032,
apr: 84.2,
long_exchange: hyperliquid,
short_exchange: bybit,
action: Long HYPE / Short BYBIT,
estimated_profit_8h_usd: 26.4
}
]
}
Plano Trader: Apenas a melhor oportunidade, sem dados históricos de spread. Plano Pro: Todas as oportunidades atuais com histórico de spread de 24h por par de exchange.

Variante pública gratuita Sem autenticação

Um endpoint público sem chave retorna as 10 melhores oportunidades com um screener cross-exchange ao vivo, ideal para incorporação ou verificações rápidas. Remove histórico de spread por símbolo e campos pesados, sendo servido de um cache de 120 segundos. Quando não há spreads de funding cross-exchange na janela de atualização, retorna um opportunities array vazio com um note — nunca dados fabricados.

GET (sem autenticação)
GET /v1/derivatives/funding-arb
JSON
{
opportunities: [
{
symbol: OGN,
spread_pct: 0.297667,
annualized_apr: 325.95,
long_exchange: bybit,
short_exchange: hyperliquid,
estimated_profit_per_10k: 29.77,
risk_notes: Spread baixo — garanta que as taxas não consumam a margem de arbitragem.
}
],
scanned_symbols: 222,
ts: 1783268753,
public: True,
limited: True
}
Grátis, sem chave de API. Apenas as 10 melhores oportunidades, limitadas e em cache (120 s). Página do screener ao vivo: funding-arb.html.

GET  /smart-money/flow

Requer: Trader Pro

Um índice direcional ponderado por qualidade de baleias por símbolo, pontuado -100 (dinheiro de baleias inclinado para venda) até +100 (inclinado para compra). Construído a partir de milhares de carteiras de baleias rastreadas na Hyperliquid — cada uma ponderada por seu próprio histórico de taxa de acerto e PnL, e decaída pela recência. Este é um índice de posicionamento, não um sinal de compra/venda ou previsão de preço. Símbolos com poucas carteiras contribuintes são marcados thin e pontuados honestamente. Página ao vivo: smart-money-flow.html.

Parâmetros

ParâmetroTipoDescrição
symbolopcionalstringUm único símbolo (ex. BTC). Omita para obter todos os símbolos rastreados classificados por |score|.
window_hoursopcionalintJanela de pontuação, limitada a 1..168. Padrão 24.

Exemplo de Resposta

JSON
{
symbols: [
{
symbol: SPX,
score: -90.93,
direction: strong_short,
n_wallets: 26,
long_usd: 184200.0, short_usd: 2410000.0,
quality_weighted: True,
sample_quality: rich,
top_contributors: [ { wallet: 0x31ca…974b, direction: short, value_usd: 5338.25, weight: 0.4948 } ]
}
],
window_hours: 24,
quality_weighted: True,
ts: 1783270000,
note: Índice de posicionamento direcional de baleias ponderado por qualidade (-100..+100). Não é uma previsão de preço ou sinal de compra/venda.
}
Plano Trader: Top 12 símbolos, detalhes dos contribuidores omitidos. Plano Pro: Todos os símbolos com top_contributorspor símbolo. Os pesos das carteiras são limitados a [0.25,1.0]; PnL é um proxy não realizado a partir dos snapshots de posição mais recentes.

GET  /v1/whales/crowding

Disponível para: Grátis Nenhuma autenticação necessária — anônimos recebem os 10 principais símbolos, Trader+ recebe a lista completa

Contexto combinado de posicionamento de baleias e aglomeração por símbolo, mesclado entre Hyperliquid + GMX v2 + Jupiter Perps. Retorna notional bruto/líquido, viés direcional, contagem de carteiras e plataformas, concentração de posição (participação dos top-3 + HHI), uma alavancagem média ponderada e intervalos de proximidade de liquidação ($ notional dentro de 5% e 10% do preço de liquidação estimado, dividido em compra/venda). Isto é contexto, não um sinal direcional. Campos que não são deriváveis são null e renderizados como — ex. lev_wavg/crowding_index quando nenhuma posição possui alavancagem. As distâncias de liquidação são uma estimativa de margem isolada (pct_to_liq ≈ 1/lev + upnl/notional − mmr, mmr = 0.01), não preços de liquidação reportados pela exchange.

Parâmetros

ParâmetroTipoDescrição
min_notionalopcionalfloatNotional bruto combinado mínimo (USD) para um símbolo ser incluído. Padrão: 1000000.

Exemplo de Requisição

GET (sem autenticação)
curl "https://api.smartmoneyapi.com/v1/whales/crowding?min_notional=1000000"

Exemplo de Resposta

JSON
{
ok: True, ts: 1783423500, min_notional: 1000000, n_symbols: 92,
symbols: [
{
symbol: BTC,
gross_usd: 2447900000.0, net_usd: -51000000.0, skew: -0.021,
n_whales: 414, n_venues: 3,
venues: {
hl: { gross: 1900000000.0, net: -40000000.0, n_whales: 272 },
gmx: { gross: 320000000.0, net: -6000000.0, n_whales: 59 },
jupiter: { gross: 227900000.0, net: -5000000.0, n_whales: 83 }
},
conc_top3: 0.159, hhi: 0.011, lev_wavg: 19.1,
liq_within_5pct: { long: 621700000.0, short: 665600000.0 },
liq_within_10pct: { long: 840000000.0, short: 910000000.0 },
crowding_index: 0.003
}
],
caveats: [ As distâncias de liquidação são estimativas de margem isolada, não relatadas pela exchange. ]
}
Nota honesta: skew é net/gross ∈ [-1,1]; crowding_index = |skew|·conc_top3·min(lev/20,1). Apenas as venues realmente presentes aparecem em venues. Posições sem alavancagem são excluídas dos buckets de liquidação em vez de serem assumidas. Chamadores anônimos recebem os 10 principais símbolos por gross (com gated: true); Trader+ recebe a lista completa.

GET  /v1/options/gex

Disponível para: Grátis Nenhuma autenticação necessária (limitado por IP)

Dealer exposição gama (GEX) análises para BTC & ETH, calculadas ao vivo a partir da cadeia de opções públicas da Deribit (sem autenticação). Retorna o GEX líquido do dealer por strike (convenção SpotGamma dealer-short), o nível de flip gama (strike onde o GEX líquido acumulado cruza zero), a estrutura temporal da IV (volatilidade implícita ATM por dias até o vencimento), e uma inclinação da IV (reversão de risco proxy de 25Δ). O regime GEX é positive (dealers long gamma → supressão de volatilidade) ou negative (amplificação de volatilidade). Totalmente autossuficiente — recalculado a cada chamada, sem dependência de banco de dados armazenado.

Parâmetros

ParâmetroTipoDescrição
symbolopcionalstringBTC ou ETH apenas. Padrão: BTC.

Exemplo de Solicitação

GET (sem autenticação)
curl "https://api.smartmoneyapi.com/v1/options/gex?symbol=BTC"

Exemplo de Resposta

JSON
{
"symbol": "BTC", "available": true, "spot": 63203.0,
"net_gex": 18240000.0, "regime": "positive",
"gamma_flip": 64919.82, "gamma_flip_pct": 2.72,
"call_gex": 31200000.0, "put_gex": -12960000.0,
"by_strike": [
{ "strike": 60000, "net_gex": -2100000.0 },
{ "strike": 65000, "net_gex": 4800000.0 }
],
"term_structure": [
{ "expiry": "8JUL26", "dte": 0.76, "atm_iv": 62.1 },
{ "expiry": "27MAR26", "dte": 14.2, "atm_iv": 58.4 }
],
"skew": {
"expiry": "8JUL26", "dte": 0.76,
"put_iv": 69.69, "atm_iv": 62.1, "call_iv": 55.34,
"risk_reversal": 14.35, "bias": "downside_fear"
}
}
Nota honesta: O multiplicador de contrato da Deribit é 1 (OI denominado em moeda). Em qualquer falha de busca, o endpoint retorna available: false com painéis vazios — nunca GEX fabricado. A inclinação da IV usa um proxy de strike fixo de ±10% para 25Δ (o verdadeiro 25-delta requer resolver o delta por strike); adequado para exibição, documentado como uma aproximação.

GET  /v1/liquidations/simulate

Disponível para: Grátis Nenhuma autenticação necessária (limitado por IP)

Interativo teste de estresse de cascata de liquidação. Dada uma movimentação hipotética de preço, retorna as posições alavancadas estimadas que seriam liquidadas, volume forçado por nível de preço/lado/exchange e uma leitura de profundidade da cascata. Uma movimentação para baixo liquida longs cujo preço de liq. está no/acima do alvo; uma movimentação para cima liquida shorts cujo preço de liq. está no/abaixo dele. Dois métodos independentes são combinados: preços exatos de liquidação de baleias do Hyperliquid rastreadas com alavancagem/entrada real , mais clusters estatísticos de faixas de OI por exchange (alavancagem da multidão inferida do funding). Tudo é claramente rotulado estimated: true — não pode saber a margem por conta, cruzada vs isolada, margem adicional ou ADL.

Parâmetros

ParâmetroTipoDescrição
symbolopcionalstringSímbolo do ativo. Padrão: BTC.
move_pctopcionalfloatMovimentação hipotética de preço em percentual (negativo = queda, positivo = alta). Padrão: -5.

Exemplo de Requisição

GET (sem autenticação)
curl "https://api.smartmoneyapi.com/v1/liquidations/simulate?symbol=BTC&move_pct=-5"

Exemplo de Resposta

JSON
{
"ok": true, "estimated": true, "symbol": "BTC",
"ref_price": 63000.0, "move_pct": -5.0, "target_price": 59850.0,
"triggered_notional_usd": 380000000.0,
"cascade_depth": 0.029, "cascade_bucket": "low",
"by_exchange": { "hyperliquid": 260000000.0, "binance": 80000000.0, "bybit": 40000000.0 },
"by_side": { "long": 380000000.0, "short": 0.0 },
"clusters": [
{ "price": 60100.0, "side": "long", "notional_usd": 42000000.0, "whale_usd": 18000000.0, "oi_usd": 24000000.0 }
],
"whale_positions_used": 272, "exchanges": 3,
"realized_context": { "available": true, "coverage_hours": 17.8, "by_side_24h": { "long": 6100000.0, "short": 2400000.0 } },
"methodology": { "disclaimer": "Estimado — não pode saber a margem por conta, cruzada vs isolada, margem adicional ou ADL." }
}
Observação honesta: Todo número projetado é derivado de leituras reais do BD; nada é fabricado em caso de falha. Um símbolo não rastreado, snapshot desatualizado ou preço ausente retorna ok: true, empty: true com uma mensagem em linguagem simples, não barras falsas. realized_context é uma amostra jovem e crescente do fluxo de liquidação forçada ao vivo, mostrada apenas como contexto — nunca torna a projeção "realizada".

GET  /v1/wallet/{addr}/profile

Disponível para: Grátis Nenhuma autenticação necessária (limitado por IP)

Um perfil de carteira multi-plataforma construído inteiramente a partir dos snapshots de posição de baleias rastreadas ao vivo. Para uma baleia Hyperliquid rastreada, retorna as posições abertas atuais, uma série temporal de PnL não realizado/exposição/contagem de posições série temporal, uma linha do tempo de atividade OPEN/CLOSE/FLIP (reconstruída pela diferença entre snapshots consecutivos), o rótulo decodificado do leaderboard da HL e um resumo do livro de ofertas. Página ao vivo: wallet-profiler.html.

Parâmetros

ParâmetroTipoDescrição
addrobrigatóriostringEndereço da carteira (segmento do caminho), ex. /v1/wallet/0x3bcae23e…/profile.
daysopcionalintegerJanela de retrospectiva para a série e linha do tempo. Padrão: 30.

Exemplo de Requisição

GET (sem autenticação)
curl "https://api.smartmoneyapi.com/v1/wallet/0x3bcae23e8c380dab4732e9a159c0456f12d866f3/profile?days=30"

Exemplo de Resposta

JSON
{
"ok": true, "wallet": "0x3bcae23e…", "tracked": true,
"first_seen_ts": 1782827733, "latest_snapshot_ts": 1783418468, "as_of": 1783418468,
"hyperliquid": {
"label": { "name": "Andre is back", "score": 74,
"window_pnl_usd": 1307000, taxa_de_acerto_pct: 71, negociações: 42 },
posições: [
{ corretora: hyperliquid, símbolo: ETH, direção: short,
tamanho: 1200.0, preço_de_entrada: 1800.0, pnl_não_realizado: 34800.0,
alavancagem: 20.0, valor_usd: 2160000.0 }
],
série: [ { ts: 1783330000, pnl_não_realizado: 42000.0, exposição_usd: 18400000.0, posições: 5 } ],
linha_do_tempo: [ { ts: 1783400000, evento: inversão, símbolo: ETH,
direção: short, da_direção: long, valor_usd: 2160000.0 } ],
resumo: {
posições_abertas: 5, com_lucro: 3, com_prejuízo: 2, longs: 0, shorts: 5,
pnl_não_realizado_total: -12000.0, exposição_total_usd: 21000000.0, alavancagem_mista: 19.9,
janela_dias: 30, instantâneos_na_janela: 474,
pnl_realizado: None, nota_pnl_realizado: Não derivável — apenas instantâneos abertos são vistos, nunca preenchimentos de fechamento.
}
}
}
Observação honesta: tudo mostrado é real a partir dos dados de instantâneos — pnl é a marcação a mercado não realizada do próprio HL, value_usd é o nocional aberto. P&L realizado por operação completa não está disponível (apenas vemos instantâneos abertos, nunca preenchimentos de fechamento) e é mostrado como null / ; eventos CLOSE na linha do tempo não carregam alegação de P&L. Um endereço válido, mas não rastreado, retorna tracked: false com uma nota; um endereço inválido retorna ok: false, error: "invalid_address" (HTTP 400). O rótulo HL-leaderboard é a posição própria do HL na descoberta, não calculado por nós.

GET  /flows

Requer: Pro

Retorna dados de fluxo de capital entre ativos, mostrando padrões de rotação entre BTC, ETH e SOL em múltiplas janelas de tempo. Útil para identificar qual ativo está acumulando capital e qual está sendo distribuído em um dado momento.

Exemplo de Resposta

JSON
{
ts: 1710940821,
fluxos: {
BTC: { 1h: 142000000, 4h: 380000000, 12h: -90000000, 24h: 220000000 },
ETH: { 1h: -38000000, 4h: -110000000, 12h: 55000000, 24h: -80000000 },
SOL: { 1h: 12000000, 4h: 29000000, 12h: 18000000, 24h: 44000000 }
},
rotações_detectadas: [
Capital rotacionando de ETH para BTC na janela de 4h,
Acumulação de SOL consistente em todas as janelas
]
}
Plano Pro necessário. Valores de fluxo são entrada líquida em USD (positivo) ou saída (negativo) por janela de tempo.

GET  /whale-events

Requer: Trader Pro

Retorna mudanças significativas em posições de baleias — aberturas, fechamentos e inversões de direção — detectadas em carteiras rastreadas e endereços on-chain na janela de retrospectiva especificada.

Parâmetros

ParâmetroTipoDescrição
símboloopcionalstringFiltrar por ativo. Omita para todos os ativos monitorados.
significânciaopcionalstringFiltrar por significância do evento: high, medium, ou all. Padrão: all
horasopcionalinteiroJanela de retrospectiva em horas. Padrão: 24

Exemplo de Resposta

JSON
{
símbolo: BTC,
resumo: {
inversões_para_long: 3,
inversões_para_short: 1,
novas_aberturas: 7,
fechamentos: 2
},
eventos: [
{
tipo: virar_long,
carteira: 0xWhale...a4f2,
direção: long,
tamanho_usd: 4200000,
ts: 1710938400
}
]
}
Plano Trader: Retorna o summary objeto apenas. Plano Pro: Feed events completo com identificadores de carteira, tamanhos e timestamps.

GET  /regimes/history

Requer: Pro

Retorna dados históricos de classificação de regime para um ativo específico. Use isso para backtestar o desempenho histórico de tipos de regime específicos, quanto tempo cada tipo de regime normalmente dura e como as transições de regime ocorrem ao longo do tempo.

Parâmetros

ParâmetroTipoDescrição
símboloopcionalstringSímbolo do ativo. Padrão: BTC
regimeopcionalstringFiltrar por um tipo de regime específico, ex. late_cycle_divergence. Omita para todos os regimes.
diasopcionalinteiroJanela de retrospectiva em dias. Padrão: 30. Máximo: 365

Exemplo de Resposta

JSON
{
símbolo: BTC,
regime_atual: divergência_tardia_ciclo,
resumo_regime: {
divergência_tardia_ciclo: { ocorrências: 4, duração_média_h: 38, retorno_médio_pct: -2.1 },
acumulação: { ocorrências: 6, duração_média_h: 72, retorno_médio_pct: 5.4 },
rompimento: { ocorrências: 3, duração_média_h: 18, retorno_médio_pct: 9.2 }
},
transições: [
{ de: acumulação, para: rompimento, ts: 1710850000 },
{ de: rompimento, para: divergência_tardia_ciclo, ts: 1710915000 }
]
}
Plano Pro necessário. Combine com /analysis para validar suposições de estratégia com dados históricos de desempenho de regime.

GET  /exchange-health

Disponível para: Grátis Trader Pro

Retorna o status de saúde em tempo real para todas as exchanges monitoradas, incluindo latência por exchange, taxas de erro e indicadores de dados desatualizados. Nenhuma autenticação necessária — endpoint publicamente acessível.

Exemplo de Resposta

JSON
{
status_geral: ok,
ts: 1710940821,
exchanges: {
bybit: { status: ok, latência_ms: 42, taxa_erro_1h: 0.0, idade_últimos_dados_s: 18 },
binance: { status: ok, latência_ms: 38, taxa_erro_1h: 0.0, idade_últimos_dados_s: 22 },
hyperliquid: { status: degradado, latência_ms: 310, taxa_erro_1h: 0.04, idade_últimos_dados_s: 95 },
okx: { status: ok, latência_ms: 55, taxa_erro_1h: 0.0, idade_últimos_dados_s: 30 }
}
}

GET  /sentiment

Requer: Trader Pro

Retorna um índice de Medo & Ganância (0-100) em tempo real, calculado a partir do sentimento de derivativos, atividade de baleias, volatilidade e sinais sociais. Inclui detalhamento por componente e histórico de 24 horas para análise de tendência.

Parâmetros

ParâmetroTipoDescrição
símboloopcionalstringSímbolo do ativo. Padrão: BTC

Exemplo de Resposta

JSON
{
"symbol": "BTC",
"score": 72,
"label": "Greed",
"components": {
"volatility": 65,
"momentum": 78,
"derivatives": 70,
"whale_activity": 75,
"social": 68
},
"history_24h": [
{ "ts": 1710940800, "score": 68, "label": "Greed" },
{ "ts": 1710937200, "score": 65, "label": "Greed" }
],
"ts": 1710940821
}
Equivalente da concorrência: Santiment Social Volume + Alternative.me Fear & Greed — combinados em um único endpoint com detalhamento de componentes.

Integrações

GET  /tradingview/setup

Requer: Trader Pro

Retorna sua configuração personalizada de integração com o TradingView: URL do webhook, segredo para validação e indicadores Pine Script prontos para uso que se conectam diretamente à Smart Money API. Copie e cole o Pine Script no TradingView para sobrepor nossos sinais em qualquer gráfico.

Exemplo de Resposta

JSON
{
"webhook_url": "https://api.smartmoneyapi.com/v1/tradingview/webhook",
"webhook_secret": "tvs_a1b2c3...",
"pine_scripts": {
"composite_indicator": "// Smart Money Composite v1 //@version=5 indicator(...)...",
"whale_activity": "// Whale Activity Overlay v1 ...",
"funding_dashboard": "// Funding Rate + LSR Dashboard v1 ..."
}
}

POST  /tradingview/webhook

Disponível para: Trader Pro

Recebe um alerta do TradingView, processa-o através /confirm, e retorna a confirmação. O TradingView não pode enviar cabeçalhos personalizados, então autentique incluindo seu webhook secret no corpo JSON (este endpoint não usa X-API-Key). A resposta encapsula a confirmação e adiciona um nível superior action de CONFIRMED (confiança do daemon HIGH/MEDIUM) ou VETOED.

Corpo da Requisição

JSON
{
"secret": "your_webhook_secret",
"symbol": "BTC",
"direction": "long",
"timeframe": "1h",
"strategy": "EMA crossover",
"price": 67500.0
}

Obrigatório: secret, symbol, direction (long|short). Opcional: source, timeframe, strategy, price.

Personalização

GET  /preferences

Requer: Trader Pro

Retorna suas configurações de personalização atuais, incluindo parâmetros padrão de negociação, perfil de risco, lista de observação e preferências de notificação.

PUT /v1/preferences

Atualize as preferências enviando um corpo JSON com qualquer subconjunto dos campos abaixo. Campos omitidos mantêm seus valores atuais.

Campos de Preferência

CampoTipoDescrição
default_trade_size_usdfloatTamanho padrão da posição em USD para cálculos de Kelly e smart-stop
risk_tolerancestringconservative, moderate, ou aggressive
default_risk_pctfloatRisco padrão por negociação como % da conta. Usado por /smart-stop quando risk_pct é omitido
watchlistarrayLista ordenada de símbolos de ativos, ex. ["BTC","ETH","SOL"]
notification_emailstringEndereço de e-mail para entrega de alertas
timezonestringString de fuso horário IANA, ex. America/New_York
PUT — Exemplo de Corpo
{
"default_trade_size_usd": 5000,
"risk_tolerance": "moderate",
"default_risk_pct": 1.5,
"watchlist": ["BTC", "ETH", "SOL"]
}

GET  /watchlist

Requer: Trader Pro

Retorna um snapshot do status de confirmação e métricas de risco principais para todos os símbolos na sua watchlist configurada. Fornece uma visão geral de múltiplos ativos sem a necessidade de chamadas /confirm separadas para cada símbolo.

Exemplo de Resposta

JSON
{
"ts": 1710940821,
"watchlist": [
{
"symbol": "BTC",
"confidence": "HIGH",
"action": "CONFIRM",
"regime": "accumulation",
"cascade_risk": "LOW"
},
{
"symbol": "ETH",
"confidence": "MEDIUM",
"action": "REDUCE",
"regime": "late_cycle_divergence",
"cascade_risk": "HIGH"
},
{
"symbol": "SOL",
"confidence": "HIGH",
"action": "CONFIRM",
"regime": "breakout",
"cascade_risk": "MEDIUM"
}
]
}

Streaming em Tempo Real (Swaps ao Vivo)

Stream de swaps DEX ≥ $500 detectados em tempo real a partir dos nossos próprios nós BSC e Avalanche. Dois transportes estão disponíveis: um stream público de Server-Sent Events (SSE) para clientes gratuitos/navegadores, e um firehose WebSocket de baixa latência para planos pagos. Os eventos são transmitidos em segundos após a inclusão em um bloco.

Stream Público SSE (Gratuito)

Disponível para: Gratuito Trader Pro
GET /v1/stream/public-swaps

Nenhuma autenticação necessária. Suporte nativo EventSource em todos os navegadores modernos. O servidor emite swap eventos e batimentos periódicos para manter a conexão ativa.

JavaScript (navegador)
const es = new EventSource("https://api.smartmoneyapi.com/v1/stream/public-swaps");
es.addEventListener("swap", e => {
  const swap = JSON.parse(e.data);
  console.log(swap.chain, swap.pair, swap.amount_usd);
});

WebSocket Firehose (Pago)

Requer: Trader Pro
WSS /v1/ws/live-swaps?ticket=…

Autenticação (recomendado): nunca coloque sua chave de longa duração na URL — ela é registrada por proxies e salva no histórico do navegador. Em vez disso, POST sua chave para /v1/ws/ticket usando o cabeçalho seguro X-API-Key , então abra o socket com o ticket de uso único retornado ticket (válido por ~60s, resgatado uma vez). Clientes do lado do servidor que podem definir cabeçalhos podem passar X-API-Key diretamente no handshake. Chaves de nível gratuito recebem uma 402 payment_required resposta. Um hello frame é enviado na conexão com seu nível e o limite de transmissão.

JavaScript (navegador)
// 1. Troque sua chave por um ticket de curta duração (a chave permanece no cabeçalho)
const r = await fetch("https://api.smartmoneyapi.com/v1/ws/ticket", {
  method: "POST", headers: { "X-API-Key": "sm_xxx" }
});
const { ticket } = await r.json();
// 2. Abra o socket com o ticket de uso único
const ws = new WebSocket(`wss://api.smartmoneyapi.com/v1/ws/live-swaps?ticket=${ticket}`);
ws.onmessage = e => {
  const swap = JSON.parse(e.data);
  if (swap.type === "swap") console.log(swap);
};

Autenticação WebSocket (tickets)

Por que: nunca coloque sua chave de API em uma URL WebSocket — strings de consulta são registradas por proxies, balanceadores de carga e salvas no histórico do navegador. Em vez disso, troque sua chave por um ticket de curta duração e uso único ticket por meio de um POST autenticado normal, então conecte-se com esse ticket.

Fluxo: POST para /v1/ws/ticket com seu X-API-Key cabeçalho → receba { "ticket": "…", "expires_in": 60 }. Então abra wss://api.smartmoneyapi.com/v1/ws/live-swaps?ticket=<ticket>O ticket é de uso único e expira em ~60 segundosClientes do lado do servidor que podem definir cabeçalhos de solicitação podem passar X-API-Key diretamente no handshake do WebSocket — nenhum ticket necessário.

POST /v1/ws/ticket
Requer: Trader Pro

Gera um ticket único para um handshake WebSocket autenticado. Autentique com o X-API-Key cabeçalho (sua chave nunca sai dos cabeçalhos da solicitação). O ticket retornado pode ser resgatado uma vez em /v1/ws/live-swaps antes de expirar.

cURL
curl -X POST -H "X-API-Key: sm_your_key" \
"https://api.smartmoneyapi.com/v1/ws/ticket"

Exemplo de Resposta

JSON
{
"ticket": "wst_9f3c1a8e4b2d…",
"expires_in": 60
}

Campos de Resposta

CampoTipoDescrição
ticketstringToken de uso único para anexar como ?ticket= na URL do WebSocket. Resgatado uma vez, depois invalidado.
expires_innumberSegundos até o ticket expirar (~60). Gere um novo ticket por tentativa de conexão.

Nota: a autenticação legada por ?key= parâmetro de consulta é não mais aceita nos endpoints WebSocket por razões de segurança. Use um ticket (clientes de navegador) ou o X-API-Key cabeçalho de handshake (clientes do lado do servidor).

Snapshot REST

GET /v1/live-swaps/recent?limit=20

Retorna os últimos N swaps transmitidos do buffer rolante. Útil para primeira renderização em painéis antes da abertura da conexão de stream. Também disponível: /v1/live-swaps/status para estatísticas de transmissão.

Esquema de Evento

CampoTipoDescrição
chainstringbsc ou avalanche
dexstringNome do roteador (por exemplo, pancakeswap_v2, traderjoe) ou unknown_dex
swapperstringEndereço 0x completo da carteira que executou a swap
swapper_shortstringForma abreviada para exibição (ex. 0xb300…028d)
swapper_urlstringLink direto para o swapper no explorador de blocos da cadeia
tx_hashstringHash da transação
explorer_urlstringLink direto para a transação no BscScan / Snowtrace
token_instringSímbolo do token vendido (ex. USDT)
token_outstringSímbolo do token comprado
amount_usdnumberValor em USD da swap (mínimo: $500)
pairstringRótulo formatado do par (ex. USDT → USDC)
blocknumberNúmero do bloco onde a swap foi minerada
timestampnumberSegundos de época Unix
significancestringlow / medium / high / critical com base no tamanho em USD
seqnumberNúmero de sequência de transmissão monotônico — use para detecção de lacunas

POST  /alerts/conditions

Requer: Pro

Crie regras de alerta personalizadas que são acionadas quando uma métrica especificada ultrapassa um limite. Os alertas são entregues via webhook, e-mail ou feed de notificações do painel, dependendo de suas preferências.

GET /v1/alerts/conditions

Retorna uma lista de todas as suas condições de alerta configuradas com seus IDs, definições e status atual.

DELETE /v1/alerts/conditions/{id}

Remove permanentemente uma condição de alerta pelo seu ID.

GET /v1/alerts/history

Retorna eventos recentes de acionamento de alerta com carimbos de data/hora, condições correspondentes e o valor da métrica no momento do acionamento.

Criar Alerta — Corpo da Solicitação

CampoTipoDescrição
nomeobrigatóriostringRótulo legível para este alerta (máx. 64 caracteres)
métricaobrigatóriostringA métrica a ser monitorada. Consulte a tabela de métricas disponíveis abaixo.
símboloopcionalstringContexto do ativo. Necessário para métricas escopo de símbolo, como funding_rate.
operadorobrigatóriostringOperador de comparação: gt, lt, eq, crosses_above, crosses_below
limiarobrigatóriofloatValor numérico para comparar com a métrica
entregaopcionalstringCanal de entrega, por exemplo telegram (padrão) ou webhook
cooldown_minutesopcionalintegerMínimo de minutos entre re-disparos (padrão 60)

A lista ao vivo de métricas e operadores válidos é retornada por GET /v1/alerts/conditions como available_metrics e available_operators.

Métricas Disponíveis

MétricaDescrição
funding_rateTaxa de funding atual para o símbolo (como decimal)
global_lsrRazão global long/short para o símbolo
long_pctPorcentagem de contas net long para o símbolo
top_trader_lsrRazão long/short dos top traders para o símbolo
taker_ratioRazão de compra/venda dos takers para o símbolo
mvrvRazão Valor de Mercado para Valor Realizado (BTC/ETH)
soprRazão de Lucro de Saída Gasta (BTC/ETH)
exchange_net_flowSinal de fluxo líquido on-chain de exchanges
accumulationSinal de acumulação on-chain
whale_long_pctPorcentagem de carteiras de baleias rastreadas com posições longas para o símbolo
whale_n_walletsNúmero de carteiras de baleias rastreadas com uma posição no símbolo
composite_longPontuação composta para o símbolo consultado na direção long
composite_shortPontuação composta para o símbolo consultado na direção short
funding_spreadSpread de funding entre plataformas para o símbolo
POST — Corpo do Exemplo
{
"name": "BTC funding rate spike",
"metric": "funding_rate",
"symbol": "BTC",
"operator": "gt",
"threshold": 0.05
}

GET  /kelly

Requer: Pro

Retorna recomendações de dimensionamento de posição pelo Critério de Kelly calibradas para o desempenho histórico do sinal para o símbolo, nível de confiança e direção. Baseia o tamanho da posição em taxas de vitória empíricas para evitar alavancagem excessiva.

Parâmetros

ParâmetroTipoDescrição
symbolobrigatóriostringSímbolo do ativo: BTC, ETH, ou SOL
confidenceopcionalstringNível de confiança do sinal para modelar: HIGH, MEDIUM, ou LOW. Padrão: HIGH
directionopcionalstringDireção da operação: long ou short. Padrão: long
account_sizeopcionalfloatTamanho da conta em USD para calcular suggested_size_usd. Padrão: 10000

Exemplo de Resposta

JSON
{
"symbol": "BTC",
"confidence": "HIGH",
"direction": "long",
"win_rate": 0.68,
"avg_reward_risk_ratio": 2.1,
"kelly_fraction": 0.36,
"half_kelly": 0.18,
"suggested_size_usd": 1800,
"samples": 142,
"note": "Half-Kelly recomendado para negociação ao vivo para considerar erros de estimativa."
}
Plano Pro necessário. Os cálculos são baseados em uma amostra móvel de 90 dias de sinais históricos que correspondem aos parâmetros solicitados de símbolo, confiança e direção.

GET  /performance

Disponível para: Free Trader Pro

Retorna estatísticas históricas de precisão para sinais emitidos pela API, divididas por nível de confiança. Útil para entender a confiabilidade dos sinais antes de alocar capital.

Parâmetros

ParâmetroTipoDescrição
symbolopcionalstringFiltrar por ativo. Omita para estatísticas agregadas de todos os símbolos.
daysopcionalintegerJanela de retrospectiva em dias. Padrão: 30

Exemplo de Resposta

JSON
{
"symbol": "BTC",
"period_days": 30,
"by_confidence": {
"HIGH": { "win_rate": 0.71, "samples": 58, "avg_return_pct": 3.4 },
"MEDIUM": { "win_rate": 0.54, "samples": 84, "avg_return_pct": 1.2 }
}
}

Estatísticas & Sinais

GET  /v1/stats

Disponível para: Free Trader Pro Autenticação não necessária

Estatísticas de desempenho honestas em todo o site, provenientes de smart_money_confirm resultados de chamadas distintas. Retorna taxas de acerto nos níveis de confiança HIGH e MEDIUM, precisão geral, fator de lucro e um detalhamento por símbolo. Todos os números são in-sample durante a janela de pontuação; consulte calibration.html para contexto e metodologia de forward-holdout.

Exemplo de Resposta

JSON
{
"high_winrate": 0.714,
"high_winrate_n": 14,
"medium_winrate": 0.530,
"medium_winrate_n": 34,
"overall_accuracy": 0.613,
"overall_accuracy_n": 48,
"profit_factor": 1.77,
"avg_win_pct": 4.2,
"winrate_horizon": "24h",
"winrate_basis": "chamadas de confirmação distintas, resultados resolvidos em 24h",
"winrate_by_symbol": {
"BTC": { "win_rate": 0.68, "n": 22 },
"ETH": { "win_rate": 0.55, "n": 18 },
"SOL": { "win_rate": 0.60, "n": 8 }
},
"forward_holdout": {
"win_rate": 0.59,
"high_win_rate": 0.70,
"high_n": 10,
"is_distinct_from_insample": false
}
}
Aviso in-sample. Todos os números nesta resposta são calculados a partir do mesmo período usado para ajustar o avaliador. O forward_holdout objeto é o único número acumulado em dados que o avaliador nunca viu — observe-o crescer ao longo do tempo. Veja calibration.html para a metodologia completa e o limite entre in-sample e forward-test.

GET  /v1/signals/performance

Disponível para: Free Trader Pro Autenticação não necessária

Acompanhamento de resultados de sinais em múltiplos horizontes de resolução (4h, 12h, 24h, 72h). Retorna taxas de acerto por horizonte, contagem total de sinais e um detalhamento por tipo de sinal.

Parâmetros

ParâmetroTipoDescrição
daysopcionalintegerJanela de retrospectiva em dias. Padrão: 30
signal_typeopcionalstringFiltrar por tipo, por exemplo smart_money_confirm ou regime_flip. Omita para todos os tipos.
symbolopcionalstringFiltrar por símbolo do ativo, por exemplo BTC. Omita para agregar todos os símbolos.

Exemplo de Resposta

JSON
{
"signal_type": "smart_money_confirm",
"symbol": "BTC",
"days": 30,
"total_signals": 48,
horizontes: {
4h: { taxa_de_acerto: 0.65, resolvido: 46 },
12h: { taxa_de_acerto: 0.61, resolvido: 44 },
24h: { taxa_de_acerto: 0.58, resolvido: 40 },
72h: { taxa_de_acerto: 0.54, resolvido: 32 }
},
detalhamento_por_tipo: {
confirmação_smart_money: { contagem: 35, taxa_de_acerto_24h: 0.61 },
mudança_de_regime: { contagem: 13, taxa_de_acerto_24h: 0.47 }
}
}

GET  /v1/signals/recent

Disponível para: Grátis Trader Pro Nenhuma autenticação necessária

Feed de sinais HIGH e MEDIUM recentemente publicados em todos os símbolos monitorados. Cada entrada inclui o tipo de sinal, nível de confiança, direção e status de resolução, quando disponível.

Exemplo de Resposta

JSON
{
sinais: [
{
id: 1042,
símbolo: BTC,
direção: long,
tipo_de_sinal: confirmação_smart_money,
confiança: HIGH,
composto: 0.74,
ts: 1710940821,
resolvido: true,
resultado_24h: vitória
}
],
contagem: 50
}

GET  /v1/signals/{id}/outcome

Disponível para: Grátis Trader Pro Nenhuma autenticação necessária

Resultado resolvido para um único sinal pelo seu ID numérico. Retorna acerto/erro em cada horizonte de resolução (4h, 12h, 24h, 72h) junto com o preço no momento do sinal e na resolução.

Parâmetros

ParâmetroTipoDescrição
idobrigatóriointeiroID do Sinal (segmento do caminho), por exemplo /v1/signals/1042/outcome

Exemplo de Resposta

JSON
{
id: 1042,
símbolo: BTC,
direção: long,
confiança: HIGH,
preço_de_entrada: 63200.0,
ts: 1710940821,
resultados: {
4h: { resultado: vitória, preço: 64100.0, pct: 1.41 },
12h: { resultado: vitória, preço: 65200.0, pct: 3.16 },
24h: { resultado: vitória, preço: 65800.0, pct: 4.11 },
72h: { resultado: pendente, preço: null, pct: null }
}
}

GET  /v1/confirm-winrate

Requer: Grátis Trader Pro

Detalhamento da taxa de vitória de sinais de confirmação para a chave de API autenticada do próprio usuário. Retorna taxas de vitória de chamadas distintas em cada nível de confiança, fator de lucro e números por símbolo. Requer um cabeçalho válido. X-API-Key cabeçalho.

Exemplo de Solicitação

cURL
curl -H "X-API-Key: sm_your_key" \
"https://api.smartmoneyapi.com/v1/confirm-winrate"

Exemplo de Resposta

JSON
{
alta_taxa_de_vitória: 0.714,
alta_n: 14,
taxa_de_vitória_média: 0.530,
médio_n: 34,
precisão_geral: 0.613,
geral_n: 48,
fator_de_lucro: 1.77,
horizonte_de_taxa_de_acerto: 24h,
por_símbolo: {
BTC: { taxa_de_acerto: 0.68, n: 22 },
ETH: { taxa_de_acerto: 0.55, n: 18 }
}
}
Base de chamadas distintas. As taxas de acerto são calculadas por chamada de confirmação distinta (uma por símbolo por janela de 5 minutos), não por cada acesso à API — isso evita a inflação de N por bots que consultam repetidamente. Os números são dentro da amostra ao longo da janela padrão de 30 dias; a mesma ressalva que /v1/stats se aplica.

Shadow Gate

Requer: Grátis Trader Pro

Um livro-razão pessoal imutável e somente de acréscimo. Envie suas decisões de negociação antes ou depois de executá-las; o sistema calcula uma pontuação de confirmação contra o mecanismo Smart Money e acrescenta uma linha permanente. Use-o para construir um registro honesto e carimbado no tempo de como o sinal da API se alinhou com suas próprias entradas — totalmente independente do pool global de taxa de acerto. As respostas das camadas Grátis e Trader têm os campos de evidência removidos; a camada Pro retorna a análise completa. Um atraso de camada se aplica aos dados da camada Grátis.

POST /v1/shadow-gate/decisions

Envie uma decisão. Idempotente no Idempotency-Key cabeçalho da solicitação — reenviar a mesma chave retorna a linha existente sem criar uma duplicata. O sistema chama imediatamente o mecanismo de confirmação e acrescenta o resultado como uma linha imutável no livro-razão.

Corpo da Solicitação

CampoTipoDescrição
símboloobrigatóriostringSímbolo do ativo, por exemplo BTC
ladoobrigatóriostringDireção da negociação: long ou short
id_estratégiaopcionalstringRótulo de estratégia definido pelo chamador (máximo de 64 caracteres). Armazenado como está para agrupamento e filtragem.

Exemplo de Solicitação

cURL
curl -X POST \
-H "X-API-Key: sm_your_key" \
-H "Idempotency-Key: my-signal-20260701-001" \
-H "Content-Type: application/json" \
-d '{"símbolo":"BTC","lado":"long","id_estratégia":"ema_crossover"}' \
"https://api.smartmoneyapi.com/v1/shadow-gate/decisions"

Exemplo de Resposta

JSON
{
"id": 318,
"símbolo": "BTC",
"lado": "long",
"id_estratégia": "ema_crossover",
"decisão": "CONFIRM",
"confiança": "HIGH",
"composto": 0.74,
"size_mult": 1.5,
"ts": 1710940821,
"resolvido": false
}
Nota de camada. As respostas Grátis e Trader omitem os factors / adjustments campos de evidência. A camada Pro retorna a análise completa de confirmação. Um atraso de camada se aplica à camada Grátis — a linha é escrita imediatamente, mas a pontuação de confirmação pode refletir dados em cache com até 60 segundos de idade.
GET /v1/shadow-gate/decisions

Liste suas próprias decisões do shadow-gate, as mais recentes primeiro. Escopo do proprietário — apenas as decisões enviadas pela sua chave de API são retornadas.

Parâmetros

ParâmetroTipoDescrição
limiteopcionalinteiroNúmero máximo de linhas a retornar. Padrão: 50, máximo: 200
cursoropcionalstringCursor de paginação opaco de uma resposta anterior do next_cursor campo. Omita para a primeira página.

Exemplo de Resposta

JSON
{
"decisões": [
{ "id": 318, "símbolo": "BTC", "lado": "long", "decisão": "CONFIRM", "confiança": "HIGH", "composto": 0.74, "size_mult": 1.5, "ts": 1710940821, "resolvido": false },
{ "id": 317, "símbolo": "ETH", "lado": short, decisão: SKIP, confiança: LOW, composto: -0.12, size_mult: 0.0, ts: 1710937000, resolvido: True }
],
contagem: 2,
next_cursor: None
}
GET /v1/shadow-gate/decisions/{id}

Decisão única por ID, incluindo todas as evidências de confirmação para o nível Pro. As respostas dos níveis Free e Trader têm factors e adjustments removidos. Retorna 403 se a decisão pertence a uma chave de API diferente.

Exemplo de Resposta (Pro)

JSON
{
id: 318,
símbolo: BTC,
lado: long,
strategy_id: ema_crossover,
decisão: CONFIRM,
confiança: HIGH,
composto: 0.74,
size_mult: 1.5,
fatores: {
derivativos: { pontuação: 0.81, peso: 0.40, ponderado: 0.324 },
onchain: { pontuação: 0.68, peso: 0.35, ponderado: 0.238 },
whale: { pontuação: 0.73, peso: 0.25, ponderado: 0.183 }
},
ts: 1710940821,
resolvido: False,
resultado: None
}
POST /v1/shadow-gate/decisions/{id}/resolve

Resolva manualmente o resultado de uma decisão. Chame isso após fechar a negociação para registrar o resultado final na linha do ledger. Uma vez resolvida, a linha é imutável e não pode ser alterada novamente.

Corpo da Requisição

CampoTipoDescrição
resultadoobrigatóriostringResultado da negociação: win ou loss
exit_priceopcionalfloatPreço de saída da negociação. Armazenado para referência; usado para calcular o P&L % se fornecido.
pnl_pctopcionalfloatP&L realizado como uma porcentagem do tamanho da posição, por exemplo 3.5 ou -1.2

Exemplo de Resposta

JSON
{
id: 318,
resolvido: True,
resultado: win,
exit_price: 65800.0,
pnl_pct: 4.1,
resolved_at: 1711027200
}
Imutabilidade. A linha do ledger é apenas para adição. Uma vez que uma decisão é enviada, ela não pode ser excluída, e uma vez resolvida, não pode ser resolvida novamente. Isso garante que o histórico que você constrói seja honesto e resistente a adulterações.

Códigos de Erro

StatusCódigoDescrição
400invalid_paramsParâmetros de consulta ausentes ou inválidos
401unauthorizedChave de API ausente ou inválida
403plan_restrictionEndpoint não disponível no seu plano atual
429rate_limit_exceededLimite diário ou de rajada atingido
500internal_errorErro do servidor — verifique /health para o status da fonte
503data_staleFonte de dados indisponível; retornado com os últimos dados conhecidos

Exemplos de Código

Python

Python
import requests

r = requests.get(
"https://api.smartmoneyapi.com/v1/confirm",
params={"symbol": "BTC", "direction": "long"},
headers={X-API-Key: sm_your_key}
)
data = r.json()

print(data[confiança]) # HIGH / MEDIUM
print(data[size_mult]) # 1.5 / 1.0
Python
import requests

API_KEY = sm_your_key
BASE_URL = https://api.smartmoneyapi.com/v1

def confirm_trade(symbol, direction):
resp = requests.get(
f{BASE_URL}/confirm,
params={symbol: symbol, direction: direction},
headers={X-API-Key: API_KEY},
timeout=5
)
resp.raise_for_status()
return resp.json()

# No seu loop de trading:
signal = confirm_trade(BTC, long)
if signal[confiança] not in [HIGH, MEDIUM]:
print(Ignorando — confiança insuficiente)
else:
size = base_size * signal[size_mult]
place_order(symbol, direction, size)

JavaScript / Node.js

JavaScript
const API_KEY = 'sm_your_key';

async function confirmTrade(symbol, direction) {
const params = new URLSearchParams({ symbol, direction });
const res = await fetch(
`https://api.smartmoneyapi.com/v1/confirm?${params}`,
{ headers: { 'X-API-Key': API_KEY } }
);
if (!resok) throw new Error(`Erro na API: ${resstatus}`);
return res.json();
}

// Uso
confirmTrade('BTC', 'long').then(data => {
console.log(dataconfiança, datasize_mult);
});

cURL

Shell
# Confirmar uma operação longa
curl -X GET \
-H X-API-Key: sm_your_key \
https://api.smartmoneyapi.com/v1/confirm?symbol=BTC&direction=long

# Obter dados de baleias
curl -X GET \
-H X-API-Key: sm_your_key \
https://api.smartmoneyapi.com/v1/whales?symbol=BTC

# Verificar uso
curl -X GET \
-H X-API-Key: sm_your_key \
https://api.smartmoneyapi.com/v1/usage

Integração Freqtrade

Adicione a confirmação do Smart Money a qualquer estratégia do Freqtrade substituindo o confirm_trade_entry método.

Python — Estratégia Freqtrade
import requests
from freqtrade.strategy import IStrategy

class SmartMoneyStrategy(IStrategy):
SM_API_KEY = "sm_your_key"
SM_BASE = "https://api.smartmoneyapi.com/v1"

def confirm_trade_entry(self, pair, order_type,
amount, rate, time_in_force,
current_time, entry_tag, **kwargs):
symbol = pair.split("/")[0]
if symbol not in ["BTC", "ETH", "SOL"]:
return True # Pular verificação para não suportados
try:
r = requests.get(
f"{self.SM_BASE}/confirm",
params={"symbol": symbol, "direction": "long"},
headers={"X-API-Key": self.SM_API_KEY},
timeout=3
).json()
return r.get("confidence") in ["HIGH", "MEDIUM"]
except:
return True # Falha aberta em erro de API

CCXT + Smart Money

Python — CCXT
import ccxt, requests

exchange = ccxt.bybit({
"apiKey": "YOUR_BYBIT_KEY",
"secret": "YOUR_BYBIT_SECRET"
})

SM_KEY = "sm_your_key"

def smart_trade(symbol, side, amount):
# Verifique a confirmação primeiro
conf = requests.get(
"https://api.smartmoneyapi.com/v1/confirm",
params={"symbol": symbol, "direction": side},
headers={"X-API-Key": SM_KEY}
).json()

if conf["confidence"] not in ["HIGH", "MEDIUM"]:
print(f"Ignorando {symbol} {side} — confiança insuficiente.")
return None

adj_amount = amount * conf["size_mult"]
order = exchange.create_market_order(
f"{symbol}/USDT", side, adj_amount
)
print(f"Ordem colocada: {adj_amount} {symbol} {side}")
return order
Precisa de ajuda?

Verifique a página de status da API para informações de saúde em tempo real, ou use nosso formulário de contato.