# Environments

RoamWorks runs two isolated environments. An account, API key, wallet and order belongs to exactly one environment and cannot be used in the other.

## Hosts

| Surface | Production | Sandbox |
| --- | --- | --- |
| Partner dashboard | https://partners.roamworks.io/partners | https://sandbox.partners.roamworks.io/partners |
| API base | https://roamworks.tech/v1 | https://sandbox.roamworks.tech/v1 |
| OpenAPI | https://roamworks.io/docs/openapi/v1.json | same document |
| Documentation | https://roamworks.io/docs | same document |

roamworks.tech is an API-only host. It does not serve the marketing site or the documentation portal.

## Keys

- Production keys use the live environment and can move real wallet funds.
- Sandbox keys use the sandbox environment and are for integration testing.
- The API ID is public; the secret is shown once.
- A key presented to the wrong host returns <code>401 invalid_key</code> or <code>403 environment_mismatch</code>.
- Revoke and rotate keys in the partner dashboard. Never ship a secret in a browser, mobile binary or public repository.

## Data

Sandbox accounts, wallets, quotes, orders and call history are separate from production. Sandbox wallet funding is disabled. Do not use sandbox data for reconciliation.

## Funding

Production wallet funding is enabled on the live host through Stripe Checkout. Sandbox funding stays disabled so test activity cannot move real money. The API never receives card details; Checkout returns a hosted Stripe URL. See [Wallet](/docs/wallet) and [Agent payment](/docs/agent-payment).

## Related

- [Quickstart](/docs/quickstart)
- [Authentication](/docs/authentication)
- [Limits and quotas](/docs/limits-and-quotas)
