> ## 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.

# Overview

> How authentication works in the Turtle Earn API and how to onboard wallets.

The Turtle Earn API uses two types of API keys. Publishable keys (`pk_live_`) for client-side calls and secret keys (`sk_live_`) for server-side calls. All action endpoints additionally require the user's wallet to be registered as a Turtle member before any on-chain transaction can be generated.

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/sdk/authentication/api-keys">
    API key types, scopes, and how to pass them in requests.
  </Card>

  <Card title="Membership API" icon="wallet" href="/sdk/authentication/register-wallet">
    Register wallets as Turtle members to enable deposits and withdrawals.
  </Card>
</CardGroup>

## API Keys

Publishable keys (`pk_live_`) are safe to use in client-side code. They provide read-only access to opportunities, deposit activity, and verification endpoints.

Secret keys (`sk_live_`) must be kept server-side. They are required for write operations such as generating deposit transactions, creating memberships, and managing streams.

<Note>
  Never expose your `sk_live_` key in client-side code, browser environments, or public repositories. Treat it like a database password.
</Note>

## Wallet Membership

Before a wallet can interact with action endpoints, it must be registered as a Turtle member. Membership links a wallet address to a Turtle user, enabling deposit attribution and revenue tracking.

Supported ecosystems:

* **EVM** — Ethereum, Arbitrum, Base, and all supported EVM chains
* **Solana**
* **TON**

See the [Membership API](/sdk/authentication/register-wallet) for the full onboarding flow including agreement signing and membership creation.

<Warning>
  All action endpoints require the wallet to be a Turtle member. Attempting a deposit or withdrawal with an unregistered wallet will return a 404.
</Warning>
