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

# Production Launch

> Follow this checklist to ensure you are ready for production launch with Headless Checkout

## From Staging to Production with Headless Checkout

<Check>
  Headless checkout in production requires enablement by the Customer Success Engineering team. [Contact Crossmint's
  team](https://www.crossmint.com/contact/sales) to get access.
</Check>

<Snippet file="payments-launch-checklist-common.mdx" />

***

### Launch Checklist

1. Change all environment URLs from `staging.crossmint.com/api/2022-06-09` to `www.crossmint.com/api/2022-06-09`.
2. Change your API keys to the production versions. *Ensure your production API key has the appropriate scopes enabled, such as `orders.create`, and that all authorized domains and mobile bundle identifiers are properly configured.*
3. Update your collection ID to the production one.
4. As needed, change your passed-in props to be production ready (e.g. email, `payment`, `lineItems`).

<Accordion title="See Code Example">
  <CodeGroup>
    ```javascript {2,6,20} Production theme={null}
    // Using the REST API
    fetch("https://www.crossmint.com/api/2022-06-09/orders", {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        "x-api-key": "YOUR_PROD_API_KEY"
      },
      body: JSON.stringify({
        "recipient": {
          "email": "steve@gmail.com"
        },
        "locale": "en-US",
        "payment": {
          "receiptEmail": "steve@gmail.com",
          "method": "ethereum",
          "currency": "eth",
          "payerAddress": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
        },
        "lineItems": [
          {
            "collectionLocator": "crossmint:YOUR_PROD_COLLECTION_ID",
            "callData": {
              "totalPrice": "0.25",
              "quantity": 1
            }
          }
        ]
      })
    });
    ```

    ```javascript {2,6,20} Staging theme={null}
    // Using the REST API
    fetch("https://staging.crossmint.com/api/2022-06-09/orders", {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        "x-api-key": "YOUR_STAGING_API_KEY"
      },
      body: JSON.stringify({
        "recipient": {
          "email": "test@crossmint.com"
        },
        "locale": "en-US",
        "payment": {
          "receiptEmail": "test@crossmint.com",
          "method": "ethereum-sepolia",
          "currency": "eth",
          "payerAddress": "0x1234_payer_address"
        },
        "lineItems": [
          {
            "collectionLocator": "crossmint:YOUR_STAGING_COLLECTION_ID",
            "callData": {
              "totalPrice": "0.001",
              "quantity": 1
            }
          }
        ]
      })
    });
    ```
  </CodeGroup>
</Accordion>
