Using Testnet
XRPL Request supports the XRP Ledger Testnet, letting you build and test signing flows without using real funds. The signing page clearly labels Testnet requests so users know nothing of real value is involved.
Testnet and Mainnet are selected per API key. A single project can have both — one key for development, one for production.
Getting started
Create a Testnet API key
In the dashboard, open your project and
scroll to API Keys. Select Testnet in the network selector, then click
Create New Key and give it a name like Development.
Testnet keys use the prefix xrplr_test_ so they’re easy to distinguish
from Mainnet keys (xrplr_live_).
Get a Testnet wallet and funds
You need a wallet funded with Testnet XRP. Use the official faucet:
- XRPL Testnet Faucet — generates a funded account instantly
Most supported wallets have a Testnet mode. Check your wallet’s settings to switch networks before signing.
Use your Testnet key in development
const client = new XRPLRequest({
apiKey: process.env.XRPL_REQUEST_TEST_KEY, // xrplr_test_...
});
const payload = await client.payloads.create({
type: "signAndSubmit",
transaction: {
TransactionType: "Payment",
Destination: "rTestDestination...",
Amount: "1000000", // 1 XRP (test funds)
},
});
// The signing page will show a Testnet warning badge automatically
console.log(payload.signingUrl);
console.log(payload.network); // "testnet"Sign in your Testnet wallet
Open the signing URL. You’ll see a yellow Testnet banner confirming no real funds are involved. Connect your Testnet wallet and approve.
Verify on the Testnet explorer
After signing, check the transaction on the Testnet explorer:
https://testnet.xrpl.org/transactions/{txHash}Switching to Mainnet
When you’re ready to go live, swap your environment variable to your
Mainnet key (xrplr_live_...). No other code changes are needed — the
network is resolved from the key automatically.
# .env.development
XRPL_REQUEST_API_KEY=xrplr_test_...
# .env.production
XRPL_REQUEST_API_KEY=xrplr_live_...Wallet Testnet compatibility
Not all wallets support switching to Testnet. Check the table below before testing:
| Wallet | Testnet support |
|---|---|
| Xyra | ✅ Select network in settings |
| Xaman | ✅ Select network in settings |
| Crossmark | ✅ Dev mode supports Testnet |
| GEM Wallet | ✅ Network switcher in extension |
| WalletConnect | ⚠️ Depends on the connected wallet |
| Ledger | ⚠️ Requires manual network config |
| Otsu | ❓ Check extension settings |
If a wallet is set to Mainnet but the payload is for Testnet (or vice versa), the wallet may show an error or sign against the wrong network. Always ensure your wallet’s network matches the key you’re using.
FAQ
Can I use the same project for Mainnet and Testnet?
Yes. Create one key per network within the same project. Keep them in separate environment variables and never mix them.
Do Testnet payloads count toward my monthly quota?
Yes — Testnet payloads count the same as Mainnet payloads toward your plan’s monthly limit.
Can I change a key’s network after creation?
No. Network is fixed at key creation. Create a new key if you need a different network.
Will webhook deliveries work on Testnet?
Yes. Webhooks fire for all payload events regardless of network. The
webhook body includes a network field so you can distinguish them in
your handler.