What you’ll need
- Your written treasury policy or the decisions it would contain.
- Owner or admin access to the console with dual control enabled.
- The addresses of approved counterparties.
Components to configure
Steps
1
Enable dual control first
Turn on Dual control before configuring anything else, so the rest of the configuration (and any later loosening) needs a second administrator.
2
Build the address book and enforce it
Add every approved counterparty to the Address Book with a label your auditors will recognise, then enable Only allow whitelisted addresses. Set the new address timelock to the notice period your policy requires for new counterparties.
3
Set the limits
Set Per transaction and Per day to your policy’s ceilings. Requests above either are rejected outright, before any approval logic; approvals cannot override a limit.
4
Set the approval threshold
Enable Require approval to withdraw, set Require above amount, and choose the approval group and Approvers needed. Below the threshold, withdrawals proceed automatically inside the limits; above it, they wait.
5
Decide the drift behaviour
Choose whether a discrepancy between the platform ledger and chain state blocks withdrawals or only alerts. Regulated treasuries generally block.
6
Test against the sandbox, then document
Replay each policy clause as a sandbox withdrawal and record the outcome (rejected, held, or allowed) as your control-test evidence. The audit log records each configuration change with the two administrators who made it.
Considerations
- The order of evaluation is: scope of the key → freeze → destination rules → limits → approval → signing. A request stops at the first control it fails and the reason is returned to the caller.
- Limits are evaluated against the platform’s ledger of outbound value in the asset’s units; keep them per asset in mind when a treasury holds several.
- Loosening a rule takes effect for new requests only; a withdrawal already held for approval is evaluated under the rules in force when it was requested.
Related
- Build programmable approval policies
- Policies & approvals: every control in detail.
- Automate payments

