A project is the first item you create. Projects store customer records and wallets that are linked to one application or focus on one idea. Transactions are available only for wallets within one project.
An asset can be anything of value owned by someone, such as virtual or real currencies, bonus points, or subway rides. Inventory items like water bottles, bags of coffee beans, or packets of sugar can also be assets. Asset amounts are stored in wallets.
A customer is a record that reflects your existing users and enables you to create wallets for them. Basically, customers own wallets. You decide how you map customers into your system. People, devices, vehicles, or appliances that contain value can act as customers. We respect your users' privacy and only ask you to provide an ID that you can later identify and map back to the user in your system.
A wallet stores value, as well as the user’s balance history. Each wallet belongs either to a customer or to you (then it is called a system wallet). Assign as many wallets to your users or devices as you’d like. The wallet balance can’t dip below zero
Operation is a basic atomic action which affects one or two wallet balances. Each operation changes the balance and posts entry to a ledger of each wallet it affects.
There are three operation types:
- Transfer moves some value from one wallet to another within the same project.
- Issue operation increases the wallet balance by creating an amount of value.
- Redeem decreases one wallet's balance by destroying some amount of value.
An operation can be performed only within a transaction.
A transaction is a set of operations (one or more) that must be performed together. When a transaction is performed, operations are performed in the order in which they’re listed.
When all the operations in a set can be performed successfully, the whole transaction will be completed. If any single operation fails, all the other operations will be reverted back and the transaction will fail.
A wallet entry is a record in a wallet ledger about an event.
There are several types of events:
- Issue records the effect of an issue operation
- Redeem records redeem operations
- Debit is posted to the wallet that is on the debit side of a transfer
- Credit will appear on the credit side of the transfer