Officiella SDK-bibliotek
Officiella klientbibliotek för Python, JavaScript, Go och Rust. Förenkla API-integration med typade klienter, automatisk återförsökslogik och WebSocket-stöd.
Python SDK
Paket: smartmoney-api
Installation: pip install smartmoney-api
Förråd: github.com/smartmoneyapi/python-client
from smartmoney import SmartMoneyAPI
# Initiera klient
client = SmartMoneyAPI(api_key="sk_live_abc123xyz789")
# Hämta valpositioner
whales = client.whale_positions(symbol="BTCUSDT", limit=50)
for position in whales:
print(f"{position.wallet_address}: {position.position_size} BTC @ {position.entry_price}")
# Hämta finansieringsräntor
funding = client.funding_rates(symbol="BTCUSDT", interval="4h", limit=24)
# Strömma liveuppdateringar
with client.stream_whale_positions(["BTCUSDT", "ETHUSDT"]) as stream:
for update in stream:
print(f"Position update: {update}")
Funktioner
- Stöd för async/await (asyncio, aiohttp)
- Automatiskt återförsök med exponentiell backoff
- WebSocket-strömning med automatisk återanslutning
- Typanvisningar och IDE-autokomplettering
- Förfrågningsloggning och felsökning
JavaScript SDK
Paket: smartmoney-api
Installation: npm install smartmoney-api
Förråd: github.com/smartmoneyapi/js-client
import { SmartMoneyAPI } from "smartmoney-api";
const client = new SmartMoneyAPI({
apiKey: "sk_live_abc123xyz789"
});
// Hämta valpositioner
const whales = await client.whalePositions({
symbol: "BTCUSDT",
limit: 50
});
whales.positions.forEach(pos => {
console.log(`${pos.wallet_address}: ${pos.position_size} BTC`);
});
// Strömma realtidsuppdateringar
const stream = client.streamWhalePositions(["BTCUSDT", "ETHUSDT"]);
stream.on("data", (update) => {
console.log("Position update:", update);
});
stream.on("error", (err) => {
console.error("Stream error:", err);
});
Go SDK
Modul: github.com/smartmoneyapi/go-client
Installation: go get github.com/smartmoneyapi/go-client
package main
import (
"fmt"
"github.com/smartmoneyapi/go-client"
)
func main() {
// Skapa klient
client := smartmoney.NewClient("sk_live_abc123xyz789")
// Hämta valpositioner
positions, err := client.WhalePositions(ctx, &smartmoney.WhalePositionsFilter{
Symbol: "BTCUSDT",
Limit: 50,
})
if err != nil {
panic(err)
}
for _, pos := range positions {
fmt.Printf("%s: %.2f BTC\n", pos.WalletAddress, pos.PositionSize)
}
}
Rust SDK
Kärna: smartmoney-api
Installation: cargo add smartmoney-api
use smartmoney_api::Client;
#[tokio::main]
async fn main() -> Result<(), Box> {
let client = Client::new("sk_live_abc123xyz789");
// Hämta valpositioner
let positions = client
.whale_positions()
.symbol("BTCUSDT")
.limit(50)
.send()
.await?;
for position in positions.iter() {
println!(
"{}: {} BTC @ {}",
position.wallet_address,
position.position_size,
position.entry_price
);
}
Ok(())
}
Vanliga mönster
Felhantering
Alla SDK:er tillhandahåller omfattande feltyper med automatisk återförsökslogik. Fel inkluderar statuskod, felkod och lättläst felmeddelande.
Förfrågningstidsgränser
Konfigurerbara förfrågningstidsgränser (standard 30s). Ange anpassade tidsgränser för långvariga operationer.
Hantering av hastighetsbegränsningar
Automatisk exponentiell backoff vid hastighetsbegränsningar. Respekterar Retry-After-header.
Välj ditt SDK
Kom igång med ditt föredragna programmeringsspråk. Fullständig dokumentation och exempel ingår.
Visa API-referens