Cookbook
API Cookbook
Praktische, kant-en-klare recepten voor de meest gebruikelijke manieren om de Smart Money trade-confirmation API in een bot te integreren. Elk recept roept GET /v1/confirm en handelt op action, confidence, en size_multiplier. Stuur je sleutel in de X-API-Key header — zie de volledige documentatie.
Recept 1
Bevestig voor ingang (Python)
De canonieke lus. Voordat je strategie een positie opent, vraag je de API of de marktstructuur ermee instemt. Ga alleen binnen wanneer action == "CONFIRM".
import requests
API_KEY = sm_your_key
BASE = https://api.smartmoneyapi.com/v1
def bevestigen(symbol, direction):
r = requests.get(
f{BASE}/confirm,
params={"symbol": symbol, "direction": direction},
headers={"X-API-Key": API_KEY},
timeout=5,
)
r.raise_for_status()
return r.json() sig =
confirm(BTC, long)
als sig["actie"] == "BEVESTIG":
plaats_order(BTC, long)
anders:
print("overslaan:", sig["redenen"])
{
"symbol": "BTC",
"direction": "long",
"action": "CONFIRM",
"confidence": "HIGH",
"composite": 0.74,
"size_mult": 1.5,
"reasons": ["Funding positief op alle platforms", "Walvissen 67% long"]
}
Recept 2
Gate een Freqtrade signaal
Overschrijf confirm_trade_entry zodat Freqtrade alleen posities opent die de API bevestigt. Mislukking open bij API-fouten zodat een timeout nooit alle handel blokkeert.
import requests
from freqtrade.strategy import IStrategy
class SmartMoneyStrategy(IStrategy): SM_KEY =
"sm_your_key" SM_BASE =
"https://api.smartmoneyapi.com/v1" defbevestig_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
probeer:r = requests.("{self.SM_BASE}/confirm","symbol": symbool, "richting": "long"},"X-API-Key": self.SM_KEY},3,
).timeout=()
return r.krijg("actie") == "BEVESTIG"
behalve Uitzondering:
retourneer True
Recept 3
Grootte door size_multiplier
Laat overtuiging de positiegrootte bepalen. Vermenigvuldig je basisgrootte met size_mult (0.0–1.5) zodat HOOG-vertrouwenstransacties meer kapitaal krijgen en zwakke minder.
BASE_SIZE_USD = 1000
sig = bevestigen("ETH", long) mult = sig.get("size_mult", 0.0grootte = BASISGROOTTE_USD * mult
als grootte > 0:
order_plaatsen(ETH, long, size_usd=size)
print(f"ingevoerd ${size:.0f} (mult {mult})")
A size_mult van 0.0 betekent niet ingaan - hetzelfde resultaat als een SKIP. Behandel alles onder je eigen ondergrens als een skip.
Recept 4
Sla over bij SKIP / verklein bij REDUCE
Behandel alle drie acties expliciet. CONFIRM gaat volledig in, REDUCE gaat in met de (kleinere) multiplier, SKIP blijft aan de zijlijn.
sig = bevestigen(symbool, richting)
action = sig["actie"]
als action == "CONFIRM":
plaats_order(symbol, richting, BASE_SIZE_USD * sig["size_mult"])
elif actie == "REDUCE":
plaats_order(symbol, richting, BASE_SIZE_USD * sig["size_mult"])
else:
log(f"skip {symbol} {direction}: {sig['reasons']}")
Recept 5
Behandel 402 / 429
A 402 betekent dat het symbool of endpoint een hoger abonnement nodig heeft; een 429 betekent dat je een rate limit hebt bereikt. Behandel 429/5xx als tijdelijk (terugschalen), 402/401/403 als definitief (pas abonnement of sleutel aan).
import time, requests
def confirm_safe(symbol, direction, retries=3):
voor poging in bereik(pogingen):r = requests.get(f"{BASE}/confirm","symbol": symbol, richting: direction},X-API-Key: API_KEY},5,
)
timeout= als 200:
r.status_code == r.json()
als r.status_code in (401, 402, 403):
verhoog RuntimeError(r.json())
als r.status_code == 429: reset =int(r.headers.(get, 2))tijd.(slaapmin 2 (reset,
** poging))
doorgaantijd.(2 slaap
# 5xx / tijdelijk
geen resultaat
Recept 6
Gebruik met een codeeragent /llms.txt Geef Claude Code, Codex of Cursor de machineleesbare referenties en laat het de integratie aanleggen. Verwijs het naar
Lees https://smartmoneyapi.com/llms.txt en de OpenAPI-specificatie op github.com/tashiardit/smartmoneyapi-docs, voeg dan een pre-trade controle toe aan mijn bot: roep GET /v1/confirm aan met mijn X-API-Key en sla elke entry over tenzij action == "CONFIRM". Schaal de grootte met size_multiplier.
Bronnen: /llms.txt · OpenAPI-specificatie · Python-client.
Klaar om je eerste trade te beveiligen?
Pak een gratis key en lees de volledige endpoint-referentie.
Beslissingsondersteuning, geen uitvoeringsadvies. Geen financieel advies. Handel in cryptocurrency brengt aanzienlijk verliesrisico met zich mee.