From Telegram, no key
Message @ironflow_liquidations_bot and say what you want:
The same bot watches wallets:
It works in a private chat, in a group (only the group’s admins can set up or stop alerts) and in a channel (add the bot as an admin that can post). Without a size the floor is $100k. A chat gets one alert (up to 20 markets), one watch and one follow for free;
/pro gives 5 alerts, 10 watches and 20 follows for 1,000 Telegram Stars a month. For Discord, Slack and webhooks, use a key as below.
Create one
Any API key works (a free key allows one alert). Pointurl at a Discord channel webhook, a Slack incoming webhook or your own HTTPS endpoint:
To get a Discord webhook URL: channel settings, Integrations, Webhooks, New Webhook, Copy Webhook URL. For Slack: create an app with Incoming Webhooks and add one to the channel.
Telegram
Telegram has no webhook URLs: our liquidation bot posts into your chat. Sendtelegram_chat instead of url:
setup names it too): in a channel as an admin that can post messages, in a group as a member. A public channel or group is its @name; a private one is its numeric id (it starts with -100; forward a message from the chat to a bot such as @userinfobot to see it). Then send a test; if the bot is missing from the chat, the test result says so.
What arrives
Partial fills of one liquidated position in one transaction count as one liquidation, andmin_usd applies to their total. An alert sends at most one message every 5 seconds, listing everything it matched since the last one (up to 20, then a count and a total), so a cascade arrives as a handful of messages.
In Discord and Slack each line reads:
"type": "test". Delivery is at least once: after a restart a few seconds can be sent again, so use id to drop repeats.
Verify a webhook
The create response has asigning_secret (shown once). Each request carries X-Ironflow-Signature: t=<unix seconds>,v1=<hex>, where v1 is the HMAC-SHA256 of <t>.<raw body> with that secret.
Limits and failures
A failed delivery is tried once more 5 seconds later. After 20 failed deliveries in a row (a deleted webhook, an endpoint that is down) the alert is disabled;
GET /v1/alerts shows status and last_error. Fix the destination and send a test: a delivered test switches the alert back on.
For the raw feed in your own code use the liquidations stream instead.