Cookbook

API Cookbook

Ricette pratiche da copiare e incollare per i modi più comuni di integrare l'API di conferma trade Smart Money in un bot. Ogni ricetta chiama GET /v1/confirm e agisce su action, confidence, size_multiplier. Invia la tua chiave nell' X-API-Key header — vedi la documentazione completa.

Hai bisogno prima di una chiave? Registrati gratuitamente, copiala dal tuo dashboard, e sostituisci sm_your_key qui sotto.
Ricetta 1

Conferma prima dell'entrata (Python)

Il loop canonico. Prima che la tua strategia apra una posizione, chiedi all'API se la struttura di mercato è d'accordo. Entra solo quando action == "CONFIRM".

Python
import requests API_KEY = "sm_your_key" BASE = "https://api.smartmoneyapi.com/v1" defconfirm(symbol, direction): r = requests.get( f"{BASE}/confirm", params={"symbol" : symbol,"direction": direction}, headers={"X-API-Key"5: API_KEY}, timeout=, ) r.() raise_for_status returnr.json ()(sig =, confirm) "BTC" "long"if] == sig[: "action"(] == "CONFIRM": place_order(, "BTC") "long" # il tuo codice di esecuzione: else: print(("skip:", sig["reasons"])
Risposta
{ "simbolo": "BTC", "direzione": "lungo", "azione": "CONFERMA", "fiducia": "ALTA", "composito": 0.74, "moltiplicatore_dimensione": 1.5, "motivi": ["Finanziamento positivo su tutte le piattaforme", "Balene 67% lunghe"] }
Ricetta 2

Gate un segnale Freqtrade

Override confirm_trade_entry così Freqtrade prende solo le entrate confermate dall'API. Fallimento aperto in caso di errori dell'API, quindi un timeout non blocca mai tutto il trading.

Python — Freqtrade
importa requests da freqtrade.strategy importa IStrategy classe SmartMoneyStrategy(IStrategy): SM_KEY = "sm_your_key" SM_BASE = "https://api.smartmoneyapi.com/v1" defconfirm_trade_entry(self, pair, order_type, amount, rate, time_in_force, current_time, entry_tag, **kwargs): symbol = pair.("/")[0] split if symbol (not in, "BTC", "ETH"): "SOL" return True prova:get("{self.SM_BASE}/confirm","symbol": symbol, "direction": "long"},"X-API-Key": self.SM_KEY},3, ).timeout=() return r.ottieni("azione") == "CONFERMA" eccetto Eccezione: restituisci True # fallimento aperto su errore API
Ricetta 3

Dimensione per size_multiplier

Lascia che la convinzione determini la dimensione della posizione. Moltiplica la tua dimensione base per size_mult (0.0–1.5) in modo che gli scambi ad ALTA fiducia ottengano più capitale e quelli deboli meno.

Python
BASE_SIZE_USD = 1000 sig = conferma("ETH", longmult = sig.ottieni("size_mult", 0.0dimensione = BASE_SIZE_USD * mult se dimensione > 0: piazza_ordine("ETH", "long", size_usd=dimensione) stampa(f"entered ${size:.0f} (mult {mult})")
A size_mult di 0.0 significa non entrare — stesso risultato di un SKIP. Considera qualsiasi valore inferiore al tuo minimo come un salto.
Ricetta 4

Salta su SKIP / riduci su REDUCE

Gestisci esplicitamente tutte e tre le azioni. CONFIRM entra con la dimensione completa, REDUCE entra con il (minore) moltiplicatore, SKIP rimane fuori.

Python
sig = confirm(symbol, direction)action = sig[] "action" if action ==: place_order(symbol, direction, BASE_SIZE_USD * sig["size_mult"]) elif action == "REDUCE": # struttura mista — entra più piccolo, stringi lo stop place_order(symbol, direction, BASE_SIZE_USD * sig["size_mult"]) else: # SKIP log(f"skip {symbol} {direction}: {sig['reasons']}")
Ricetta 5

Gestisci 402 / 429

A 402 significa che il simbolo o l'endpoint richiede un piano superiore; un 429 significa che hai raggiunto un limite di frequenza. Considera 429/5xx come transitori (riduci la frequenza), 402/401/403 come terminali (correggi il piano o la chiave).

Python
import time, requests def confirm_safe(symbol, direction, retries=3): for attempt in range(tentativi):get(f"{BASE}/confirm",{"symbol" "direction": direction},"X-API-Key": API_KEY}, timeout=5, ) se r.status_code == 200: restituisci r.json() se r.status_code in (401, 402, 403): solleva RuntimeError(r.json()) # terminal: fix key/plan se r.status_code == 429: reset =int(r.headers.(get, 2)) tempo.dormire(min(reimposta, 2 ** tentativo)) continua tempo.sleep(2 ** tentativo) # 5xx / transitorio restituisce None
Ricetta 6

Utilizza con un agente di codifica

Fornisci a Claude Code, Codex o Cursor i riferimenti leggibili dalla macchina e lascia che gestisca l'integrazione. Indirizzalo verso /llms.txt per la panoramica e le specifiche OpenAPI per le strutture esatte.

Prompt
# Incolla in Claude Code / Cursor / Codex Leggi https://smartmoneyapi.com/llms.txt e le specifiche OpenAPI su github.com/tashiardit/smartmoneyapi-docs, poi aggiungi un controllo pre-trade al mio bot: chiama GET /v1/confirm con il mio X-API-Key e salta qualsiasi entry a meno che action == "CONFIRM". Ridimensiona la dimensione tramite size_multiplier.

Risorse: /llms.txt · Specifiche OpenAPI · Client Python.

Pronto a proteggere il tuo primo trade?

Ottieni una chiave gratuita e leggi la documentazione completa degli endpoint.

Supporto decisionale, non consigli di esecuzione. Non è un consiglio finanziario. Il trading di criptovalute comporta un rischio significativo di perdita.