Developer Docs

Integrate with Alertix

Everything you need to watch on-chain activity and pipe real-time blockchain events into your own systems — via the REST API or outbound webhooks.

Overview

Alertix exposes a REST API for managing watched addresses, subscriptions, and blockchain events, plus an outbound webhook system that pushes matching events to your endpoint in real time. The typical integration flow is:

  1. Authenticate and obtain an access token.
  2. Add the address(es) you want to monitor.
  3. Create a subscription with filters describing which events matter to you.
  4. Register a webhook so Alertix pushes matching events to your endpoint (or poll the events API instead).
Base URL: https://backend.bloqsync.com

Authentication

All endpoints below (aside from /auth/* and /public/*) require a JWT access token, obtained via login or registration, sent as a bearer token on every request.

POST https://backend.bloqsync.com/auth/login
Content-Type: application/json

{
  "email": "you@company.com",
  "password": "••••••••"
}

→ { "access_token": "...", "refresh_token": "...", "user": { ... } }
Authorization: Bearer <access_token>

Tokens expire; call POST /auth/refresh with a valid (or recently expired) access token to mint a new one.

Watched Addresses

Alertix only processes chain activity for addresses you're explicitly watching. Add an address before creating a subscription for it.

GET/watched-addresses

List your watched addresses

POST/watched-addresses

Watch a new address on a given blockchain

DELETE/watched-addresses/{'{id}'}

Stop watching an address

Subscriptions & Filters

A subscription defines which events on a watched address should trigger a notification/webhook. Filters are matched against every blockchain event Alertix ingests.

GET/subscriptions

List your subscriptions

POST/subscriptions

Create a subscription with an EventFilter

GET/subscriptions/{'{id}'}

Get a subscription

PUT/subscriptions/{'{id}'}

Update a subscription's filters

POST/subscriptions/{'{id}'}/toggle

Enable or disable a subscription

DELETE/subscriptions/{'{id}'}

Delete a subscription

Example filter, sent as the subscription's filters field:

{
  "blockchains": ["ethereum", "polygon"],
  "event_types": ["Transfer*"],
  "to_addresses": ["0xYourWatchedAddress"],
  "min_value": "1000000000000000000",
  "direction": "incoming"
}

Blockchain Events

Every transaction and contract log Alertix observes for a watched address is stored and queryable, independent of whether a subscription matched it — useful for backfills or building your own history views.

GET/events

List/filter blockchain events

GET/events/{'{id}'}

Get a single event

GET/events/address/{'{blockchain}'}/{'{address}'}

Events for a specific address

GET/events/transaction/{'{blockchain}'}/{'{hash}'}

Events for a specific transaction

Webhooks

Register an HTTPS endpoint and Alertix will POST a JSON payload to it whenever a matching event fires, instead of you having to poll the events API.

GET/webhooks

List your webhooks

POST/webhooks

Register a webhook (up to 10 per user)

GET/webhooks/{'{id}'}

Get a webhook

PUT/webhooks/{'{id}'}

Update a webhook

POST/webhooks/{'{id}'}/toggle

Enable or disable a webhook

POST/webhooks/{'{id}'}/test

Send a test delivery

DELETE/webhooks/{'{id}'}

Remove a webhook

Creating a webhook:

POST https://backend.bloqsync.com/webhooks
Authorization: Bearer <access_token>
Content-Type: application/json

{
  "url": "https://api.yourapp.com/webhooks/alertix",
  "name": "Production webhook",
  "event_types": ["Transfer", "Swap"],
  "retry_count": 3,
  "timeout_seconds": 30
}

→ 201 Created
{
  "webhook": { "id": "...", "url": "...", ... },
  "secret": "whsec_...",
  "message": "Save this secret securely. It will not be shown again."
}

Alertix signs every delivery with HMAC-SHA256 over the raw JSON body, using the secret returned at creation time:

POST https://api.yourapp.com/webhooks/alertix
Content-Type: application/json
X-Webhook-Event: Transfer
X-Webhook-Signature: <hex hmac-sha256(secret, body)>

{
  "event": "Transfer",
  "timestamp": 1710000000,
  "data": { "blockchain": "ethereum", "from": "0x...", "to": "0x...", "value": "..." }
}

Verify authenticity by recomputing the HMAC-SHA256 of the raw request body with your webhook secret and comparing it to X-Webhook-Signature. Failed deliveries are retried (up to retry_count times, exponential backoff) before landing in the dead-letter queue.

SDKs

Official client libraries wrap authentication and the endpoints above:

  • TypeScript / JavaScript — sdk/typescript
  • Python — sdk/python
  • Rust — sdk/rust

Full API Reference

Every endpoint, request/response schema, and error shape is documented in the live OpenAPI spec, generated directly from the backend and kept in sync with each release. The interactive Swagger UI is available to authenticated admins only, since the spec covers internal admin endpoints — sign in and visit https://backend.bloqsync.com/swagger-ui/ directly.