Overview

Once accounts have been created, you can create transactions that affect the balance of those accounts. Bond supports both single-account transactions and account-to-account transactions:

  • Single account transactions are transactions that only affect one account in the ledger. They can be used for transactions like account funding from an external source, card transactions that withdraw funds from a single account, and rewards disbursements that add funds to a single account.
  • Account-to-account transactions are transactions that move funds from one account on the ledger to another. These can be use for peer-to-peer transactions or transactions between different accounts under a single user.

Compound Ledger also provides the option for whether the transaction should settle immediately or should settle later.

  • If the transaction is set to settle later, then after the transaction is created, it will be set to pending, with the transaction only affecting the available_balance of the account. It will then need to be settled manually with the settle API to be completed.

Note: Account-to-account transactions always settle immediately.

The following state machine diagrams make fully clear the possible transaction states that can be run

Account-to-Account Transactions

Single-Account Deposits

Instant Settlement

Delayed Settlement

Single-Account Withdrawals

Instant Settlement

Delayed Settlement