> ## Documentation Index
> Fetch the complete documentation index at: https://crossmint-devin-1787949784-wallet-docs-two-concept-model.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Staging vs Production Environments

> Understand the difference between staging and production environments before building

Crossmint's console and APIs operate in two fully separate environments:

* **Staging:** free, for development and testing. Connected to blockchain **testnets**.
* **Production:** for your live application. Connected to blockchain **mainnets**. Real assets and real costs apply.

You access them at <a href="https://staging.crossmint.com" target="_blank">[https://staging.crossmint.com](https://staging.crossmint.com)</a> and <a href="https://www.crossmint.com" target="_blank">[https://www.crossmint.com](https://www.crossmint.com)</a>.

The two environments are isolated: each has its own console login, its own API keys, and its own wallets. Data does not cross between them. You typically build your integration in staging, then replicate it in production when you are ready to launch.

<Tip>Staging provides free self-serve access to most functionality, so you can build a complete integration before spending anything.</Tip>

## Differences Between the Environments

|              | **Staging**                                                                       | **Production**                                                                                        |
| ------------ | --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| URL          | <a href="https://staging.crossmint.com" target="_blank">staging.crossmint.com</a> | <a href="https://www.crossmint.com" target="_blank">[www.crossmint.com](http://www.crossmint.com)</a> |
| API keys     | Start with `ck_staging_` (client) or `sk_staging_` (server)                       | Start with `ck_production_` (client) or `sk_production_` (server)                                     |
| Blockchains  | Testnets like Base Sepolia and Polygon Amoy                                       | Mainnets like Base and Polygon                                                                        |
| Wallets      | Live on testnets only                                                             | Live on mainnets only                                                                                 |
| Gas fees     | Sponsored by Crossmint at no cost                                                 | Sponsored by Crossmint, billed to your account                                                        |
| Tokens       | Test tokens with no value (for example, USDXM)                                    | Real assets (for example, USDC)                                                                       |
| Payments     | Test credit cards                                                                 | Real credit cards                                                                                     |
| Verification | No KYC or collection verification required                                        | KYC and collection verification required                                                              |

## Blockchain Networks and Wallet Addresses

Staging operates on testnets, and production operates on mainnets. When you create a wallet in staging on a chain like Polygon, it is deployed on the corresponding testnet (Polygon Amoy) rather than Polygon mainnet. See [Supported Chains](/introduction/supported-chains) for the mainnet and testnet targeted by each chain.

Because the two environments are isolated, a wallet you create in staging **does not share its address with production**. Addresses are derived per environment, so the same signer or configuration produces different addresses in staging and production.

This has one important consequence:

<Warning>
  Never send real (mainnet) funds to a wallet address generated in staging. Staging wallets exist only on testnets, and Crossmint cannot access or recover assets sent to that address on a mainnet. Use only test tokens with staging wallets.
</Warning>

## Gas Fees

Crossmint sponsors gas fees for wallet transactions in both environments, so your users never need to hold native tokens. In staging, this sponsorship is free. In production, Crossmint still sponsors the gas but bills the cost to your account, so it becomes a real operating expense to plan for. You can adjust or disable this behavior in the [gas sponsorship](/wallets/guides/gas-sponsorship) settings.

## Test Tokens vs Real Assets

In staging you fund wallets with test tokens that have no monetary value, so you can simulate transfers, balances, and gas without financial risk. USDXM is Crossmint's staging stablecoin — think of it as the USDC of testnets. See [Fund a Staging Wallet](/wallets/guides/fund-staging-wallet) for the ways to get it.

In production, wallets hold real assets such as USDC. USDXM is not available in production. When you move over, update any token references (for example, from `usdxm` to `usdc`) alongside the chain and API key changes below.

## Moving to Production

When your integration works in staging, launching in production requires a few deliberate changes:

1. Create a production account and project at <a href="https://www.crossmint.com/console" target="_blank">[www.crossmint.com/console](http://www.crossmint.com/console)</a>
2. Create a production API key with the scopes your integration needs
3. Update your API endpoint from `staging.crossmint.com` to `www.crossmint.com`
4. Replace your staging API key with the production key
5. Switch chains from testnets to their mainnet equivalents (for example, `base-sepolia` to `base`)
6. Replace test tokens with real assets (for example, `usdxm` to `usdc`)
7. Re-create your wallets in production, since staging wallets and their addresses do not carry over
8. Account for gas sponsorship as a real cost, and fund your wallets with real assets

## FAQ

<AccordionGroup>
  <Accordion title="Does staging activity appear in production, and vice versa?">
    No. The environments are isolated. Wallets, collections, and API keys created in one environment do not appear in the other. You typically develop in staging, then replicate and launch in production when you are ready.
  </Accordion>

  <Accordion title="Is my staging wallet address the same in production?">
    No. Wallet addresses are derived per environment, so a staging wallet has a different address than a production wallet, even with the same signer or configuration. Re-create your wallets when you move to production.
  </Accordion>

  <Accordion title="What happens if I send real funds to a staging wallet address?">
    Staging wallets live only on testnets. If you send mainnet assets to a staging wallet address, Crossmint has no wallet at that address on the mainnet and cannot access or recover the funds. Only use test tokens with staging wallets.
  </Accordion>

  <Accordion title="Do I pay for gas in staging?">
    No. Gas is sponsored for free in staging. In production, Crossmint sponsors gas by default but bills the cost to your account.
  </Accordion>
</AccordionGroup>
