A comprehensive collection of Bash scripts for managing and interacting with Tezos baking operations using Octez client tools. Fully compatible with Seoul protocol featuring 10-second blocks, enhanced staking mechanisms, and native multisig support.
- Seoul Protocol Compatible: Updated for 10s blocks (24,576 blocks/cycle)
- Enhanced Staking: Full support for Seoul's improved staking operations
- Native Multisig: Built-in multisig account management
- Adaptive Issuance: Comprehensive monitoring and analysis tools
- Interactive Workflows: Menu-driven scripts for complex operations
- Automated Testing: Compatibility verification tools
Before running these scripts, ensure you have:
- Octez: Latest version with Seoul protocol support
- Network Access: Connection to Tezos mainnet or testnet
- Addresses: Baker address and staker addresses configured
- Permissions: Ability to execute bash scripts
- Dependencies: jq,bcfor JSON processing and calculations
# Verify Octez installation
octez-client --version
octez-admin-client --version
# Check network connectivity
octez-client rpc get /chains/main/blocks/head/helpers/current_level- adaptive_issuance.sh- Comprehensive adaptive issuance monitoring and analysis
- time-to-next-cycle.sh- Cycle timing calculations (Seoul 10s blocks)
- stake.sh- Stake tez to addresses
- balances.sh- Check account balances
- transfer.sh- Transfer operations
- unstake-workflow.sh- Interactive unstaking workflow with validation
- native-multisig.sh- Native multisig account management
- test-compatibility.sh- Seoul protocol compatibility testing
- baker-transactions.sh- Baker transaction history
- baker-stake.sh- Baker staking operations
- baker-data-diffs.sh- Baker data comparison
- staking-balance-histories.sh- Historical staking data
- rewards.sh- Reward calculations
- staker-transactions.sh- Staker transaction monitoring
- common.sh- Shared configuration and functions
git clone <repository-url>
cd Octez-Client-Bash-Scripts
chmod +x *.shEdit common.sh with your addresses:
# Update these with your actual addresses
baker_address="tz1your_baker_address_here"
staker_addresses=(
    "tz1your_staker_address_1"
    "tz1your_staker_address_2"  
    "tz1your_staker_address_3"
)The scripts require access to a Tezos node. Choose one of these options:
Run your own Tezos node locally:
# Download and run Octez node
# Replace with latest Octez version if needed
wget https://github.com/tezos/tezos/releases/download/latest/octez-binaries-x86_64.tar.gz
tar -xf octez-binaries-x86_64.tar.gz
export PATH=$PWD:$PATH
# Initialize and start the node
octez-node config init --data-dir ~/.tezos-node --network mainnet
octez-node run --data-dir ~/.tezos-node --rpc-addr 127.0.0.1:8732Advantages:
- Full control and privacy
- Better performance for baking operations
- No dependency on external services
- Required for secure baking
Use public RPC endpoints (NOT for baking):
# Configure octez-client to use remote endpoint
octez-client --endpoint https://mainnet.api.tez.ie config update
# Or use other public endpoints:
# octez-client --endpoint https://rpc.tzbeta.net config update
# octez-client --endpoint https://mainnet.smartpy.io config updateConnect to your own remote node:
# Configure for custom remote node
octez-client --endpoint http://your-node-ip:8732 config update
# Or with authentication
octez-client --endpoint https://your-node-domain.com config update# Test connection
octez-client rpc get /chains/main/blocks/head/helpers/current_level
# Check node sync status
octez-client rpc get /chains/main/blocks/head/header
# View current configuration
octez-client config show./test-compatibility.sh# Monitor adaptive issuance
./adaptive_issuance.sh
# Check cycle timing
./time-to-next-cycle.sh
# Interactive unstaking workflow
./unstake-workflow.sh
# Native multisig management  
./native-multisig.shCreate and manage multisig accounts directly in the protocol:
./native-multisig.sh
# Interactive menu for:
# - Creating multisig accounts
# - Preparing transactions  
# - Collecting signatures
# - Executing transactionsSeoul protocol provides improved staking with new commands:
# Check staking balances
octez-client get staked balance for <address>
octez-client get full balance for <address>
# Staking operations
octez-client stake <amount> for <delegate>
octez-client unstake <amount> for <delegate>  
octez-client finalize unstake for <delegate>Complete interactive unstaking process:
./unstake-workflow.sh
# Guided workflow including:
# - Setting staking limits
# - Unstaking procedures
# - Finalization timing
# - Fund transfers$ ./adaptive_issuance.sh
Cycle:850 Level:20971520
Baker: tz1hyVeFrkoDG1eFTaQZoYKC93hGUdRVes4D
Liquid balance: 15000.50 κ©
Staked balance: 85000.75 κ©  
Full balance: 100001.25 κ©
Active Staking Parameters:
{
  "limit_of_staking_over_baking_millionth": 5000000,
  "edge_of_baking_over_staking_billionth": 150000000
}
Current Yearly Rate: 4.52%
Issuance Per Minute: 85.33 κ©
Total Frozen Stake: 875,432,100.50 κ©$ ./time-to-next-cycle.sh
Cycle:850 Level:20971520
Levels done this cycle: 15360
Levels to next cycle: 9216
Minutes to next cycle: 1536  
Hours to next cycle: 25.6If upgrading from Oxford protocol, see SEOUL_MIGRATION_NOTES.md for:
- Timing calculation updates (15s β 10s blocks)
- New staking command syntax
- Native multisig migration
- Compatibility testing procedures
# Test Seoul compatibility
./test-compatibility.shCommand not found errors:
# Ensure Octez is in PATH
export PATH=$PATH:/path/to/octez/bin
# Or create symlinks
ln -s /path/to/octez-client /usr/local/bin/Connection errors:
# Check node status
octez-client rpc get /chains/main/blocks/head/helpers/current_level
# Verify network connection
octez-client config showTiming calculation errors:
- Scripts automatically use Seoul constants (10s blocks, 24576 blocks/cycle)
- If using custom network, update BLOCK_TIME_SECONDSandBLOCKS_PER_CYCLEincommon.sh
Permission denied:
chmod +x *.sh- Test compatibility first: ./test-compatibility.sh
- Check configuration: Review addresses in common.sh
- Verify network: Ensure node is synced and accessible
- Read migration notes: SEOUL_MIGRATION_NOTES.md
How to Use:
- Open this repository in Cursor workspace (essential for optimal assistance)
- Copy the entire prompt below
- Paste it into a new Claude Sonnet conversation in Cursor
- Replace [DESCRIBE YOUR SPECIFIC QUESTION OR TASK HERE]with your actual question
- Get personalized assistance tailored to this repository!
Copy and paste this prompt:
I'm working with the Octez-Client-Bash-Scripts repository, a comprehensive collection of Bash scripts for managing Tezos baking operations with Seoul protocol compatibility. 
**Repository Overview:**
- Seoul protocol compatible (10-second blocks, 24,576 blocks/cycle)
- Enhanced staking mechanisms and native multisig support
- Adaptive issuance monitoring and analysis tools
- Interactive workflows for complex operations
**Available Scripts:**
Core Scripts:
- adaptive_issuance.sh: Comprehensive adaptive issuance monitoring and analysis
- time-to-next-cycle.sh: Cycle timing calculations (Seoul 10s blocks)
- stake.sh: Stake tez to addresses
- balances.sh: Check account balances
- transfer.sh: Transfer operations
Seoul Protocol Features:
- unstake-workflow.sh: Interactive unstaking workflow with validation
- native-multisig.sh: Native multisig account management
- test-compatibility.sh: Seoul protocol compatibility testing
Baker Management:
- baker-transactions.sh: Baker transaction history
- baker-stake.sh: Baker staking operations
- baker-data-diffs.sh: Baker data comparison
- staking-balance-histories.sh: Historical staking data
Utility Scripts:
- rewards.sh: Reward calculations
- staker-transactions.sh: Staker transaction monitoring
- common.sh: Shared configuration and functions
**Key Features:**
- Seoul protocol timing (10s blocks vs Oxford's 15s blocks)
- Native multisig account creation and management
- Enhanced staking operations (stake, unstake, finalize unstake)
- Adaptive issuance monitoring with real-time calculations
- Interactive menu-driven workflows
- Automated compatibility testing
**Configuration:**
- Baker and staker addresses configured in common.sh
- Protocol constants: BLOCK_TIME_SECONDS=10, BLOCKS_PER_CYCLE=24576
- Requires octez-client and octez-admin-client in PATH
- Dependencies: jq, bc for JSON processing and calculations
Please help me with: [DESCRIBE YOUR SPECIFIC QUESTION OR TASK HERE]
Some examples of what I might need help with:
- Setting up and configuring the scripts for my baker
- Understanding Seoul protocol differences from Oxford
- Troubleshooting specific script errors
- Optimizing staking strategies using the tools
- Creating custom workflows combining multiple scripts
- Understanding the adaptive issuance data and calculations
- Setting up native multisig accounts
- Migrating from Oxford protocol configurations
- SEOUL_MIGRATION_NOTES.md- Complete migration guide
- common.sh- Configuration and helper functions
- Individual scripts - Each contains usage examples in comments
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Test with ./test-compatibility.sh
- Submit a pull request
MIT License - see LICENSE file for details.
- Tezos Foundation for the Octez client tools
- Seoul protocol development team
- Community contributors and testers
Octez-Client-Bash-Scripts - Making Tezos baking operations simple and efficient with Seoul protocol support.