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

# Before You Start

> Prerequisites and the decisions to make before you launch your first stream.

A stream goes live in minutes once the groundwork is in place. This page is a preflight check. Run through it before you open the Client Portal so you are not stopped mid-flow by a missing permission, an unfunded wallet, or a token that is not allowlisted on your chain. If you already know what Streams is, skip ahead to [Choosing a reward model](/partner-products/streams/choosing-a-reward-model). If you are new, start with the [Streams overview](/partner-products/streams/overview).

## Prerequisites

<Steps>
  <Step title="An approved organization in the Client Portal" icon="users">
    Your organization must be set up and approved in the [Client Portal](https://dashboard.turtle.xyz). A master services agreement (MSA) and org setup are required even if you only plan to run streams. See [Client Portal setup](/partner-products/overview-partners).
  </Step>

  <Step title="The streams-create permission enabled" icon="key">
    Stream creation is gated by a `streams-create` permission on your organization. If your org does not have it yet, contact the Turtle team to turn it on.

    <Warning>
      If you do not see stream creation in the Client Portal, your org likely does not have `streams-create` enabled. Reach out to the Turtle team before you go further. The prerequisites are also listed in the [create-stream reference](/sdk/streams/create-stream).
    </Warning>
  </Step>

  <Step title="A funded wallet on your target chain (token streams only)" icon="wallet">
    For a token stream, the wallet that creates the stream must sit on the right chain and already hold enough of the reward token to cover the total reward amount plus the creation fee. Point streams have no on-chain step and no funding requirement at creation.

    The creation fee is **1.5% of the funded reward amount** by default, charged in the reward token and pulled by the `StreamFactory` alongside the net total. Turtle Pro organizations are exempt from the fee (0%). The exact fee amount for your stream is returned as `FeeAmount` in the [create-stream](/sdk/streams/create-stream) response, and the Client Portal review screen also shows it. Point streams have no creation fee.
  </Step>

  <Step title="An allowlisted reward token" icon="coins">
    The reward token must be an allowed reward token. Confirm it is allowlisted on your chain before you commit to a launch. Resolve which tokens are allowed through [get-tokens](/sdk/streams/get-tokens).
  </Step>

  <Step title="A supported chain for reward-token creation" icon="link">
    Creating a token stream is currently supported on Ethereum, Base, Avalanche, BSC, and Sepolia (testnet). Target tokens, the tokens whose balances are tracked to measure TVL, span a broader set of chains. See [Supported chains](#supported-chains) below.
  </Step>
</Steps>

## Decisions to make before you launch

Have answers to these ready. Each one maps to a field you will set when you create the stream.

<AccordionGroup>
  <Accordion title="Reward base: tokens or points" icon="coins">
    A stream pays either a real ERC-20 reward token or off-chain points, never both. Token streams settle on-chain. Point streams are created instantly with no on-chain step and can convert to tokens at a future TGE. Points support the mechanics that need no token price: Fixed Rate, Daily Budget, and Airdrop.

    Best for tokens: you have a live, allowlisted ERC-20 and want LPs to claim it on-chain now. Best for points: you are pre-TGE or want to track contribution before committing real tokens.

    See [Choosing a reward model](/partner-products/streams/choosing-a-reward-model) for the tradeoff, and [create-point](/sdk/streams/create-point) for the points path.
  </Accordion>

  <Accordion title="Reward type and mechanic" icon="sliders">
    Decide what you pay for: **TVL-Based** (holders earn continuously against their balance), **Deposit-Based** (reward how long depositors commit, through duration tiers that unlock at cliffs), or **Airdrop** (a one-time distribution defined by a recipient list). Then pick the rate mechanic: Fixed APR, Fixed Rate, or Daily Budget as standard rewards, or a gap-fill rate (Target APR, Reference APR) that pays only when native yield falls short.

    [Choosing a reward model](/partner-products/streams/choosing-a-reward-model) walks through each and when to use it.
  </Accordion>

  <Accordion title="Budget and duration" icon="gauge">
    Decide your budget and how long the stream runs. Streams are required to distribute a minimum of **\$33.33 per day**, which caps the maximum duration at your budget divided by that floor — the end date fills in from your budget automatically, and you can shorten it but not extend it past what the budget covers. Two API gotchas to plan around: start and end timestamps must align to 15-minute boundaries in UTC, and an end time must be at least one hour after the start. Rewards begin accruing after creation, and the first snapshot lands within about 12 hours. Exact formatting rules are in the [create-stream reference](/sdk/streams/create-stream).
  </Accordion>

  <Accordion title="The rate, budget, or APR for your mechanic" icon="chart-line">
    Each mechanic takes one headline number. Fixed Rate takes a `tokensPerUSD` (reward tokens per 1,000 USD of TVL per day). Fixed APR takes an `apr`. Daily Budget takes a `tokensPerDay` and computes the total automatically, so you do not specify a total for this type. Target APR takes a `targetApy` (the floor to gap-fill to); Reference APR tracks another vault's rate with an optional `apyOffset` (both run under the API's `Yield Match` type). Deposit-based streams take a rate per duration tier. Airdrop takes no rate; you upload allocations yourself.

    Name your number now. The exact format and base-units rules live in the [create-stream reference](/sdk/streams/create-stream).
  </Accordion>

  <Accordion title="Eligibility, restrictions, and bonuses" icon="shield">
    Optionally, shape who earns and how much: scope eligibility by deposit route (All Deposits, Turtle Only, or Select Distributors), restrict to a whitelist or exclude a blacklist (OFAC screening is on by default), add percentage bonuses for linked X or Telegram accounts, referrals, or holders of a chosen asset, and forward vault rewards to underlying LPs. In the API these are configured at creation through the `adapters` array. See the [create-stream reference](/sdk/streams/create-stream) for the full list and configuration.
  </Accordion>
</AccordionGroup>

## Supported chains

Streams are live on the chains below. Reward-token creation is limited to this set. Target tokens are supported on a broader range of chains; resolve which tokens are available on a chain through [get-tokens](/sdk/streams/get-tokens).

| Chain | Status |
| - | - |
| Ethereum | Live |
| BSC | Live |
| Avalanche | Live |
| Base | Live |
| Sepolia | Testnet |

<Note>
  New chains are added by deploying a StreamFactory and configuring an indexer webhook. If the chain you need is not listed, see the contact path below.
</Note>

## If your token is not allowlisted or your chain is not supported

<Info>
  Reward tokens must be allowlisted, and token-stream creation is currently limited to Ethereum, Base, Avalanche, BSC, and Sepolia. If your token is not yet allowed or your chain is not supported, reach out to the Turtle team through the [Client Portal](https://dashboard.turtle.xyz). The team can allowlist a token or scope a new chain deployment.
</Info>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.