Skip to main content

Use Case

You want to receive HTTP notifications whenever a specific ERC-20 token is transferred on Base Mainnet. This enables real-time alerting, event-driven workflows, or feeding data into systems that consume webhooks (Slack, PagerDuty, custom backends).

Pipeline Configuration

1

Create a new pipeline

In the GoldRush Platform, navigate to Manage Pipelines and click Create Pipeline. Name it transfer-alerts.
2

Configure the webhook destination

Select Webhook as the destination type and configure your endpoint:
3

Select your source

Choose Base Mainnet as the chain and Transfers as the data type. This streams every token transfer event.
4

Add a SQL transform to filter

Filter to only USDC transfers on Base (contract 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913):
5

Deploy

Review and deploy. Your webhook endpoint begins receiving POST requests for each matching transfer.

Webhook Payload

Each transfer arrives as a JSON POST request:
The request includes an X-Idempotency-Key header for deduplication on your end.

Handling Idempotency

Every webhook request includes an X-Idempotency-Key header with a deterministic value based on the source record’s position. Store this key and check for duplicates before processing:
Always return a 2xx status code promptly. The pipeline retries on 5xx and 429 responses with exponential backoff. A 4xx response (other than 429) causes the batch to be permanently skipped.

Retry Behavior

Production Tips

  • batch_size: 1 sends one transfer per HTTP request - simplest to handle. Increase to 5-10 for higher throughput if your endpoint supports batch payloads.
  • timeout_ms: Set this lower than your endpoint’s actual timeout to allow for retry overhead. 5,000 ms is a good default.
  • Filtering: The SQL transform runs before the webhook, so you only pay for HTTP requests on records that match your filter. Add multiple WHERE conditions to narrow further.