Cookbook
API Cookbook
Receitas práticas e prontas para copiar e colar das formas mais comuns de integrar a API de confirmação de trades Smart Money em um bot. Cada receita chama GET /v1/confirm e age sobre action, confidence, e size_multiplier. Envie sua chave no X-API-Key cabeçalho — consulte a documentação completa.
Receita 1
Confirmar antes da entrada (Python)
O loop canônico. Antes de sua estratégia abrir uma posição, consulte a API para verificar se a estrutura de mercado está de acordo. Entre apenas quando action == "CONFIRM".
import requests
API_KEY = sm_sua_chave
BASE = https://api.smartmoneyapi.com/v1
def confirmar(símbolo, direção):
r = requests.obter(
f{BASE}/confirm,
params={"symbol": symbol, "direction": direction},
headers={"X-API-Key": API_KEY},
timeout=5,
)
r.raise_for_status()
return r.json()
sig = confirmar(BTC, long)
se sig[ação] == CONFIRM:
colocar_pedido(BTC, long)
senão:
imprimir(pular:, sig[motivos])
{
"symbol": "BTC",
"direction": "long",
"action": "CONFIRM",
"confidence": "HIGH",
"composite": 0.74,
"size_mult": 1.5,
"reasons": ["Funding positivo em todas as plataformas", "Baleias 67% compradas"]
}
Recipe 2
Gate a Freqtrade signal
Override confirm_trade_entry para que o Freqtrade só aceite entradas confirmadas pela API. Falha open em erros de API para que um timeout nunca bloqueie todas as negociações.
import requests
from freqtrade.strategy import IStrategy
class SmartMoneyStrategy(IStrategy): "sm_your_key"
"https://api.smartmoneyapi.com/v1" def
confirm_trade_entry (self, pair, order_type, amount, rate, time_in_force, current_time, entry_tag, **kwargs):splitif("/")[0]
symbol not in "BTC" ("ETH", "SOL", return True):
try
:get(f"{self.SM_BASE}/confirm","symbol": symbol, "direction": "long"},"X-API-Key": self.SM_KEY},3,
).timeout=()
json r.obter("ação") == "CONFIRMAR"
exceto Exceção:
retorna Verdadeiro
Receita 3
Tamanho por size_multiplier
Deixe a convicção definir o tamanho da posição. Multiplique seu tamanho base por size_mult (0.0–1.5) para que negociações com ALTA confiança recebam mais capital e as fracas recebam menos.
BASE_SIZE_USD = 1000
sig = confirmar("ETH", "long")
mult = sig.get("size_mult", 0.0tamanho = BASE_SIZE_USD * mult
se tamanho > 0:
fazer_pedido(ETH, long, size_usd=size)
print(f"entrou ${size:.0f} (mult {mult})")
A size_mult de 0.0 significa não entrar — mesmo resultado que um SKIP. Trate qualquer valor abaixo do seu próprio limite como um skip.
Receita 4
Skip em SKIP / reduzir em REDUCE
Lide explicitamente com todas as três ações. CONFIRM entra com o tamanho total, REDUCE entra com o (menor) multiplicador, SKIP fica de fora.
sig = confirmar(symbol, direction)
action = sig["action"]
se action == "CONFIRM":
place_order(symbol, direction, BASE_SIZE_USD * sig["size_mult"])
elif action == "REDUCE":
place_order(symbol, direction, BASE_SIZE_USD * sig["size_mult"])
else:
log(f"skip {symbol} {direction}: {sig['reasons']}")
Receita 5
Tratar 402 / 429
A 402 significa que o símbolo ou endpoint requer um plano superior; um 429 significa que você atingiu um limite de taxa. Trate 429/5xx como transitório (recuar), 402/401/403 como terminal (corrigir plano ou chave).
importar time, requests
def confirmar_seguro(símbolo, direção, tentativas=3):
para tentativa em intervalo(tentativas):
r = requests.get(
f"{BASE}/confirm",
params={"symbol": symbol, "direção": direction},
headers={"X-API-Key": API_KEY}, timeout=5,
)
se r.status_code == 200:
retornar r.json()
se r.status_code em (401, 402, 403):
levantar RuntimeError(r.json())
se r.status_code == 429: reset =int(r.headers.(obter, 2)) tempo.dormir(min(reiniciar, 2 ** tentativa))
continuar
tempo.dormir(2 ** tentativa)
retornar Nenhum
Receita 6
Use com um agente de codificação
Forneça ao Claude Code, Codex ou Cursor as referências legíveis por máquina e deixe-o conectar a integração. Aponte-o para /llms.txt para a visão geral e a especificação OpenAPI para estruturas exatas.
Leia https://smartmoneyapi.com/llms.txt e a especificação OpenAPI em github.com/tashiardit/smartmoneyapi-docs, depois adicione uma verificação pré-negociação ao meu bot: chame GET /v1/confirm com minha X-API-Key e ignore qualquer entrada, a menos que action == "CONFIRM". Escale o tamanho por size_multiplier.
Recursos: /llms.txt · Especificação OpenAPI · Cliente Python.
Pronto para bloquear sua primeira negociação?
Obtenha uma chave gratuita e leia a referência completa dos endpoints.
Suporte à decisão, não conselho de execução. Não é um conselho financeiro. A negociação de criptomoedas envolve risco substancial de perda.