> ## Documentation Index
> Fetch the complete documentation index at: https://goldrush.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Pipeline API Quickstart

> Learn how to create your first GoldRush Pipeline to stream blockchain data into your own database.

## Prerequisites

Using any of the GoldRush developer tools requires an API key.

<CardGroup cols={2}>
  <Card icon="wand-magic-sparkles" title="Vibe Coders" href="https://goldrush.dev/platform/auth/register/?plan=vibe">
    \$10/mo - Built for solo builders and AI-native workflows.
  </Card>

  <Card icon="users" title="Teams" href="https://goldrush.dev/platform/auth/register/?plan=professional">
    \$250/mo - Production-grade with 50 RPS and priority support.
  </Card>
</CardGroup>

You will also need a running Postgres instance that is accessible from the internet. Have your connection host, port, database name, username, and password ready.

## Create Your First Pipeline

This walkthrough creates a pipeline that streams decoded EVM log events from Base Mainnet into a Postgres database.

<Steps>
  Log in to the [GoldRush Platform](https://goldrush.dev/platform/) and navigate to **Manage Pipelines** in the left sidebar. Click **Create New Pipeline** to open the pipeline builder.

  Select the PostgreSQL Destination Type

  Configure your PostgreSQL Connection with your connection url, username and password.

  Test your connection to see if the Pipeline API can connect to your PostgreSQL.

  Under EVM Chains, pick **Base** as your chain and EVM Log Events as your object type.

  Choose a source topic to define what blockchain data your pipeline will ingest. Select **Base Mainnet** as the chain and **EVM Block Logs** as the data type. This maps to the topic `base.mainnet.ref.block.logs`, which emits every log event from every block on Base Mainnet in real time.

  Since we want to continuously stream data, we will pick **Unbounded** and set the starting block height to be 30,000,000.

  Pick an existing project (or create a new project) to group this pipeline under. For the ABI decoding, upload the [ERC20 ABI](https://gist.github.com/veox/8800debbf56e24718f9f483e1e40c35c).

  Review your configuration and click "Create Pipeline" to deploy your pipeline.
</Steps>

## Under the Hood

<Accordion title="Generated YAML Configuration">
  The platform UI generates a YAML configuration for each pipeline. The pipeline you just created produces a config equivalent to this:

  ```yaml theme={null}
  # Pipeline Configuration
  project: "research"
  topic: "base.mainnet.ref.block.logs"

  # Destination
  destination:
    type: "postgres"
    url: "postgresql://hosted.postgreshost.com"
    user: "goldrush"
    password: "••••••••"

  # Execution
  execution:
    mode: "unbounded"
    start_from: "earliest"

  # ABI Decoding
  abi:
    files:
      - "erc20.json"
    unmatched: "skip"
  ```

  The `topic` field determines the chain and data type. Destination credentials are injected as environment variables at deploy time so they are never stored in plaintext.
</Accordion>

## Next Steps

<CardGroup cols={2}>
  <Card title="ABI Decoding" icon="code" href="/goldrush-pipeline-api/abi-decoding/overview">
    Automatically decode raw log data into human-readable event fields.
  </Card>

  <Card title="SQL Transforms" icon="filter" href="/goldrush-pipeline-api/sql-transforms">
    Filter and reshape data in-flight with SQL before it reaches your destination.
  </Card>

  <Card title="Destination Types" icon="database" href="/goldrush-pipeline-api/destinations/overview">
    Explore all supported destination types beyond Postgres.
  </Card>

  <Card title="Guides" icon="book" href="/goldrush-pipeline-api/guides/decode-uniswap-swaps">
    End-to-end tutorials for common pipeline patterns.
  </Card>

  <Card title="REST API" icon="code-branch" href="/goldrush-pipeline-api/rest-api/overview">
    Manage pipelines programmatically with a [ServiceKey](/goldrush-pipeline-api/service-keys) - create, update, monitor, and delete from CI/CD or scripts.
  </Card>
</CardGroup>
