Walrus Testnet is a free, non-durable network for development and testing. Read values that change from the canonical [Network Reference](/docs/network-reference), which is the single maintained source.

> **Testnet is not durable**
>
> Testnet provides no availability or persistence guarantees, and its state can be wiped at any time without warning. Testnet WAL and SUI have no value. Do not use Testnet for production. When a wipe happens, follow [Recover after a Testnet reset](#recover-after-a-testnet-reset).
## Testnet at a glance

| **Parameter** | **Value** |
|---|---|
| Sui network | Testnet |
| Epoch duration | 1 day |
| Number of shards | 1000 |
| Maximum epochs you can buy in advance | 53 |
| WAL smallest unit | 1 WAL = 1,000,000,000 FROST |
| SUI smallest unit | 1 SUI = 1,000,000,000 MIST |

Confirm you are connected to Testnet by running `walrus info` and checking for `Epoch duration: 1day`. The same output shows current storage pricing.

Planning to move to production? See [Testnet compared with Mainnet](/docs/network-reference#how-testnet-compares-with-mainnet) for what changes, including the public publisher that Mainnet does not provide.

## Endpoints

The Mysten Labs reference endpoints for Testnet are:

| **Service** | **Endpoint** |
|---|---|
| Sui RPC | `https://fullnode.testnet.sui.io:443` |
| Aggregator | `https://aggregator.walrus-testnet.walrus.space` |
| Publisher | `https://publisher.walrus-testnet.walrus.space` |
| Upload relay | `https://upload-relay.testnet.walrus.space` |

> **Info**
>
> `https://fullnode.testnet.sui.io:443` is the Sui full node that the Walrus client and `sui client` use, and it is the value in the pre-filled Walrus configuration and the [Network Reference](/docs/network-reference#sui-rpc-endpoints). It serves Sui client and SDK traffic, not JSON-RPC method discovery, so a direct `rpc.discover` call against it can return `404` even though normal client calls succeed. Configure it through `sui client` and the Walrus configuration file rather than calling JSON-RPC methods against it by hand.
Many community operators also run public Testnet aggregators and publishers. For the maintained community list and the canonical copy of the endpoints above, see [Aggregators and publishers](/docs/network-reference#aggregators-and-publishers) and [Upload relays](/docs/network-reference#upload-relays) in the Network Reference. Most public endpoints limit requests to 10 MiB.

## Object and package IDs

Testnet object and package IDs are volatile: package IDs change whenever the Testnet contracts are redeployed. To avoid stale copies, read them from the canonical, maintained sources rather than pinning a value:

- **System and staking object IDs:** see [System and staking object IDs](/docs/network-reference#system-and-staking-object-ids).
- **SUI/WAL exchange objects:** used by `walrus get-wal`, listed under [System and staking object IDs](/docs/network-reference#system-and-staking-object-ids).
- **Walrus Sites package ID:** see [Walrus Sites packages](/docs/network-reference#walrus-sites-packages).
- **Current Testnet package IDs:** read them from the `Move.lock` files in the [`testnet-contracts` directory on GitHub](https://github.com/MystenLabs/walrus/tree/main/testnet-contracts).

These values are also pre-filled in the client configuration file, which is the authoritative source if anything differs.

## Tokens and faucets

Testnet uses free test tokens. You need SUI for gas and WAL for storage.

1. Get Testnet SUI from the [Sui faucet](https://faucet.sui.io/). Select Testnet and paste your address from `sui client active-address`. The faucet is rate limited; see [Sui faucet alternatives](https://docs.sui.io/guides/developer/getting-started/get-coins).
2. Exchange SUI for WAL at a 1:1 rate by running `walrus get-wal --context testnet`. You can also exchange through the [Walrus staking app](https://stake-wal.wal.app) with **Get WAL**.

3. Confirm your balances:

   ```sh
   $ sui client balance
   ```

> **Use the official exchange flow**
>
> Third-party Testnet WAL faucets might distribute WAL from a package the client rejects. Use `walrus get-wal` or the staking app so the WAL package matches what the Walrus client expects.
## Configuration

Download the pre-filled client configuration, which includes both the Testnet and Mainnet contexts and defaults to Testnet:

```sh
$ curl --create-dirs https://docs.wal.app/setup/client_config.yaml -o ~/.config/walrus/client_config.yaml
```

A Testnet-only version is available at `https://docs.wal.app/setup/client_config_testnet.yaml`. Because Testnet is the default context, you do not need to pass `--context testnet` on every command, though this reference includes it to be explicit. For the full configuration reference and snippets, see [Configuration snippets](/docs/network-reference#configuration-snippets).

## Recover after a Testnet reset

When Testnet is wiped or your client stops connecting, the cause is almost always an outdated configuration or a client pointed at the wrong network. Work through these steps:

1. **Re-download the configuration file.** The system object and package IDs change on redeployment, so a stale `client_config.yaml` is the most common failure:

   ```sh
   $ curl --create-dirs https://docs.wal.app/setup/client_config.yaml -o ~/.config/walrus/client_config.yaml
   ```

2. **Confirm the Sui client targets Testnet.** Check the active environment with `sui client active-env`, and switch if needed with `sui client switch --env testnet`.

3. **Verify connectivity.** Run `walrus info` and confirm `Epoch duration: 1day`.

4. **Re-fund if balances were reset.** After a wipe, re-run the [faucet and exchange steps](#tokens-and-faucets).

5. **Re-upload your data.** Testnet does not persist blobs across a wipe. Blobs stored before a reset are gone and must be stored again.

Common errors and what they mean:

| **Symptom** | **Most likely cause** | **Fix** |
|---|---|---|
| `walrus info` fails | Stale config or wrong network | Re-download config, switch Sui env to Testnet |
| `could not retrieve enough confirmations to certify the blob` | Config points at an old committee | Re-download config |
| `the specified Walrus system object does not exist` | System object changed after a redeploy | Re-download config |
| `404` reading a blob just after upload | CDN cached a pre-propagation `404` | Retry with backoff, see [Reading Blobs Right After Upload](/docs/troubleshooting/reading-blobs-after-upload) |

For the full list of errors and fixes, see the [Troubleshooting guide](/docs/troubleshooting).

## References

- [Getting Started with Walrus](/docs/getting-started)
- [Network Reference](/docs/network-reference)
- [Troubleshooting](/docs/troubleshooting)