LevelPing

API

Alerts your bot can create

The same REST surface the web app uses, with an API key. Create levels from your own strategy code and receive the crossings on a signed webhook.

Pro plan v1

Authentication

Send your key as a bearer token. Keys are created in Settings and shown once.

curl https://levelping.com/api/v1/alerts \
  -H "Authorization: Bearer lp_live_xxx"

Create an alert

POST /api/v1/alerts
{
  "market": "hyperliquid:BTC",
  "direction": "above",
  "price": 72000,
  "mode": "oneshot",
  "note": "breakout entry"
}

The level is snapped to the exchange tick size. mode accepts oneshot or recurring; recurring alerts take an optional cooldownS and hysteresisPct.

Endpoints

MethodPathDoes
GET/marketsSearch available markets
GET/alertsList your alerts
POST/alertsCreate an alert
PATCH/alerts/:idMove the level, pause or re-arm
DELETE/alerts/:idDelete an alert
GET/eventsHistory of triggers and deliveries

Webhook payload

When a level is crossed we POST this to your endpoint:

{
  "type": "alert.triggered",
  "alert":  { "id": "...", "direction": "above", "price": 72000 },
  "market": { "venue": "hyperliquid", "symbol": "BTC", "base": "BTC", "quote": "USD" },
  "trigger": { "price": 72014.5, "at": "2026-08-18T09:41:12.004Z" }
}

Verifying the signature

Every request carries x-levelping-timestamp and x-levelping-signature. The signature is an HMAC-SHA256 of timestamp + "." + rawBody using your webhook secret.

const expected = crypto
  .createHmac('sha256', secret)
  .update(`${req.get('x-levelping-timestamp')}.${rawBody}`)
  .digest('hex')

// compare with the value after "sha256=" using timingSafeEqual

Reject requests whose timestamp is more than a few minutes old, and always compare in constant time.

Limits

Two requests per second per key. Failed webhook deliveries are retried three times with backoff; an endpoint that keeps failing is disabled and you get an email about it.

Status: the API ships right after launch. Want early access? Sign in and use the app; API keys appear in Settings as soon as they are live.