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
Create a new pipeline
In the GoldRush Platform, navigate to Manage Pipelines and click Create Pipeline. Name it
transfer-alerts.Configure the webhook destination
Select Webhook as the destination type and configure your endpoint:
Select your source
Choose Base Mainnet as the chain and Transfers as the data type. This streams every token transfer event.
Add a SQL transform to filter
Filter to only USDC transfers on Base (contract
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913):Webhook Payload
Each transfer arrives as a JSON POST request:X-Idempotency-Key header for deduplication on your end.
Handling Idempotency
Every webhook request includes anX-Idempotency-Key header with a deterministic value based on the source record’s position. Store this key and check for duplicates before processing:
Retry Behavior
| Response | Pipeline Action |
|---|---|
| 2xx | Success, move to next record |
| 429 | Retry with Retry-After header if present, else exponential backoff |
| 5xx | Retry with exponential backoff |
| 4xx (not 429) | Permanent failure, skip and log |
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.