Programs
A program is a self-contained book of accounts. Every account, transaction, and hold belongs to exactly one program, and balances never cross from one program to another. A program has a single currency, and every account inside it uses that currency. Because programs are isolated, they are a natural boundary for separating one product, one customer, or one currency from the next.
Program-scoped requests carry the program's id in the program_id header.
The program object
| Field | Type | Description |
|---|---|---|
program_id |
string | Unique identifier. |
program_name |
string | A name you choose. |
currency_code |
string | The program's ISO 4217 currency. It cannot change. |
program_type |
string | pooled or individual. |
status |
string | active or terminated. |
Choosing a program type
The type sets how you think about the funds inside a program.
- Pooled keeps funds together in shared operating accounts. It suits products where one balance backs many users, such as a platform float or a rewards wallet.
- Individual keeps a separate set of books per end customer, so each customer's funds are accounted for on their own. It suits products where money must be attributed to a specific person or business.
Operations
| Method and path | What it does |
|---|---|
POST /program |
Create a program. |
GET /programs |
List every program on your account. |
GET /program |
Retrieve the program named in the program_id header. |
PUT /program |
Rename a program. |
The API reference documents the parameters and responses for each of these.