Skip to content

Treasury

Use treasury APIs to model business accounts, approval policies, payment batches, vendor movement, reconciliation, and exports.

SandboxUpdated May 28, 2026
SandboxUpdated May 28, 2026

Treasury model

Treasury objects are built around accounts, roles, approvals, payment instructions, reconciliation state, and reporting exports.

Hazina is designed for finance teams that need operator controls without losing API visibility.

Accounts

Accounts represent operational balances owned by a business, entity, project, or reserve. Account availability depends on partner rails and jurisdiction.

Create account requestjson
{
  "entityId": "ent_kenya_001",
  "label": "Operating KES account",
  "currency": "KES",
  "purpose": "vendor_payments"
}

Approvals

Approvals keep maker-checker controls close to the payment or treasury movement. Approval rules can depend on amount, currency, rail, vendor, and operator role.

StateMeaningNext action
draftInstruction is being assembledSubmit for review
pending_approvalPolicy requires one or more approvalsApprove or reject
approvedInstruction can be executedSend to rail
heldRisk, rail, or operator review is neededResolve exception

Payment batches

Payment batches group vendor, payroll-like, or treasury movements under one approval and reconciliation workflow.

POST /treasury/payment-batchesjson
{
  "sourceAccount": "acct_kes_operating",
  "description": "June vendor run",
  "payments": [
    {
      "vendorId": "ven_001",
      "amount": "120000.00",
      "currency": "KES",
      "rail": "bank_transfer"
    }
  ]
}

Reconciliation

Treasury events expose ledger state, partner rail state, and export state so finance teams do not need to reconcile from screenshots.

Related docs