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

# Sandbox Projects

> Test your integration risk-free with fake Bitcoin in a sandbox environment

Every developer's journey with ZBD starts in the sandbox. It's your risk-free playground where you can test payments, break things, and perfect your integration before touching real money.

<Info>
  **Default Environment**: All new projects start as sandbox projects. This protects you from accidentally spending real Bitcoin while learning the platform.
</Info>

## What Makes Sandbox Special

<CardGroup cols={2}>
  <Card title="Fake Bitcoin" icon="bitcoin">
    10,000 free satoshis to start, top up anytime
  </Card>

  <Card title="Test Users" icon="users">
    Pre-created users with wallets for end-to-end testing
  </Card>
</CardGroup>

### Visual Indicators

Sandbox projects are clearly marked to prevent confusion:

<Frame caption="Sandbox projects show clear labeling in the dashboard">
  <img src="https://mintcdn.com/zbd/9qd8gBIbihN5TscS/img/v2/devdash/sandbox-project-created.png?fit=max&auto=format&n=9qd8gBIbihN5TscS&q=85&s=b6ca78e3f35ac3637ef82e23921036ba" alt="Sandbox Project Created" width="2994" height="1670" data-path="img/v2/devdash/sandbox-project-created.png" />
</Frame>

Look for:

* 🧪 **"Sandbox" label** on project cards
* 🎮 **Test Bitcoin balance** (not real money!)
* 👥 **Test Users tab** only in sandbox
* 🔑 **Sandbox API endpoints** in documentation

## Sandbox Architecture

```mermaid theme={null}
graph LR
    A[Your App] -->|Sandbox API Key| B[ZBD Sandbox]
    B --> C[Fake Lightning Network]
    B --> D[Test User Wallets]
    B --> E[Simulated Payments]
    
    style B fill:#ffeb3b,stroke:#333,stroke-width:2px
    style C fill:#fff9c4,stroke:#333,stroke-width:2px
    style D fill:#fff9c4,stroke:#333,stroke-width:2px
    style E fill:#fff9c4,stroke:#333,stroke-width:2px
```

## Getting Started with Sandbox

### Your First Sandbox Project

When you create your first project, you'll automatically get:

<Steps>
  <Step title="Sandbox Wallet">
    Pre-funded with 10,000 fake satoshis
  </Step>

  <Step title="Sandbox API Key">
    Works only with sandbox endpoints
  </Step>

  <Step title="Test Users">
    5 pre-created users with ZBD gamertags
  </Step>

  <Step title="Full API Access">
    All payment features available for testing
  </Step>
</Steps>

### Test Users

Click the **Test Users** tab to see your pre-created testing accounts:

<Frame caption="Pre-created test users for payment testing">
  <img src="https://mintcdn.com/zbd/9qd8gBIbihN5TscS/img/v2/devdash/sandbox-test-users.png?fit=max&auto=format&n=9qd8gBIbihN5TscS&q=85&s=4d7925c46efddb627b595c7ce2f90f1f" alt="Sandbox Test Users" width="2994" height="1670" data-path="img/v2/devdash/sandbox-test-users.png" />
</Frame>

Each test user has:

* Unique ZBD Gamertag
* Test wallet with balance
* Ability to receive payments
* Full transaction history

**Example Test Users**:

```
- SandboxUser1#7823
- TestPlayer42#1337  
- DevTester99#2024
```

## Topping Up Your Sandbox

Running low on fake satoshis? Add more instantly:

<Frame caption="Top up your sandbox wallet with one click">
  <img src="https://mintcdn.com/zbd/9qd8gBIbihN5TscS/img/v2/devdash/sandbox-topup-wallet.png?fit=max&auto=format&n=9qd8gBIbihN5TscS&q=85&s=14114a0426e16dfce720f40d403f01fe" alt="Topup Sandbox Wallet" width="2994" height="1670" data-path="img/v2/devdash/sandbox-topup-wallet.png" />
</Frame>

<CardGroup cols={2}>
  <Card title="Instant Top-up" icon="plus">
    Click "Top Up" for +10,000 sats instantly
  </Card>

  <Card title="Unlimited Refills" icon="infinity">
    No limits - top up as many times as needed
  </Card>
</CardGroup>

## Sandbox API Endpoints

Sandbox uses separate endpoints to ensure you never accidentally mix test and production:

```
Base URL: https://sandbox-api.zbdpay.com

Example endpoints:
- /v0/gamertag/send
```

<Warning>
  **Currently Limited**: Only the Send to Gamertag API is available in sandbox. For full API testing, complete verification for production access.
</Warning>

## Testing Payments in Sandbox

Let's send your first test payment:

### 1. Get Your Sandbox API Key

<Frame caption="Copy your sandbox API key from the API tab">
  <img src="https://mintcdn.com/zbd/9qd8gBIbihN5TscS/img/v2/devdash/sandbox-api-key.png?fit=max&auto=format&n=9qd8gBIbihN5TscS&q=85&s=568233c5572dded490eb609d524685e2" alt="Sandbox API Key" width="2564" height="1690" data-path="img/v2/devdash/sandbox-api-key.png" />
</Frame>

### 2. Send Test Payment

Use the API Playground or your own code:

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://sandbox-api.zbdpay.com/v0/gamertag/send \
    -H "apikey: YOUR_SANDBOX_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "gamertag": "SandboxUser1#7823",
      "amount": "100",
      "description": "Test payment!"
    }'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://sandbox-api.zbdpay.com/v0/gamertag/send', {
    method: 'POST',
    headers: {
      'apikey': process.env.SANDBOX_API_KEY,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      gamertag: 'SandboxUser1#7823',
      amount: '100',
      description: 'Test payment!'
    })
  });

  const result = await response.json();
  console.log('Payment sent!', result);
  ```
</CodeGroup>

### 3. Verify Success

Check your sandbox wallet to see the transaction:

<Frame caption="Transaction appears instantly in your sandbox wallet">
  <img src="https://mintcdn.com/zbd/9qd8gBIbihN5TscS/img/v2/devdash/sandbox-wallet-post-tx.png?fit=max&auto=format&n=9qd8gBIbihN5TscS&q=85&s=9f0beaba5a3f8766d23aba9de10e5260" alt="Sandbox Wallet After Transaction" width="2994" height="1670" data-path="img/v2/devdash/sandbox-wallet-post-tx.png" />
</Frame>

Click on the transaction for full details:

<Frame caption="Detailed view of sandbox transactions">
  <img src="https://mintcdn.com/zbd/9qd8gBIbihN5TscS/img/v2/devdash/sandbox-tx-details.png?fit=max&auto=format&n=9qd8gBIbihN5TscS&q=85&s=19658cdbaf23b759eff008e895ec990c" alt="Sandbox Transaction Details" width="2994" height="1670" data-path="img/v2/devdash/sandbox-tx-details.png" />
</Frame>

## Transitioning to Production

Ready to handle real money? Here's your checklist:

<Steps>
  <Step title="Complete Testing">
    * All payment flows tested
    * Error handling verified
    * Webhook integration working
    * Performance acceptable
  </Step>

  <Step title="Verify Identity">
    Complete KYB process for production access
  </Step>

  <Step title="Create Production Project">
    New project with production API key
  </Step>

  <Step title="Update Your Code">
    * Change API endpoints
    * Update API key
    * Enable production monitoring
    * Set up error alerts
  </Step>

  <Step title="Go Live!">
    Start with small real transactions
  </Step>
</Steps>

## Troubleshooting Sandbox

<CardGroup cols={2}>
  <Card title="API Key Not Working" icon="key">
    Ensure you're using sandbox endpoints with sandbox keys
  </Card>

  <Card title="Can't Find Test Users" icon="users">
    Test Users tab only appears in sandbox projects
  </Card>

  <Card title="Need More APIs" icon="code">
    Complete verification for full API access in production
  </Card>

  <Card title="Webhook Issues" icon="lucide:webhook">
    Sandbox webhooks work identically to production
  </Card>
</CardGroup>

## Next Steps

You've mastered the sandbox! Time to level up:

<CardGroup cols={2}>
  <Card title="Verify Identity" icon="user-check" href="/bitcoin/start/verify-identity">
    Complete KYB for production access
  </Card>

  <Card title="API Reference" icon="book" href="/bitcoin/api">
    Explore all available endpoints
  </Card>

  <Card title="Go Production" icon="rocket" href="/bitcoin/start/create-project">
    Create your first production project
  </Card>
</CardGroup>

***

<Note>
  **Remember**: Sandbox is your friend. Test everything here first. Break things, experiment, and learn. That's what it's for! When you're confident everything works, production is just an endpoint change away.
</Note>


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