How the objects fit together
A customer owns accounts. An account has one balance in the ledger. Money moves as transfers, and the ledger records each one as a journal. This page names the objects and says what each points to.
Customers and accounts
A customer is a person or a business. An account is opened for one or more customers on one version of a product. Its owners array holds their ids. The first is the primary owner and is repeated as customer_id.
Every account has exactly one ledger account, named in ledger_account_id, and that is where its balance lives. It also has one or more account numbers. Each number routes payments to the account, and all of them land on the same balance.
Transfers
A transfer moves money between an account and a counterparty over a rail, or between two accounts at the bank. Each rail has its own object and id prefix. GET /transfers lists ACH, wire, realtime and book transfers in one shape.
Two ids tie a transfer to the ledger. hold_id names the hold that reserves the funds while a payment is in flight. journal_id names the journal that moved the money once it posted.
The ledger and events
Every change to a balance is a journal: debit and credit entries that balance. A hold reserves part of a balance without moving it. Journals are never edited. A correction is a new journal.
A state change also produces an event. Events are listed at /events and delivered to webhook endpoints.
Ids
An id is a type prefix, an underscore and 27 characters drawn from 0-9, A-Z and a-z. The leading characters encode the creation time, so ids of one type sort in creation order. That order is what cursor pagination pages by.
| Object | Id prefix | Owning service | Reference |
|---|---|---|---|
| Customer | cust_ | customers | The Customer object |
| Customer group | grp_ | customers | The Customer Group object |
| KYC check | kycc_ | compliance | The KYC Check object |
| Account | acct_ | accounts | The Account object |
| Account number | acno_ | accounts | The Account Number object |
| Ledger account | lacc_ | ledger | The Ledger Account object |
| Journal | jrnl_ | ledger | The Journal object |
| Hold | hold_ | ledger | The Hold object |
| ACH transfer | acht_ | payments | The ACH Transfer object |
| Wire transfer | wire_ | payments | The Wire Transfer object |
| Realtime transfer | rttr_ | payments | The Realtime Transfer object |
| Book transfer | book_ | payments | The Book Transfer object |
| Check deposit | chkd_ | payments | The Check Transfer object |
| Counterparty | cpty_ | payments | The Counterparty object |
| Event | evt_ | notifications | The Event object |