Webhooks
ℹ️ Available on All Plans: Webhooks are available on all plans including Free tier. See webhook limits by plan.
Overview
Inodra's webhook service delivers real-time notifications when activity occurs on the Sui blockchain. Instead of polling, we push HTTP POST requests to your endpoint when activity matches your criteria. For the story behind it, read Indexer as a Service: real-time Sui events on the blog, and see the Sui webhooks product page for plans and pricing.
🚀 Ready to set up webhooks?
Create your free account and configure your first webhook in the dashboard.
Webhook Types
Choose the right webhook type for your use case:
| Type | What It Monitors | Example Use Case | Learn More |
|---|---|---|---|
| Events | Package event types | React to DEX swaps, NFT mints | Includes field filtering |
| Addresses | Wallet activity | Track treasury or user wallets | Sender & receiver activity |
| Coins | Token balance changes | Payment confirmations | Filter by coin type |
| Objects | Object mutations | Watch NFTs or AMM pools | Track ownership changes |
Key Features
- Push delivery over HTTPS when activity matches your filters
- Multiple filter types: Events, addresses, coins, and objects
- Event field filtering: Filter events by specific field values (e.g., amount > 1000)
- Signature verification via HMAC-SHA256 for security
- Deduplication via
X-Dedupe-Keyheader - Automatic retry with exponential backoff (up to 10 attempts over ~17 hours)
- Delivery logs with full visibility into status and errors
- Manual replay for webhooks (Business plan and above)
- Dashboard UI for managing webhooks, viewing logs, and replaying deliveries
Quick Start
1. Set Up Your Endpoint
Create an HTTPS endpoint to receive webhooks:
app.post('/webhooks/sui', (req, res) => {
console.log('Received webhook:', req.body)
// Process the webhook...
res.status(200).send('OK')
})2. Register a Webhook
Add a webhook via the dashboard:
- Navigate to Webhooks
- Click Add Webhook
- Select the webhook type (Event, Address, Coin, or Object)
- Configure your filters and endpoint URL
- For event webhooks, optionally add field filters
- Save
3. Start Receiving Data
When matching activity occurs on-chain, you'll receive a POST request with the webhook payload.
Common Use Cases
DeFi Applications
- DEX Trading: React to swap events above a certain amount using field filters
- Lending Protocols: Monitor collateral and liquidation events
- Yield Farming: Track rewards and stake changes
NFT Marketplaces
- Mint Events: Notify users when new NFTs are created
- Transfer Events: Update ownership records in real-time using object webhooks
- Sale Events: Process marketplace transactions instantly
Gaming Applications
- Item Transfers: Update game state when items move
- Achievement Events: Trigger rewards and notifications
- Battle Results: Process combat outcomes immediately
Portfolio Tracking
- Balance Changes: Track coin balance changes across multiple tokens
- Transaction Alerts: Notify users via address webhooks
- Staking Rewards: Track validator rewards and distributions
Curated event catalog
You don't have to know a protocol's package ID or exact event struct name. When creating an event webhook, switch to Browse catalog and pick a popular event - for example "Cetus - Swap", "DeepBook - Order placed", "Scallop - Liquidation" or "Pyth - Price feed update". The canonical, on-chain-verified event type is filled in for you, along with its field schema (so field filters work instantly, with no lookup). Prefer a raw type? The Custom tab keeps the classic 0x<pkg>::module::Event input.
Every catalog entry is validated against live RPC before shipping, and generic events (such as SwapEvent<...>) are matched across all type instantiations automatically.
The Custom tab also accepts generic instantiations and wrapped envelope types - paste a base type like 0x<pkg>::module::SwapEvent to match every instantiation, a fully qualified ...::SwapEvent<0x2::sui::SUI> to match one, or a wrapped ...::events::Event<0x<pkg>::module::Inner>.
Cataloged protocols include DEXes & aggregators (DeepBook, Cetus, Turbos, Momentum, FlowX, Kriya, Bluefin, Aftermath, Steamm, Magma, 7K), lending & CDPs (Scallop, Suilend, NAVI, Bucket, Current), options & yield vaults (AlphaFi, Kai, Ember, Typus, Mole), liquid staking (Haedal, Volo, SpringSui), storage (Walrus), and oracles (Pyth, Supra). The list grows over time.
Programmatic access:
GET /v1/catalog/protocols- list cataloged protocols for your project networkGET /v1/catalog/events?protocol=cetus&category=swap&q=swap- browse/search events
Next Steps
- Event Webhooks - Monitor smart contract events with field filtering
- Address Webhooks - Track wallet activity
- Coin Webhooks - Monitor token balance changes
- Object Webhooks - Watch specific object mutations
- Setup & Verification - Endpoint requirements, signature verification, retry behavior