Investors have active investments that have granted them a right (dividends or interest payments for example). When the contract has ended or the contract’s nominal amounts needs to be reduced because of some legal construct in the contract, the balance for that investor needs to be reduced. Such a transaction is called "redemption" and they are controlled via the redemption endpoints.
You can create a redemption by providing the following data
- Redemption amount
- Investor ID
- Product ID
- Wallet ID
At the moment, it's not possible to create products via the API. Ask the Cashlink Support for the product ID.
After the redemption is created, the balance for that investor and the product is reduced by the amount entered via API - the source investment is calculated by following the FIFO (first-in-first-out) ordering.
The redemption can only be triggered if the amount on the provided wallet address is sufficient for the redemption. Otherwise an error is returned.
The response contains a status field with the following codes
- processing: The task is created and is currently being executed
- failed: The task could not be completed
- success: The task was completed successfully
- unknown: The task needs manual investigation to determine if the transaction has actually succeeded
The redemption triggers a burn transaction on-ledger that reduces the balance of the wallet. The remaining amount is the new notional amount of the contract and is used to calculate payouts for example. You can query the original amount as well as the remaining amount as part of the investment endpoints. Note that the amount will update as soon as the on-ledger transaction has been successful.