> TezBake Pay Module Setup
Command Cheatsheet
| Task | Command |
|---|---|
| Install TezPay Module | tezbake setup --pay |
| Upgrade TezPay Only | tezbake upgrade --pay |
| Verify Installation | tezbake apps |
| Generate Payouts | tezbake pay generate-payouts |
| Pay Delegators | tezbake pay pay |
| Pay with Previous Cycles | tezbake pay pay --include-previous-cycles N |
| View TezPay Logs | tezbake pay log or tezbake pay log -f |
| Check Continual Payout Status | tezbake pay continual status |
| Enable Continual Payouts | tezbake pay continual enable |
| Disable Continual Payouts | tezbake pay continual disable |
| Start TezPay | tezbake pay start or tezbake start --pay |
| Stop TezPay | tezbake pay stop or tezbake stop --pay |
| TezPay Information | tezbake info --pay |
| Remove TezPay Module | tezbake remove --pay |
Overview
TezPay is integrated directly into TezBake as the pay module, simplifying your payout process.
New Users: Please follow the steps below to create your configuration and wallet or remote signer files. Refer to the TezPay Configuration Documentation for detailed setup instructions.
Table of Contents
- Installation
- Migration for Existing TezPay Users
- Setup Guide for New Users
- Managing Payouts
- Automatic (Continual) Payouts
- Starting & Stopping TezPay
- Removing the Pay Module
Installation
Install the TezPay module:
tezbake setup --pay
Verify the installation:
tezbake apps
Ensure the output includes:
pay │ true
Migration for Existing TezPay Users
Migrating from standalone TezPay is straightforward:
- Copy your existing configuration (
config.hjson), your private key (payout_wallet_private.key) or remote signer (remote_signer.hjson) files andreportsdirectory into:
/bake-buddy/pay
Setup Guide for New Users
New users should follow these steps for proper setup:
Step 1: Creating the Configuration File (config.hjson)
Inside /bake-buddy/pay, create a new file called exactly config.hjson.
Start with the Starter Configuration and enhance it from the Sample Configuration if needed.
Minimal starter example:
{
baker_address: "tz1-your-baker-wallet-address",
payout_fee: 0.05, // 5% fee
delegator_pays_xfer_fee: true,
min_payout: 1 // minimum payout 1 XTZ
}
Step 2: Setting Up the Wallet or Remote Signer File
You have two options:
- Private key file, or
- Remote signer file.
Option A: Private Key (payout_wallet_private.key):
Create file named exactly payout_wallet_private.key inside /bake-buddy/pay.
Insert your unencrypted private key:
edsk...yourprivatekeyhere...
🚨 CRITICAL:
Use a dedicated wallet with minimal funds for payouts only. NEVER use your main baker wallet.
Option B: Remote Signer (remote_signer.hjson):
Create file named exactly remote_signer.hjson inside /bake-buddy/pay.
See Remote Signer Sample.
Managing Payouts
Manually generate payouts - display only - no payout:
tezbake pay generate-payouts
Pay:
tezbake pay pay
Reports are stored in:
/bake-buddy/pay/reports
Automatic (Continual) Payouts
Continual payouts are initially disabled.
-
Check current status:
tezbake pay continual status -
Enable continual payouts:
tezbake pay continual enable -
Disable continual payouts:
tezbake pay continual disable
Setting the Payout Interval
When using TezBake integration, the payout interval is configured in /bake-buddy/pay/app.json within the CONTINUAL configuration block.
Example /bake-buddy/pay/app.json:
{
"configuration": {
CONTINUAL: {
interval: 7
interval_trigger_offset: 0
include_previous_cycles: 7
}
},
"id": "bb-default-pay",
"type": {
"id": "tzc.tezpay",
"version": "latest"
},
"user": "primate"
}
CONTINUAL options:
interval- aggregate and pay every N cycles. Cycles must complete before being paid (e.g., interval7pays cycles 1-7 during cycle 8, then cycles 8-14 during cycle 15, etc.)interval_trigger_offset- shifts the interval start to align payments with your preferred cycle. For example, if it’s currently cycle 10 and you want to start paying during cycle 11 for the previous 7 cycles, then continue every 7 cycles, use offset3. This works because 7 is the end of the default interval, and adding 3 makes 10 the end of the interval. Instead of cycles 1-7 being paid, cycles 3-10 are paid.include_previous_cycles- number of past cycles before the current interval to check for missed payments. If any are detected, they will be included in the current batch.
Note: The
--intervalCLI flag does not work with TezBake integration. You must configure the interval inapp.json.
Starting & Stopping TezPay (continual service)
ℹ️ INFO: This applies only when continual payouts are enabled. Refer to the section above for instructions on enabling continual payouts.
-
Start TezPay:
- direct:
tezbake pay start - combined:
tezbake start --pay
- direct:
-
Stop TezPay:
- direct:
tezbake pay stop - combined:
tezbake stop --pay
- direct:
Protocol Upgrade Handling
TezPay automatically pauses continual payouts when a Tezos protocol upgrade occurs. This is a safety feature to ensure payout accuracy under the new protocol.
What Happens During Protocol Upgrades
- TezPay detects the protocol change
- Continual mode stops processing payments
- The service remains running but inactive
Restart Procedure After Protocol Upgrade
-
Update TezPay to the latest version:
tezbake upgrade --pay -
Run a dry-run to verify payouts:
tezbake pay generate-payouts -
Check for any errors in the output
-
If satisfied, restart the service:
tezbake start --pay
Note: The service may already be running but not processing. The start command ensures it resumes processing.
Catching Up Missed Payments
If payments were missed (due to downtime, protocol upgrades, or errors), use the --include-previous-cycles flag:
# Check last 5 cycles for missed payments (dry run first)
tezbake pay generate-payouts --include-previous-cycles 5
# Actually pay missed cycles
tezbake pay pay --include-previous-cycles 5
This scans previous cycles for any payouts that weren’t completed and includes them in the current batch.
TezPay Information (continual service)
View detailed information:
tezbake info --pay
Removing the Pay Module
To remove TezPay integration:
tezbake remove --pay
This does not delete configuration or reports.
References and Advanced Configuration
Examples of configuration files:
- Default: config.default.hjson
- Starter: config.starter.hjson
- Advanced Sample: config.sample.hjson
Detailed configuration guide: TezPay Configuration Documentation
Related Guides
TezPay:
- TezPay Setup - Initial TezPay setup
- Paying Delegators - Manual payout guide
- Notifications - Set up payout alerts
- Configuration Examples - Sample configs
TezBake:
- Baking on Mainnet - Baker setup guide
Any questions/comments/concerns? Please contact the Tez Capital team on Discord or Telegram