Link Search Menu Expand Document
Table of contents
  1. Change Address
    1. changeaddress
  2. Delete Transactions
    1. deletetx
    2. deleteconflicttx
    3. deleteinterval
    4. keeptxnum
    5. keeptxfornblocks
  3. Consolidation
    1. saplingconsolidation / ironwoodconsolidation
    2. saplingconsolidationtxfee / ironwoodconsolidationtxfee
    3. saplingconsolidationinterval / ironwoodconsolidationinterval
    4. consolidatesaplingaddress / consolidateironwoodaddress
    5. consolidationtargetqty
  4. Sweep
    1. sweep
    2. sweepaddress
    3. sweeptxfee
    4. sweepinterval

Advanced Configuration Settings

This section is of particular interest to exchanges, miners and payment processors.

These parameters were built in order to ease wallet management automatically through the daemon, reduce wallet.dat bloat (main issue with shielded only transactions) and optimize performance.

The parameters below should be added in PIRATE.conf depending on your needs.

Note

Pirate has two shielded pools: Sapling (zs1... addresses) and Ironwood, the network upgrade that activated the Orchard shielded protocol (pirate1... addresses). Consolidation is configured per-pool; sweep and change-address routing work across both.

Change Address

changeaddress

Routes all z_sendmany change - regardless of whether the spend was made from a Sapling or Ironwood source address - to a single designated Sapling or Ironwood address, instead of letting the wallet auto-derive a fresh internal change address for each transaction.

There is no consensus rule tying a change output’s pool to the spend’s pool, so one address can be used to collect change from both.

Default is unset (auto-derived internal change address per transaction). The wallet must hold the spending key for the address you configure, and it is validated at startup - the daemon will refuse to start if the address is invalid or you don’t hold its spending key.

changeaddress=zs1.....

Note

This is of particular interest to exchanges and payment processors that want all change consolidated onto one address they actively monitor, rather than scattered across auto-generated internal addresses.

Delete Transactions

deletetx

Enables or disables transaction deletion.

Default is 0. Set to 1 to enable.

deletetx=1

deleteconflicttx

Automatically deletes conflicted (double-spent/replaced) wallet transactions as they’re detected, independently of the periodic deletion pass below.

Default is 1 (enabled). Set to 0 to disable.

deleteconflicttx=0

deleteinterval

Delete transactions every N blocks during initial block download and as new blocks arrive.

Default is 10000. Set accordingly as per your needs. For example a miner would not want to keep old transactions for more than 100 blocks.

deleteinterval=100

keeptxnum

Keep the last N transactions.

Default is 200. Set accordingly as per your needs. For example an exchange might want to keep the last 1000 transactions.

keeptxnum=1000

keeptxfornblocks

Keep transactions for at least N blocks, regardless of keeptxnum.

Default is 10000. The daemon enforces a floor of 100 blocks (one past the maximum reorg length) - values below that are silently raised to 100.

keeptxfornblocks=1000

Consolidation

Auto note consolidation merges N existing notes (zutxos) for a given address, or all addresses in a pool, into fewer notes. Sapling and Ironwood consolidation are configured and toggled independently.

Note

The old pool-agnostic consolidation, consolidationtxfee and consolidateaddress parameters have been removed. The daemon will refuse to start if it finds them in PIRATE.conf - use the per-pool parameters below instead.

saplingconsolidation / ironwoodconsolidation

Enables auto consolidation for the Sapling pool and/or the Ironwood (Orchard) pool. Enable either, both, or neither independently.

Default is 0 for both. Set to 1 to enable.

saplingconsolidation=1 ironwoodconsolidation=1

saplingconsolidationtxfee / ironwoodconsolidationtxfee

Fee amount in arrrtoshis used to send consolidation transactions for each pool.

Default is 10000 arrrtoshi (or 0.0001 ARRR) for both. A fee of 0 can also be used, but there is a chance not all 0-fee transactions will be included in blocks by miners.

Note

Having the standard txfee also helps the anonset and blends your consolidation transactions with the rest of them, rather than sticking out.

saplingconsolidationtxfee=10000 ironwoodconsolidationtxfee=10000

saplingconsolidationinterval / ironwoodconsolidationinterval

Interval in blocks between consolidation runs for each pool.

Default is roughly one week’s worth of blocks for both. Must be at least 1 if set.

saplingconsolidationinterval=1000 ironwoodconsolidationinterval=1000

consolidatesaplingaddress / consolidateironwoodaddress

Address for which notes should be consolidated, one option per pool.

Default is none, therefore all notes from every address in that pool will be consolidated to their own address.

Note

This setting is of particular interest to exchanges to consolidate notes on the zaddr(s) used for withdraws.

consolidatesaplingaddress=zs1..... consolidateironwoodaddress=pirate1.....

consolidationtargetqty

Minimum number of notes an address must hold before auto-consolidation will process it. Shared across both pools.

Default is 100. Minimum allowed value is 2.

consolidationtargetqty=20

Sweep

As opposed to consolidation, sweep moves all notes from every shielded address into one designated address. Sapling and Ironwood addresses are both supported by a single, unified set of parameters.

sweep

Default is 0. Set to 1 to enable. Setting sweepaddress also enables sweep implicitly.

sweep=1

Note

When sweep is enabled, consolidation for any pool you’ve enabled is automatically restricted to run only against the sweep address, regardless of what you set in consolidatesaplingaddress/consolidateironwoodaddress.

sweepaddress

The address to sweep funds to. Accepts either a Sapling or an Ironwood address - exactly one must be specified.

sweepaddress=zs1.....

Note

The old sweepsaplingaddress and sweepironwoodaddress parameters have been removed. The daemon will refuse to start if it finds them in PIRATE.conf - use sweepaddress for either pool instead.

sweeptxfee

Fee amount in arrrtoshis used to send sweep transactions.

Default is 10000 arrrtoshi (or 0.0001 ARRR). A fee of 0 can also be used, but there is a chance not all 0-fee transactions will be included in blocks by miners.

sweeptxfee=10000

sweepinterval

Number of blocks between automatic sweep runs.

Default is roughly 15 minutes’ worth of blocks. Must be at least 1 if set.

sweepinterval=100