Cookbook
API Cookbook
Rețete practice, gata de copiat pentru cele mai comune metode de integrare a API-ului de confirmare a tranzacțiilor Smart Money într-un bot. Fiecare rețetă apelează GET /v1/confirm și acționează pe action, confidence, și size_multiplier. Trimite cheia ta în antetul X-API-Key — vezi documentația completă.
Rețeta 1
Confirmă înainte de intrare (Python)
Bucla canonică. Înainte ca strategia ta să deschidă o poziție, întreabă API-ul dacă structura pieței este de acord. Intră doar când action == "CONFIRM".
import requests sm_your_key
BASE = https://api.smartmoneyapi.com/v1
def confirm(symbol, direction):
r = requests.get(
f{BASE}/confirm,
params={"symbol": symbol, "direction": direction},"X-API-Key": API_KEY},5timeout=raise_for_status()
return r.json() sig =(BTC, long)
dacă sig["acțiune"] == "CONFIRMĂ":
plasează_comanda(BTC, long)
altfel:
afișează("omite:", sig["motive"])
{
"symbol": "BTC",
"direction": "long",
"action": "CONFIRM",
"confidence": "HIGH",
"composite": 0.74,
"size_mult": 1.5,
"reasons": ["Funding pozitiv pe toate platformele", "Whales 67% long"]
}
Rețeta 2
Configurează un semnal Freqtrade
Suprascrie confirm_trade_entry astfel încât Freqtrade să execute doar intrările confirmate de API. Eșuează deschis la erori API, astfel încât un timeout să nu blocheze toate tranzacțiile.
import requests
from freqtrade.strategy import IStrategy
class SmartMoneyStrategy(IStrategy):
SM_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
încearcă: r = requests.("{self.SM_BASE}/confirm","symbol": symbol, "direcție": "long"},X-API-Key: self.SM_KEY},
timeout=3,
).json()
return r.obține("acțiune") == "CONFIRMĂ"
except Exception:
return True
Rețeta 3
Dimensiune după size_multiplier
Lasă convingerea să stabilească mărimea poziției. Înmulțește dimensiunea de bază cu size_mult (0.0–1.5) astfel încât tranzacțiile cu ÎNALTĂ încredere să primească mai mult capital și cele slabe mai puțin.
BASE_SIZE_USD = 1000
semnătură = confirmă("ETH", longmult = sig.obține("size_mult", 0.0)
size = BASE_SIZE_USD * mult dacă 0:
size >(ETH, long, size_usd=size)
print(f"a intrat ${size:.0f} (mult {mult})")
A size_mult 0.0 înseamnă să nu intri — același rezultat ca un SKIP. Tratează orice valoare sub pragul tău ca un skip.
Rețeta 4
Skip la SKIP / reduce la REDUCE
Gestionează explicit toate cele trei acțiuni. CONFIRM intră cu mărimea completă, REDUCE intră cu (mai micul) multiplicator, SKIP stă deoparte.
sig = confirmă(symbol, direction)
action = sig["action"]
dacă 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']}")
Rețeta 5
Gestionează 402 / 429
A 402 înseamnă că simbolul sau endpoint-ul necesită un plan superior; 429 înseamnă că ai depășit limita de rate. Tratează 429/5xx ca tranzitorii (reduce viteza), 402/401/403 ca terminali (repară planul sau cheia).
import time, requests
def confirm_safe(symbol, direction, retries=3):
pentru încercare în range(reîncercări):r = requests.get(f"{BASE}/confirm",params={"symbol": symbol, "direcție": direcție},"X-API-Key": API_KEY}, timeout=5,
)
dacă r.status_code == 200:
returnează r.json()
dacă r.status_code în (401, 402, 403):
ridică RuntimeError(r.json())
dacă r.status_code == 429: reset =int(r.headers.(get, 2)) timp.somn(min(reset, 2 ** încercare))
continuă
timp.sleep(2 ** încercare)
returnează None
Rețeta 6
Folosește cu un agent de codare
Dă-i lui Claude Code, Codex sau Cursor referințele machine-readable și lasă-l să facă integrarea. Indică-l spre /llms.txt pentru prezentare generală și specificația OpenAPI pentru formate exacte.
Citiți https://smartmoneyapi.com/llms.txt și specificația OpenAPI la github.com/tashiardit/smartmoneyapi-docs, apoi adăugați o verificare pre-trade în botul meu: apelați GET /v1/confirm cu cheia mea X-API-Key și omiteți orice intrare dacă action != "CONFIRM". Ajustați mărimea prin size_multiplier.
Resurse: /llms.txt · Specificația OpenAPI · Client Python.
Gata să-ți controlezi prima tranzacție?
Obține o cheie gratuită și citește documentația completă a endpoint-urilor.
Suport pentru decizii, nu recomandări de execuție. Nu este un sfat financiar. Tranzacționarea de criptomonede implică un risc semnificativ de pierderi.