Operations
Token operations are used to affect the token balance of an account of a customer in some way. Some types of operations need the consent of the customer and some do not. Consent is given by the customer through signing with the secret key of their account.
Types
We have 4 different types of token operations.
Funding
A funding operation consists of a customer optionally transferring fiat currency to your trust bank account in return for tokens, depending on your business model. In an exemplary scenario, the customers would select on your interface which payment method they want to use to send the fiat currency; once the payment has been executed, new tokens will be issued by you and assigned to the balance in their account. The consent of the customer is not needed to process a funding operation.
Payment
The concept of payment in the tokenization model refers to the exchange of value through transfers of tokens. For instance, if a merchant supports one of your tokens, customers owning the same token could buy goods from them. The merchant could show a QR code, which embeds the address of his own wallet and potential additional information such as the price. Once the customer scans it and confirms the payment, the tokens will be subtracted from the customer's account and added to the merchant's one. The consent of the customer who is sending the tokens, is needed to process the payment. The merchant who is receiving the tokens do not have to give consent.
Payout
A payout transaction should be carried out once a customer or merchant decides to cash out their tokens, optionally, in exchange for fiat currency, depending on your business model. When the request is processed, the tokens will be removed from the customer or merchant, and will so be deleted ("burned"), and the corresponding amount in fiat currency will be sent to the customer or merchant, depending on the payment method they set up in their account. The consent of the customer or merchant is needed to process a payout operation.
NOTE
Due to MICA Regulations, defining a minimum on the redemption amount of EMTs is not allowed. Hence, a payout with a fiat value less than the fees will be allowed, but will be set to 0, and the fee will be adjusted, not according to what is configured, but to what is available.
Clawback
A clawback operation is similar to a payout operation in the sense that tokens will be removed from a customer, but with the difference that this is not by the request of the customer and that a fiat exchange is not expected for the clawed back tokens. When the request is processed, the tokens will be deleted ("burned") and no corresponding amount in fiat currency will be sent to the customer. Another difference to the payout operation is where the payout operation needs the consent (signature) of the customer to process the operation, it is not needed for a clawback operation.
NOTE
The functionality of fiat operations like transferring fiat currency to your trust bank account, or from your trust bank account to a customer's bank account, does not sit within Nexus, and needs to be implemented on the client's side if needed.
Statuses
Each operation has a status to indicate the state the operation is currently in. The status of an operation can change as a result of many things. Below see an explanation on each.
- FundingConfirming: This status allows an operator in the portal to request a funding to be initiated, but to not have it be set to an initiated state at first. A second operator then has the option to either confirm the request, so it moves to an initiated state, or to even place the request on hold. It is only possible to request a funding in this state via the portal.
- FundingOnHold: After a funding's creation was requested but was not yet initiated, it will have a status of FundingConfirming. From there, an operator has the option to place it on hold via the portal. This state indicates that the process of receiving the fiat value of the funding from the customer has been placed on hold due to some circumstances that need further investigation. After being placed on hold, the funding can either be set back to FundingConfirming or FundingDeclined by an operator.
- FundingDeclined: A funding with a FundingOnHold status can be moved to FundingDeclined by an operator via the portal, if it has been decided to decline the receiving of the fiat value of the funding from the customer, or if the fiat value was never received at all. This is an end state.
- Initiated: An operation in an initiated state is awaiting to be processed by submitting its signed envelope.
- Submitted: The operation's envelope has been submitted and is being processed.
- Cancelled: Due to the operation's envelope expiring, the operation's status has been set to cancelled without a submit attempt. This is an end state and the operation cannot be retried.
- SubmissionFailed: The operation's envelope was submitted but submission failed. This is an end state and the operation cannot be retried.
- SubmissionCompleted: The operation's envelope was submitted and was successful. This is an end state and is only used by fundings, payments and clawbacks.
- ToPayout: The payout's envelope was submitted and was successful. Payouts use this status and not SubmissionCompleted, because after submission was completed for a payout, it is optionally not an end state for the payout, since there is an optional fiat aspect to it after the request was successfully submitted and completed.
- PayoutConfirming: After a payout's submission was completed, it could be moved to this state to indicate that it is in the process of paying out the fiat value of the payout to the customer.
- PayoutCompleted: This state indicates that a payout's fiat value has been paid out to the customer. This is an end state.
- PayoutOnHold: After a payout's submission was completed, this state indicates that the process of paying out the fiat value of the payout to the customer has been placed on hold due to some circumstances.
- PayoutDeclined: A payout in a PayoutOnHold state will be move to PayoutDeclined if it has been decided to withhold the paying out of the fiat value of the payout to the customer. This is an end state.
NOTE
The different statuses above allow for a 4-eye principle to be applied in the portal to fundings and payouts, given that your operators' permissions and roles are set up correctly.
Comments
Comments on operations can be created, updated and viewed on a separate tab when viewing that operation in the portal. They can also be retrieved per customer through our comment specific APIs and created through the update operation API. History of comment updates through the portal will be stored and can also be viewed and retrieved.