Skip to main content

Overview

Turbo pipelines are defined using YAML configuration files that specify sources, transforms, and sinks. This guide covers the complete configuration syntax.

Basic Structure

Top-Level Fields

string
required
Unique identifier for your pipeline. Must use only lowercase letters, numbers, and hyphens, and start and end with a letter or number (e.g., erc20-tracker, solana-blocks).
string
default:"s"
Resource allocation for the pipeline. Each tier roughly doubles the previous tier’s CPU and memory. CPU limit is 3x the request; memory has no limit.
string
Optional description of what the pipeline does.
boolean
default:"false"
Run the pipeline as a one-time job instead of a long-running stream. Jobs run to a terminal state (success or failure) and auto-delete 1 hour after termination. See the Job Mode guide for details.

Sources

Define where your data comes from. See the Data Sources for detailed examples with EVM and Solana datasets.

Dataset Source

Example:

Transforms

Process and transform your data. See the Transforms documentation for details.

SQL Transform

SQL transforms reference upstream sources and transforms directly in the FROM clause of the query. There is no separate from: field. Example:

Dynamic Table

Example:

HTTP Handler Transform

Example:

WebAssembly Script Transform

Example:

Sinks

Write processed data to destinations. See the Sinks documentation for complete information.

PostgreSQL Sink

Example:

PostgreSQL Aggregation Sink

Example:

ClickHouse Sink

Example:

Webhook Sink

Example:

Kafka Sink

Example:

SQS Sink

Example:

Complete Example

Here’s a complete pipeline that demonstrates multiple features:
Complete multi-chain pipeline example

Reference Names

Throughout your pipeline, you reference sources and transforms by their configured names:
Naming Guidelines:
  • Use descriptive, lowercase names with underscores or hyphens
  • Avoid special characters except _ and -
  • Examples: ethereum_blocks, filtered-transfers, enriched_data

Secrets

Secrets store sensitive information like database credentials:

Creating Secrets

Using Secrets

Reference secrets in your pipeline configuration:

Secret Formats

PostgreSQL:
ClickHouse:

Validation

Before deploying, validate your pipeline configuration:
This checks for:
  • YAML syntax errors
  • Required fields
  • Invalid parameter values
  • Source/transform/sink references
  • SQL syntax (basic validation)

Best Practices

Choose names that clearly indicate what each component does:
Add comments to explain complex logic:
Begin with resource_size: s and scale up if needed:
Unless you need historical data, start from the latest:
Always validate your configuration: