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

# Environments

> Neutron is the sandbox and Photon is production. Build against Neutron.

Photon has two environments. They run the same API but keep separate data, accounts and credentials.

| | **Neutron** (sandbox) | **Photon** (production) |
| - | - | - |
| Use it for | Building and testing | Real patients and real prescriptions |
| Prescriptions | Never sent to a real pharmacy | Sent to pharmacies |
| Patients | Fake ones only | Real |
| Credentials | Free with every sandbox account | A paid feature |
| Prescribe app | [rx.neutron.health](https://rx.neutron.health) ⚠️ | [rx.new](https://rx.new) |
| [Dashboard](/docs/dashboard) | [app.neutron.health/settings](https://app.neutron.health/settings) | [app.photon.health/settings](https://app.photon.health/settings) |

<Tip>
  Build everything against Neutron. Every link and example in these docs points there unless it says otherwise.
</Tip>

## URLs

Every URL follows from the environment's name, so switching environments means changing one word. The one exception is the Prescribe app, which is `rx.new` in production.

| Service | Neutron | Photon |
| - | - | - |
| GraphQL | `https://network.neutron.health/graphql` | `https://network.photon.health/graphql` ⚠️ |
| MCP ([private preview](/docs/network/mcp)) | `https://network.neutron.health/mcp` ⚠️ | `https://network.photon.health/mcp` ⚠️ |
| Prescribe app | `https://rx.neutron.health` ⚠️ | `https://rx.new` |
| Sign-in (Auth0) | `auth.neutron.health` | `auth.photon.health` |
| Token audience | `https://api.neutron.health` | `https://api.photon.health` |

<Warning>
  ⚠️ **Not live yet.** `network.photon.health/graphql` returns a 403 for POST requests. MCP still runs at `ai.<env>.health`. `rx.neutron.health` returns a 404.
</Warning>

## In code

Prescribe and the JavaScript client take the environment's name:

<CodeGroup>
  ```tsx React theme={"dark"}
  <PhotonProvider clientId="YOUR_CLIENT_ID" environment="neutron">
  ```

  ```ts JavaScript theme={"dark"}
  const ph = photon({ environment: "neutron", auth: { clientId: "YOUR_CLIENT_ID" } });
  ```
</CodeGroup>

<Warning>
  `PhotonProvider` defaults to production (`photon`). Set `environment="neutron"` while you build.
</Warning>

For GraphQL or MCP, use the URLs above.

## Going live

1. [Request a production account](https://photonhealth.com/onboard#clinic), or email [sales@photon.health](mailto:sales@photon.health) to talk through your use case.
2. Get production credentials from [app.photon.health](https://app.photon.health/settings/developers). Sandbox credentials don't work in production.
3. Change the environment from `neutron` to `photon`: the `environment` prop, or the hostnames for GraphQL and MCP.
4. Add your production domain to your Application credential's allowed URLs.
5. Set up your [webhooks](/docs/network/webhooks) in production too.


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