Monitor on-chain eventsAutomate what happens next

Blockferry ingests and normalizes on-chain events in real time, runs your filter and transform logic, then dispatches notifications to your sources — with durable retries, historical replay and full observability.

workflow
executing
event ingested
ethereum · block 19,482,103
{
"eventType": "erc20_transfer",
"fromAddress": "0x91...ab",
"toAddress": "0x81...cx",
"tokenSymbol": "USDC",
"tokenAddress": "0xc64690a25abd176f6e6faddd067a1dc77c62ac17",
"amount": 15000
}
Filter
amount > 10,000
Transform
json → payload
Slacksent · 38ms
Webhook200 OK · 42ms
Telegramdelivered
Guaranteed
At-least-once delivery
Built-in
Historical event replay
Per-event
Full execution tracing
Automatic
Retry + failure recovery
SDK · APIs

Standardized blockchain events, delivered directly to your backend.

Fully typed SDKs featuring built-in retries, event validation, and local testing. Write clean integration logic that handles block reorganizations and payload verification out of the box.

  • Fully typed event payloads and chain-aware helpers
  • Automatic transaction verification and HMAC signature validation
  • Durable event retries with configurable exponential backoff
  • Local simulator for testing integrations without deploying to staging
filter.ts
TypeScript
01import type Contracts, { eventFilter } from "@blockferry/sdk";
02
03// Filter: USDC transfers > $10k to a specific address
04const matched = await eventFilter()
05  .isTokenTransfer([Contracts.USDC_ETH_SEPOLIA])
06  .isAddress(["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA9604"])
07  .valueInDecimals("gte", 10_000)
08  .andWhere((event) => {{
09    return event.addressContext?.userId === "database_user_id";
10  }})
11  .verifySignature(process.env.BF_WEBHOOK_SECRET!)
12  .validate(payload);
13
14if (matched) notifyTreasury(payload);
Log

One Watchlist. Track every chain and event that matters.

Ethereum
Solana
Arbitrum
Polygon
Base
Avalanche
Optimism
BSC
Bitcoin
Ethereum
Solana
Arbitrum
Polygon
Base
Avalanche
Optimism
BSC
Bitcoin
Event Stream
last 2 minutes
TimeChainEventStatus
now
Base
ERC-20 Transfer · 8,200 USDC · 0x9aa…0c1
2s ago
Polygon
NFT Mint · #1421 · Collection Alpha
4s ago
Solana
Program Exec · Orca Whirlpool swap
6s ago
Ethereum
ERC-20 Transfer · 45,000 USDC · 0x71c…49f
8s ago
Arbitrum
Bridge Deposit · 12.4 ETH · 0xd3b…88a
Reliability

Built for reliable blockchain event processing

Blockferry ingests, filters, and delivers on-chain events with durable retries, historical replay, and end-to-end observability so every event reaches your application, even when downstream systems fail.

Delivery
99.99%
Never miss an event
Observability
< End-to-end
Every delivery tracked
Replay
Built-in
Recover from failures

Durable retries

Exponential backoff with automated retry logic and idempotency keys to prevent duplicate event processing.

Replay & backfill

Retrieve and re-deliver historical transaction windows safely to backfill data or recovery logic.

Complete observability

Trace every event from ingestion to delivery. Inspect filters, transformations, retries, and downstream responses in one place.

Guaranteed delivery

Strict per-wallet and per-contract delivery when you need it. Parallel fan-out when you don't.

delivery guarantees
At-least-once delivery
Idempotent dispatch
Exactly-once per key
Developer Experience

Deploy drirectly from your terminal

workflow.jsonConfig Schema
{
  "name": "usdc-whale-alert",
  "watchlistId": "wl_abc123",
  "description": "Alert on large USDC transfers",
  "eventTypes": ["token_transfer"],
  "filters": {
    "tokenSymbol": { "$eq": "USDC" },
    "valueInDecimals": { "$gte": 10000 }
  },
  "actions": [
    {
      "type": "webhook",
      "config": {
        "url": "https://api.myapp.io/hooks/whale"
      }
    }
  ]
}

Ferry on-chain events,
wherever you need them.

Blockferry gives you typed SDKs, a CLI, and a reliable delivery layer so you can spend time on product logic — not infrastructure plumbing.