Skip to main content
Prerequisites: You need an Allium API key. Get one from app.allium.so/settings/api-keys.
Use the REST API to create a pipeline, add filter values, deploy, and check health.

Setup

Authenticate every request with the X-API-Key header. The base URL is https://api.allium.so/api/v1/beam.

Filter USDC transfers on Base

1

Create the pipeline config

Create a pipeline that streams ERC-20 transfers on Base, filters them by token address, and delivers them to an Allium-managed Kafka topic.
The response contains the full BeamConfig, including its generated id.
2

Get the transform UID

Fetch the config and read the transform’s generated uid. You need it to manage filter values.
3

Add filter values

Add the USDC contract address on Base. Use lowercase: Allium data stores addresses in lowercase, and matching is exact.
Expected: { "added": 1 }
4

Deploy

Expected: {"message": "Pipeline <CONFIG_ID> successfully deployed"}
5

Check deployment health

healthy_workers should equal total_workers. If workers are still starting, wait a few seconds and retry.
6

Verify filter values

The values array should contain the USDC address. Data now streams to the beam.${CONFIG_ID}.usdc-transfers topic.

What’s next

  • Update the pipeline: send the new config to PUT /api/v1/beam/{config_id}, then redeploy. You don’t need to tear down first.
  • Monitor throughput: call GET /api/v1/beam/{config_id}/deploy/metrics?time_range=1h&aggregated=true for a summary.
  • Add filter values: post more values to the filter values endpoint at any time, with no redeploy.

API reference

Full endpoint reference

Configuration reference

Source, transform, and sink schemas