BeamConfig
The top-level object returned by all config endpoints.| Field | Type | Required | Description |
|---|---|---|---|
id | string | Auto-generated | Pipeline ID. Omit when creating — the server generates it. |
name | string | Yes | Pipeline name |
description | string | Yes | Pipeline description |
tags | string[] | No | Tags for organizing pipelines. Default: null |
static_egress_ip | boolean | No | Enable a static outbound IP for webhook sinks. Default: false |
owner_org_team_user_id | string | Auto-set | Owner ID, set from the authenticated API key |
created_at | datetime | Auto-set | Creation timestamp |
updated_at | datetime | Auto-set | Last update timestamp |
pipeline_config | PipelineConfig | Yes | The pipeline’s source, transforms, and sinks |
CreateBeamConfigRequest
Used as the request body for Create pipeline. Same asBeamConfig but without auto-generated fields.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Pipeline name |
description | string | Yes | Pipeline description |
tags | string[] | No | Tags for organizing pipelines |
static_egress_ip | boolean | No | Enable a static outbound IP. Default: false |
pipeline_config | PipelineConfig | Yes | The pipeline’s source, transforms, and sinks |
PipelineConfig
| Field | Type | Required | Description |
|---|---|---|---|
source | Source | Yes | Where data comes from |
transforms | Transform[] | Yes | Processing steps applied in order |
sinks | Sink[] | Yes | Where processed data is delivered |
Source
Connects to Allium’s Datastreams. Select a blockchain and entity type.| Field | Type | Required | Description |
|---|---|---|---|
type | string | Auto-set | Source type (set automatically based on chain) |
chain | string | Yes | Blockchain to source data from |
entity | string | Yes | Entity type to stream |
is_zerolag | boolean | No | Stream from the tip of the blockchain before finality. Lower latency but may include reorged data. Default: false |
Supported chains and entities
| Chain | Entities | Zerolag |
|---|---|---|
| Polygon | log, decoded_log, erc20_token_transfer, erc721_token_transfer, erc1155_token_transfer | Yes |
| Base | log, decoded_log, erc20_token_transfer, erc721_token_transfer, erc1155_token_transfer | Yes |
| Solana | nonvoting_transaction | No |
| Hyperliquid | block, trade, fill, order, misc_event | No |
More chains and entities are being added regularly. Check the Datastreams catalog for the latest availability, or use the
GET /api/v1/beam/sources endpoint.Transforms
Transforms process data in order. Two types are available. Each transform has an auto-generateduid — omit it when creating new transforms and the server will assign one.
- Set filter
- JavaScript (v8)
Filters data by matching a field value against a set. Only records whose extracted value exists in your set pass through. Sets support 10M+ values.
Common
Filter values are managed separately via the filter values endpoints. Changes take effect immediately — no redeploy needed.
| Field | Type | Required | Description |
|---|---|---|---|
type | "redis_set_filter" | Yes | Must be redis_set_filter |
uid | string | No | Auto-generated if omitted. Include to reference an existing transform. |
filter_expr | string | Yes | Bloblang expression to extract the field value for filtering |
filter_expr patterns:| Expression | Filters by |
|---|---|
root = this.address | Contract address |
root = this.topic0 | Event signature |
root = this.from_address | Transaction sender |
root = this.to_address | Transaction recipient |
Sinks
Sinks define where processed data is delivered. Each sink has an auto-generateduid — omit it when creating new sinks. Four types are available:
- Kafka
- SNS
- External Kafka
- Webhook
Delivers to an Allium-managed Kafka topic. After deployment, you receive connection credentials and consumer code snippets.
| Field | Type | Required | Description |
|---|---|---|---|
type | "kafka" | Yes | Must be kafka |
uid | string | No | Auto-generated if omitted |
name | string | Yes | Topic name suffix. Full topic: beam.{config_id}.{name} |
Contact support@allium.so if you need a specific sink type.
ID fields and creation behavior
When creating resources (pipelines, transforms, sinks), omit theid / uid field and the server will auto-generate one. When updating, include the id / uid to reference the existing resource.
| Resource | ID field | Behavior when omitted |
|---|---|---|
| Pipeline | id | New pipeline created with auto-generated ID |
| Transform | uid | New transform created with auto-generated UID |
| Sink | uid | New sink created with auto-generated UID |