Skip to main content
Prerequisites: You need an Allium API key. Get one from app.allium.so/settings/api-keys.
This guide walks through the full lifecycle of a Beam pipeline using the REST API: create a config, populate filter values, deploy, and check health.

Setup

All requests use the X-API-Key header for authentication against the base URL https://api.allium.so/api/v1/beam.

Filter USDC transfers on Base

1

Create the pipeline config

Create a pipeline that streams ERC20 transfers on Base, filtered by token address using a Redis set filter, and outputs to a managed Kafka topic.
The response returns the full BeamConfig with a generated id.
2

Get the transform UID

Fetch the config to extract the auto-generated transform UID — you’ll need it to manage filter values.
3

Add filter values

Add the USDC contract address on Base. Use lowercase — values are normalized in the system.
Expected: { "added": 1 }
4

Deploy

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

Check deployment health

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

Verify filter values

You should see your USDC address in the values array. Data is now streaming to beam.${CONFIG_ID}.usdc-transfers.

What’s next

  • Update your pipeline — modify the config with PUT /api/v1/beam/{config_id}, then redeploy. No need to teardown first.
  • Monitor metrics — use GET /api/v1/beam/{config_id}/deploy/metrics?time_range=1h&aggregated=true for a throughput summary.
  • Add more filter values — post additional addresses to the filter values endpoint at any time (no redeploy needed).

API reference

Full endpoint reference

Configuration reference

Source, transform, and sink schemas