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

# Networks

> Testnet and mainnet are fully separate, end to end

Every key is issued for exactly one network — `kp_test_…` or
`kp_live_…` — and that choice reaches everything the key can see or
touch. There is no `network` field to pass yourself: it comes from which
key you used.

> [card] Testnet
>
> Real chain activity, on each chain's public testnet. Free assets,
> no financial risk, safe to script and re-run.

> [card] Mainnet
>
> Real assets with real value. Withdrawal policies, allowlists and
> approval thresholds apply exactly as configured — nothing here is
> relaxed for convenience.

## What's isolated per network

* **Entities and accounts** — a testnet customer and a mainnet customer
  with the same `externalId` are two unrelated records.
* **Balances** — a testnet balance is not a preview of a mainnet one;
  they never share a ledger.
* **Withdrawal policies and allowlists** — configure each network
  independently. An address allowed on testnet is not allowed on mainnet
  until you add it there too.
* **Webhooks** — deliveries are tagged for the network that produced
  them; a single endpoint can receive both if you register it under both
  keys.

## Moving from testnet to mainnet

Nothing about the integration changes beyond the key: same endpoints,
same request and response shapes, same error codes. When you're ready,
swap `kp_test_…` for `kp_live_…` and configure that network's policies
and allowlists — testnet's do not carry over.


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