Mulai dari sini
Autentikasi
Setiap permintaan memerlukan API key. Tier Basic ke atas juga membutuhkan API secret yang dikirim sebagai header terpisah. Generate kredensial Anda di dashboard setelah berlangganan addon Alerts API.
curl https://bot.liquiditywaves.com/api/v1/signals/recent \ -H "Authorization: Bearer YOUR_API_KEY"
curl https://bot.liquiditywaves.com/api/v1/signals/recent \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "X-API-Secret: YOUR_API_SECRET"
Alternatif header
Bisa pakai X-API-Key atau query string ?api_key=….
Pricing
Tier & Limit
| Tier | Panggilan / hari | Limit history | SSE Stream | Harga |
|---|---|---|---|---|
| Trial | 100 | 10 | — | Gratis 3 hari |
| Basic | 1.000 | 100 | — | $29 / Rp 435rb / bulan |
| ProRecommended | 10.000 | 1000 | $99 / Rp 1,485jt / bulan | |
| Enterprise | 100.000 | Unlimited | $299 / Rp 4,485jt / bulan |
Diskon 50% Bitunix
Verifikasi UID Bitunix Anda untuk diskon otomatis di semua tier.
Reset Harian
Counter daily-call reset setiap 00:00 UTC. Burst limit 30 req/detik berlaku semua tier.
Reference
Endpoints
/v1/signals/recentSinyal VIP terbaru dari analis
Query: limit · pair · side · status · analyst
/v1/signals/:idDetail satu sinyal beserta lifecycle (entry, TP1/TP2, SL hits)
Query: id (path)
/v1/scalp/recentSinyal ScalpAuto terbaru
Query: limit · pair · side · tier (A/B/C) · action
/v1/leaderboardLeaderboard performa per analis
Query: window (today/this_week/this_month/all_time)
/v1/streamServer-Sent Events untuk live signal push (Pro+)
Query: topics (signals,outlooks,all)
{
"count": 20,
"limit": 50,
"signals": [
{
"id": "abc123",
"pair": "BTCUSDT",
"side": "LONG",
"analyst": "TLW Manager",
"entry": 80250.5,
"sl": 79800.0,
"tp1": 80700.0,
"tp2": 81200.0,
"rr": 1.0,
"currentRR": 0.62,
"status": "ENTERED",
"createdAt": "2026-05-04T22:30:15.123Z",
"enteredAt": "2026-05-04T22:31:42.001Z",
"completedAt": null,
"link": "https://t.me/c/..."
}
]
}Real-time
Live Stream (SSE)
Server-Sent Events memberikan push real-time setiap kali ada sinyal baru, TP/SL hit, atau outlook update — dengan latensi sekitar 100ms. Tersedia untuk tier Pro dan Enterprise.
curl -N https://bot.liquiditywaves.com/api/v1/stream?topics=signals,outlooks \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "X-API-Secret: YOUR_API_SECRET"
id: 142
event: signal:tp_hit
data: {"id":"abc","pair":"BTCUSDT","tp":1,"rr":1.0,...}
id: 143
event: outlook:running
data: {"pair":"ETHUSDT","direction":"LONG",...}
: heartbeat 1714857601234Daftar Event
signal:newsignal:entry_hitsignal:tp_hitsignal:sl_hitsignal:run_ended_bepscalp:signal_executedoutlook:enteredoutlook:runningoutlook:breakdownHeartbeat dikirim setiap 15 detik untuk menjaga koneksi tetap hidup.
🤖 Use Case
Bangun Bot Telegram White-Label
Anda dapat menggunakan API ini untuk membangun bot Telegram dengan brand sendiri — kirim sinyal ke member Anda, atur tier akses, monetisasi dengan harga sendiri. Liquidity Waves jadi data provider, Anda jadi operator.
Buat Bot via @BotFather
- Buka @BotFather di Telegram
- Kirim
/newbot - Pilih nama display dan username unik
- Simpan token yang diberikan (BOT_TOKEN)
Subscribe Tier
- Basic — <50 subscriber, polling
- Pro — direkomendasikan, SSE stream
- Enterprise — 1000+ user, white-label
Contoh Implementasi (Node.js + Telegraf)
// npm install telegraf eventsource
const { Telegraf } = require('telegraf');
const EventSource = require('eventsource');
const bot = new Telegraf(process.env.BOT_TOKEN);
const API_KEY = process.env.LW_API_KEY;
const API_SECRET = process.env.LW_API_SECRET;
const subscribers = new Set(); // simpan di DB Anda di production
bot.start(ctx => {
subscribers.add(ctx.from.id);
ctx.reply('🌊 Selamat datang! Anda berlangganan signal alert.');
});
bot.command('signals', async ctx => {
const r = await fetch('https://bot.liquiditywaves.com/api/v1/signals/recent?limit=5', {
headers: {
'Authorization': `Bearer ${API_KEY}`,
'X-API-Secret': API_SECRET
}
});
const { signals } = await r.json();
const msg = signals.map(s =>
`📊 ${s.pair} ${s.side}\nEntry: ${s.entry} | SL: ${s.sl} | TP: ${s.tp1}`
).join('\n\n');
ctx.reply(msg || 'No recent signals.');
});
// SSE live stream — push ke semua subscribers
const es = new EventSource('https://bot.liquiditywaves.com/api/v1/stream?topics=signals', {
headers: {
'Authorization': `Bearer ${API_KEY}`,
'X-API-Secret': API_SECRET
}
});
es.addEventListener('signal:new', evt => {
const s = JSON.parse(evt.data);
const text = `🚨 SIGNAL BARU\n${s.pair} ${s.side} @ ${s.entry}\nSL: ${s.sl} | TP1: ${s.tp1}`;
for (const userId of subscribers) {
bot.telegram.sendMessage(userId, text).catch(() => {});
}
});
es.addEventListener('signal:tp_hit', evt => {
const s = JSON.parse(evt.data);
for (const userId of subscribers) {
bot.telegram.sendMessage(userId, `✅ TP${s.tp} hit di ${s.pair} (+${s.rr}R)`).catch(() => {});
}
});
bot.launch();
console.log('White-label bot running...');Alternatif Python (python-telegram-bot)
# pip install python-telegram-bot requests sseclient-py
import os, json, asyncio, requests, sseclient
from telegram import Bot
bot = Bot(token=os.environ['BOT_TOKEN'])
HEADERS = {
'Authorization': f"Bearer {os.environ['LW_API_KEY']}",
'X-API-Secret': os.environ['LW_API_SECRET']
}
async def listen_stream(subscribers):
resp = requests.get(
'https://bot.liquiditywaves.com/api/v1/stream?topics=signals',
headers=HEADERS, stream=True
)
client = sseclient.SSEClient(resp)
for event in client.events():
if event.event == 'signal:new':
s = json.loads(event.data)
msg = f"🚨 {s['pair']} {s['side']} @ {s['entry']}"
for uid in subscribers:
await bot.send_message(uid, msg)⚠ Best Practices
- Anonimisasi sinyal sebelum re-broadcast — nama analis dan komentar internal milik Liquidity Waves.
- Cache responses — kalau SSE down, fallback ke polling tiap 30 detik.
- Tier-gate fitur Anda — basic dapat TP1, premium dapat SL/TP semua.
- Sebut sumber data — di /about command, tulis "Powered by Liquidity Waves API".
- Jangan share API key — multi-bot dengan satu key bisa di-revoke tanpa peringatan.
Webhook Delivery (Enterprise)
Tier Enterprise dapat register HTTPS webhook URL. Kami akan POST event JSON langsung ke endpoint Anda — tidak perlu maintain koneksi SSE. Email cs@liquiditywaves.com untuk setup.
Reference
Error Codes
| Status | Code | Penyebab |
|---|---|---|
| 401 | unauthorized | API key atau secret hilang/invalid |
| 403 | stream_not_allowed | Trial/Basic tidak boleh akses SSE |
| 429 | rate_limited | Burst (30/sec) atau daily cap exceeded |
| 404 | not_found | Signal/key id tidak ditemukan |
| 500 | internal | Server-side issue — retry dengan backoff |
Butuh bantuan integrasi?
Tim engineering kami responsif. DM bot atau email langsung — kami bantu setup bot pertama Anda.