> For the complete documentation index, see [llms.txt](https://docs.aqua.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aqua.network/developers/testing-on-testnet.md).

# Testing on testnet

Aquarius runs a full deployment on Stellar **testnet** — the AMM router, pools, and a dedicated instance of the backend API. Everything in these docs works identically on testnet; only the constants change.

### Setup

* **Constants** — the testnet router, API base URL, and RPC/Horizon endpoints are listed in [Addresses & networks](/developers/reference/addresses-and-networks.md). The [Quickstart](/developers/quickstart.md) is pre-configured for testnet.
* **Funding accounts** — testnet XLM is free from friendbot: `https://friendbot.stellar.org?addr=<PUBLIC_KEY>` funds any new account with 10,000 XLM.
* **Test assets** — testnet versions of AQUA, USDC, USDT and others are issued by the shared testnet issuer `GAHPYWLK6YRN7CVYZOO4H3VDRZ7PVF5UJGLZCSPAEIKJE2XSWF5LAGER`. Add a trustline, then acquire them by swapping testnet XLM through the AMM.

### What to expect

* **Thin liquidity.** Testnet pools hold test liquidity — quotes and slippage won't match mainnet. Use testnet to verify your integration logic, not your pricing assumptions.
* **You can create pools.** Pool creation is permissionless on testnet too, so you can set up exactly the pool configuration your tests need.

### Testnet resets

Stellar's testnet is [reset by SDF 2–4 times per year](https://developers.stellar.org/docs/learn/fundamentals/networks#testnet) (17:00 UTC, announced at least two weeks in advance) — the ledger is restored to genesis: all accounts, trustlines, claimable balances, and contract state are wiped. The network passphrase stays the same.

After each reset, Aquarius rebuilds its testnet stack. What survives and what doesn't:

| Survives a reset                                                                                                                                         | Wiped by a reset                                                          |
| -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| **Contract addresses** (router and core contracts) — redeployed deterministically: pinned deployer seed + fixed salts + the unchanged network passphrase | **All accounts, balances, and trustlines** — including your test accounts |
| **Test-asset identities** (`AQUA:GAHP…`) — the issuer keys are kept and re-provisioned                                                                   | **Claimable balances** — votes and locks                                  |
| **Endpoints** — Horizon, Soroban RPC, the testnet API URL, the network passphrase                                                                        | **Pools and their liquidity** — recreated during the rebuild              |
|                                                                                                                                                          | **Backend-indexed data** — re-indexed after the rebuild                   |

{% hint style="warning" %}
The rebuild takes time — right after a reset, expect failures until the stack is back, even though the addresses you're calling are unchanged.
{% endhint %}

If your integration suddenly fails against testnet:

1. Check whether a reset just happened (announced in advance by SDF).
2. Re-fund your test accounts via friendbot and re-create trustlines.
3. If it still fails, the rebuild may not be finished — verify against [Addresses & networks](/developers/reference/addresses-and-networks.md) or ask in [Discord](https://discord.gg/sgzFscHp4C).
