Skip to main content
POST
Create a webhook
Creates a new webhook subscription. When creating a webhook, you must specify:
  • name: A descriptive name for your webhook
  • url: The endpoint where webhook payloads will be sent
  • type: The type of events to subscribe to (transactions, activities, or balances)
  • addresses: An array of wallet addresses to monitor

Optional Filters

You can narrow down the events you receive by adding optional filters:
  • chain_ids: Monitor only specific chains (e.g., [1, 8453] for Ethereum and Base)
  • transaction_type: For transaction webhooks, filter by sender or receiver
  • counterparty: Filter transactions by counterparty address
  • activity_type: For activity webhooks, filter by specific types (send, receive, swap, etc.)
  • asset_type: Filter by asset type (native, erc20, erc721, erc1155)
  • token_address: Monitor only a specific token contract
Start with broad filters and narrow them down based on your app’s needs. This helps reduce unnecessary webhook deliveries.

Example Use Cases

Monitor USDC Balance Changes

Track All Incoming Transactions

Monitor Swap Activities

Authorizations

X-Sim-Api-Key
string
header
required

API key for authentication. Obtain your key from the Dune dashboard at sim.dune.com.

Body

application/json
name
string
required

A descriptive name for the webhook.

url
string<uri>
required

The URL where webhook payloads will be sent.

type
enum<string>
required

The type of onchain event to subscribe to.

Available options:
transactions,
activities,
balances
addresses
string[]
required

List of addresses to monitor.

EVM address.

chain_ids
integer<int64>[] | null

Filter events to specific chain IDs. If omitted, all supported chains are included.

transaction_type
enum<string> | null

ONLY for 'transactions' type webhooks. Filter by sender or receiver. Cannot be used with other webhook types.

Available options:
sender,
receiver
counterparty
string | null

ONLY for 'transactions' type webhooks. Filter transactions by counterparty address.

activity_type
enum<string> | null

ONLY for 'activities' type webhooks. Filter by specific activity type. Cannot be used with other webhook types.

Available options:
approve,
mint,
burn,
receive,
send,
swap,
call
asset_type
enum<string> | null

Filter by asset type.

Available options:
native,
erc20,
erc721,
erc1155
token_address
string | null

Filter events to a specific token address.

Response

Webhook created successfully.

id
string<uuid>

The unique identifier for the webhook.

team_id
string

The team ID that owns this webhook.

name
string

A descriptive name for the webhook.

type
enum<string>

The type of onchain event to subscribe to.

Available options:
transactions,
activities,
balances
url
string<uri>

The URL where webhook payloads will be sent.

active
boolean

Whether the webhook is currently active.

created_at
string<date-time>

When the webhook was created.

updated_at
string<date-time>

When the webhook was last updated.

chain_ids
integer<int64>[] | null

Filter events to specific chain IDs. If null, all supported chains are included.

transaction_type
enum<string> | null

For transaction webhooks, filter by sender or receiver.

Available options:
sender,
receiver
counterparty
string | null

Filter transactions by counterparty address.

Example:

"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"

activity_type
enum<string> | null

For activity webhooks, filter by specific activity type.

Available options:
approve,
mint,
burn,
receive,
send,
swap,
call
asset_type
enum<string> | null

Filter by asset type.

Available options:
native,
erc20,
erc721,
erc1155
token_address
string | null

Filter events to a specific token address.

Example:

"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"