Notifications API

Smart-money signals, delivered to your webhook in seconds.

Embed tracks the top PnL-ranked wallets across Polymarket, Kalshi, Hyperliquid, and DEX trading on Base, Ethereum, and Solana. When they converge on an asset or move real size, your endpoint gets one structured payload — with the who, the how much, and the why attached.

console.mbd.xyz/notification-builderdraft
Form · signals
HyperliquidPolymarketDEXKalshi
whale_movemin $50k
top_trader_convergeP0: 3
convergenceP0: 8
mbd.ingest("overlay") .preset("hyperliquid") .tune("whale_move", …) .execute()
Delivery · your webhook
POST https://api.yourapp.com/hooks/embed
{ "signal": "convergence", "priority": "P0",
"market": "Bitcoin Up or Down",
"traders": 3, "inflow_usd": 41,
"signal_id": "sig_7f2k…" }
→ 200 OK · delivered in 2.4s
cooldown 24hdedup signal_idbudget 5000/day
How it works

Detect. Match. Deliver.

01
Detect

Wallets are continuously scored on realized PnL, true win rate, and consistency — only the top-ranked can trigger a signal. Detectors watch their trades across five venues, 24/7, and every detection lands in a searchable notification index.

02
Match

A notification algorithm — the same DSL that powers feeds — searches signal candidates, hydrates market and trader metadata, and joins them to your own users and wallets. You decide who each signal is relevant to.

03
Deliver

A delivery config attaches your algorithms to your webhook. Daily budgets, cooldowns by token, wallet, or market, and P0/P1 priority filters keep volume sane. Send a test, preview the last 100 matches, then activate.

Signals

The moments traders actually respond to

convergenceMultiple top-ranked traders piling into the same asset (P0/P1 tiers)
whale_moveA top-50 wallet opens or moves serious size
sell_signalRanked wallets exiting a position together
pm_convergence_betTop traders converging on one prediction-market outcome

Every payload explains itself: a headline, the contributing traders with rank and track record, USD inflow, and the reasons the signal fired. Tune thresholds like minimum whale size or convergence count per protocol — form or DSL.

Coverage

One index per protocol, ready to search

Polymarketpolymarket-notifications
Hyperliquidhyperliquid-notifications
Kalshikalshi-notifications
DEX · Base / Ethereum / Solanadex-notifications

Signals track 1.5M X-linked wallets plus the top traders per protocol — and extend to any users you ingest through the Data Sources API.

Built like feeds

One DSL for the algorithm, one for delivery

Notifications share the pipeline your feeds already use. The algorithm decides who gets notified; the delivery config decides how it reaches them. Compose both in the Algo Console — form or code, kept in sync — and deploy without touching your backend.

Notification algorithm
mbd.search()
.index("polymarket-notifications")
.include(["market", "signal"])
.inAppUsers("wallet_address")
.sortBy("priority")
.size(100)
.execute()
Delivery config
notification("whale-alerts")
.algos(["algo_7f2k"])
.webhook("https://api.yourapp.com/hooks/embed")
.cooldown({ hours: 24, key: "user_item" })
.priorityFilter("high")
.dailyBudget(5000)
Production controls

Respectful by default

Reactivation only works if users trust the ping. Every stream ships with guardrails so the right signal reaches the right user — once.

Daily budgets

Cap total deliveries per day — and per signal type — so a hot market never floods your users.

Cooldowns

Suppress repeats by token, wallet, or market for the window you choose.

Priority filters

Deliver only P0, P0-P1, or everything — you pick the noise floor.

Test sends

Fire a synthetic payload at your endpoint from the Console to verify URL and auth before going live.

Preview last 100

See exactly which signals your stream would have fired historically, before you activate it.

Deduped by design

Every payload carries a stable signal_id — idempotent handling on your side is one field.

Turn signals into sessions.

One webhook endpoint and an API key — embed handles ranking, detection, dedup, throttling, and delivery. Same payload whether you serve 10K users or 10M.