Testnet Starter Configs
Use these examples as config.hjson for TezPay testnet payouts. Replace the baker address first, then adjust the payout fee, minimum payout amount, and delegator minimum balance for your own policy.
The examples use payouts.wallet_mode: local-private-key, which expects a matching payout_wallet_private.key file in the same TezPay folder. If you use a remote signer, change payouts.wallet_mode to remote-signer and provide remote_signer.hjson.
⚠️ WARNING: Keep Testnet Keys Separate
Do not reuse mainnet payout keys, signer files, TezSign cards, Ledger devices, or funded baker wallets for testnet payout testing. Use separate testnet-only key material and a payout wallet that only holds test tez.
Choose a Testnet
| Network | Best for | Trade-off |
|---|---|---|
| Bakingnet | Long-running, production-style payout testing | Slower feedback than short-cycle testnets |
| Ushuaianet | Fast setup, registration, activation, and payout tests | Short cycles are less representative of a steady production baker |
💡 TIP: Use Ushuaianet when you need a quick end-to-end payout rehearsal. Use Bakingnet when you want a longer-running testnet setup that behaves more like an operational baker.
Before You Use a Config
- Replace
bakerwith your testnet baker address. - Confirm
payouts.wallet_modematches the wallet file you plan to use. - Put
payout_wallet_private.keyorremote_signer.hjsonin the same TezPay folder asconfig.hjson. - Fund the payout wallet with test tez before trying a testnet payout.
- Run a dry-run first:
./tezpay generate-payoutsfor standalone TezPay, ortezbake pay generate-payoutsfor TezBake integration.
ℹ️ INFO: The
rpc_pool,tzkt_url, andexplorervalues below are network-specific. Copy the whole block for the network you are testing rather than mixing endpoints between testnets.
Bakingnet
Bakingnet is the recommended long-running baker testnet for most production-style testing. Current network details are listed on Teztnets.
{
tezpay_config_version: 0
baker: "tz1-your-bakingnet-baker-address"
payouts: {
wallet_mode: local-private-key
fee: 0.05
baker_pays_transaction_fee: true
minimum_payout_amount: 0.01
}
delegators: {
requirements: {
minimum_balance: 0.5
}
}
network: {
rpc_pool: [
"https://rpc.bakingnet.teztnets.com"
]
tzkt_url: "https://api.bakingnet.tzkt.io/"
explorer: "https://bakingnet.tzkt.io/"
}
overdelegation: {
protect: true
}
}
Ushuaianet
Ushuaianet has short cycles and is useful for rapid setup, registration, activation, and payout testing. Current network details are listed on Teztnets.
💡 TIP: Ushuaianet is the quickest path for checking that TezBake registration, TezPay configuration, and payout execution all line up before you repeat the process on a slower network.
{
tezpay_config_version: 0
baker: "tz1-your-ushuaianet-baker-address"
payouts: {
wallet_mode: local-private-key
fee: 0.05
baker_pays_transaction_fee: true
minimum_payout_amount: 0.01
}
delegators: {
requirements: {
minimum_balance: 0.5
}
}
network: {
rpc_pool: [
"https://rpc.ushuaianet.teztnets.com"
]
tzkt_url: "https://api.ushuaianet.tzkt.io/"
explorer: "https://ushuaianet.tzkt.io/"
}
overdelegation: {
protect: true
}
}
After Saving config.hjson
Run a dry-run before sending any payments. Use the command that matches how TezPay is installed.
Standalone TezPay:
./tezpay generate-payouts
TezBake integration:
tezbake pay generate-payouts
If the dry-run output looks correct, send a small testnet payout before relying on continual mode.
Standalone TezPay:
./tezpay pay
TezBake integration:
tezbake pay pay
Related Configs
For mainnet or advanced options, use the upstream TezPay examples: