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

# SDK Setup Guide

> Learn how to set up the Offline Protocol SDK in your application with proper configuration.

Follow these steps to integrate the Offline Protocol SDK into your project and configure it correctly.

## 1. Create a New Project

Before using the SDK, you need to create a project in the developer portal.

### Steps to Create a Project

1. Go to [https://dev.offlineprotocol.com](https://dev.offlineprotocol.com)
2. Sign in to your account
3. Click the **Project Selector** dropdown (beside your team name)
4. Select **Create Project**
5. Fill in the project details:
   * **Project Name**: A descriptive name for your application
   * **Description**: Brief description of what your project does
6. Click **Create**

Once created, you'll receive a unique **Project ID**. Keep this handy, you'll need it for SDK initialization.
Meanwhile, you can edit the name and description of the project.

<img src="https://mintcdn.com/offlineprotocol/_s8GLMvNLgP2b-Cq/images/api-key/project-details.png?fit=max&auto=format&n=_s8GLMvNLgP2b-Cq&q=85&s=7c031e49b813a12fe9f1f9eef61bd26b" alt="Project Details" width="2854" height="1612" data-path="images/api-key/project-details.png" />

## 2. Configure Domain Allowlist (Web Applications)

If you're building a web application, you need to configure allowed origins for security purposes.

### Add Allowed Origins

1. Navigate to the **Domains** tab when on the project dashboard.
2. Click **Add Origin**
3. Enter your domain(s):
   * For local development: `http://localhost:3000`
   * For production: `https://yourdomain.com`
4. Click **Save**

<img src="https://mintcdn.com/offlineprotocol/_s8GLMvNLgP2b-Cq/images/api-key/domain-allowlist.png?fit=max&auto=format&n=_s8GLMvNLgP2b-Cq&q=85&s=caf2a5618d90c234a544617eb6642bbf" alt="Domain Allowlist" width="2852" height="1606" data-path="images/api-key/domain-allowlist.png" />

> **Important:** Requests from domains not in your allowlist will be rejected. Make sure to add all environments where your app will run.

## 3. Next Steps

Now that your SDK is set up, you can:

<CardGroup cols={2}>
  <Card title="Explore the SDK documentation" icon="globe" href="/docs/id-sdk/core-modules">
    Start adding Offline Protocol React components to your app.
  </Card>

  <Card title="Build your first feature with Offline Protocol" icon="shield-halved" href="/docs/examples/social-app">
    Browse our showcase of exceptional examaples.
  </Card>
</CardGroup>

## Troubleshooting

### Common Issues

**Project ID not recognized**

* Double-check that you're using the correct Project ID from your dashboard
* Ensure the project is active and not archived

**Domain not allowed error**

* Verify your domain is added to the allowlist
* Check for typos in the domain URL (including http/https)
* Wait a few minutes after adding a domain for changes to propagate

**SDK initialization fails**

* Ensure you've installed the latest version of the SDK
* Check your network connection
* Verify your project has the necessary permissions enabled
