Currently, the Pismo platform supports two kinds of financial assets: CDBs and RDBs. Both are time deposits and both are limited to the Brazilian market. In the future, Pismo plans to add support for other types of time deposits for the international market.
CDB stands for Certificado de Depósito Bancário (Certificate of Bank Deposit in English). This asset is similar to certificates of deposit offered in other countries. When you invest in a CDB, the bank pays interest on your investment at a rate that's determined at the time of investment. The interest rate might be fixed, but, more often, it’s linked to some index, such as the CDI rate (an average of interbank overnight rates in Brazil).
CDBs have a maturity date, which is also set at the time of investment. Typically, the time to maturity for a CDB is one to two years, but it can be shorter. Unlike many CDBs, the CDBs that the Pismo platform supports all offer daily liquidity. In other words, the investor can withdraw money early without a penalty.
RDB stands for Recibo de Depósito Bancário(Bank Deposit Receipt in English). RDBs are similar to CDBs. Usually, they can only be redeemed at maturity. However, all the RDBs that the Pismo platform currently supports offer daily liquidity, so in practice they don't differ much from CDBs.
An asset on the Pismo platform is identified by its unique ID. It contains information associated with the asset, such as the customer name, asset type (for example, CDB), issuing date, maturity date, and so on. You use the Asset API to create and manage assets. For example, if a customer wants to buy a CDB, you use the Register asset endpoint to create the CDB on the Pismo platform.
Every asset has a fixed number of issued units, and each unit has a monetary value associated with it, known as the unit price.
The same asset can be issued to multiple customers. In this case, each customer owns an equal portion of the issued units. This portion is called a quota. For example, suppose a CDB contains 100 issued units, and it's sold to four customers. In this case, each customer owns a quota of 25 issued units.
When you register an asset, you need to specify the number of issued units per quota. If you want each quota to contain only one issued unit, then you need to set
single. If you want each quota to contain more than one issued unit, then you need to set
many and set
purchased_units to the number of issued units per quota. (If
registration_mode is set to
purchased_units is not required.)
So, a quota represents a percentage of asset ownership. A quota can be owned by an individual or a legal person, identified by their document numbers. If a customer is the sole owner of an asset, then the asset has only one quota, and that quota contains all the issued units. This concept is easier to understand if you look at a couple of examples.
Suppose one person wants to buy a CDB that's worth 1,000 BRL (Brazilian Reals). You create the CDB using the Register asset endpoint with parameters similar to the following. (Only the parameters relevant to this example are included. In practice, there are other required parameters.) The resulting CDB contains one quota and that quota contains all 1000 issued units.
customer_name: John G. Smith
Now, suppose 10 people want to buy one CDB worth 1,000 BRL. You need to run the Register asset endpoint 10 times, once for each person. The first two times you run it, the parameters might look something like this:
customer_name: John G. Smith
customer_name: Jane J. Doe
Notice that you use the same value for
asset_id each time you execute the endpoint. The only parameters you change are
customer_name. Now, you do the same thing for another eight runs. In this case, the CDB has 10 quotas, each one containing 100 issued units.
Quotas are created automatically when you register assets. You can use the Quota API to list and update existing quotas. To update the number of quotas for an asset, you first update the asset using the Update asset endpoint. Then you use the Update quota endpoint to set a new value for
purchased_units. For example, if you change
purchased_units from 100 to 50, you double the number of quotas. You can then use Register asset to issue the extra quotas to customers.
If you try to change
purchased_units to a value that is not allowed, the endpoint generates an error. For example, you can't change the value in a way that reduces the number of quotas if they are all already issued to customers. Providing a value that does not evenly divide the number of issued units also results in an error.
Asset data events
To see the events the Asset and Quota endpoints generate, see Asset data events. They are also listed in each endpoint's documentation.
Updated about 1 month ago