Stablecoins Guide

Overview

A stablecoin is a type of asset-backed token which is generally backed by fiat (cash) or another non-volatile asset. Prime Trust APIs currently only support tokens backed by fiat or other digital assets (BTC, ETH, and ERC-20 tokens).

Stablecoin integrators use two accounts, an trust account for the benefit of (FBO) the token holders which contain the asset that will back the token, and a custodial account FBO the stablecoin customer and which contains any charged transaction fees.

Integration with Prime Trust APIs enable the following:

  • Anti-money laundering (AML) and Customer Identification Program (CIP) compliant token minting signal after assets or cash has been received
  • AML and CIP compliant token burning signal along with asset or cash transfer
  • Charging transactions fees to the end user during minting or burning tokens
  • Viewing account balances and provide auditors read only access to the trust account

Note: Prime Trust does not mint or burn tokens but provides the greenlight to mint or burn tokens through our APIs.

Prime Trust runs compliance procedures during the following actions:

  1. On individual depositing of funds or assets in the trust account for new token minting
  2. On individual withdrawing of funds or assets from the trust account for existing token burning

Integration

This section maps stable features to API endpoints and what each endpoint enables.

Create new users

Users -- Users and accounts are separate objects. The user is the over-arching object which interacts with authenticated endpoints. Multiple accounts can be linked to the same user. Depending on how you're structuring your platform, it might make sense to create an extreme "bot" type user for handling automated API requests.

Authentication -- After creating a user this endpoint provides a JSON web token (JWT) for the user to interact with the API.

Minting tokens

Contacts -- If you need to manage the information of the individuals related to your account (owners, grantors, beneficiaries, etc.) or wish to use CIP and AML services on customers related to your account (contributors) you need to create and update contacts. Contacts represent a natural person or a company.

Funds Transfer Methods (optional) -- Funds Transfer Methods (FTM) are used for funds transmission to and from accounts. You can use this API to create new FTMs. This is especially useful if you plan to reuse the same FTM multiple times. A FTM is required when depositing cash to an account using ACH or credit card. Prime Trust recommends only accepting wires due to ACH clawback policies.

Contributions -- This is the API endpoint you will use to make fiat (cash) deposits into the account. A linked payment method is required for ACH and credit card. This payment method can be created at the same time as creating the contribution. A payment method is not required if the contribution is expected from a manual source such as check or wire. Instead a payment type is required to specify that the source is manual. You can use linked contributions to create fees on incoming funds for token minting. Prime Trust recommends only accepting wires due to ACH clawback policies.

Webhooks -- You can configure optional webhooks for an account which will ensure you receive a notification message from Prime Trust when certain objects change. The notification will POST to the URL you provide (you should use HTTPS in production) with a parameter of data containing a JSON message about what has changed. This will let you know when the funds have been received to go mint the tokens for the customer.

Burning Tokens

Contacts -- If you need to manage the information of the individuals related to your account (owners, grantors, beneficiaries, etc.) or wish to use CIP and AML services on customers related to your account (contributors) you need to create and update contacts. Contacts represent a natural person or a company.

FTMs -- FTMs are used for funds transmission to and from accounts. A FTM is required for disbursements.

Disbursements -- Creating disbursements is how you request having funds sent out of an account to another source such as the account of the token holder wanting to burn tokens.

Internal account transfers -- Transfer any fees on withdrawals and burning of tokens using this end point.

Webhooks -- You can configure optional webhooks for an account which will ensure you receive a notification message from Prime Trust when certain objects change. The notification will POST to the URL you provide (you should use HTTPS in production) with a parameter of data containing a JSON message about what has changed. This will let you know when the funds have been sent out based on the tokens burned.

View account activity and add users with varying level of persmissions

User invitations -- You can invite users with varying degree of permission to open an account. Invitations are especially useful for auditors of accounts as they will be able to see the account balance in the trust account with read-only permission. The permission levels you can give a user are:

  • full-control -- Same permissions as the original user
  • read-only -- Can only view, cannot make withdrawals

Account cash totals -- Cash totals provide the amount of cash held in an account and information on contributions to the account.

Holdings -- Holdings provide important details in regards to non-cash holdings (stocks and digital assets) held in an account.

Statements -- Monthly statements for an account in .pdf or .json file format can be retrieved using these endpoints. The statements are similar to bank account statements that list all of the settled transactions for the month.

Cash transactions -- This is a "ledger" API that provides all the information a bank ledger would provide in regards to a cash transaction.

Asset transactions -- This is similar to cash transactions but is for assets deposited or withdrawn from the account.

Getting started with the stablecoin APIs sandbox

Take the current steps to get started using the APIs.

  1. Create a new User
  2. Authenticate with the APIs by getting a JWT.
  3. Create two Accounts.
  4. Test Mode APIs - Approve the owners of the accounts for CIP and AML.
  5. Test Mode APIs - Open the Accounts for Funds.
  6. Test Mode APIs - Enable informational contacts on one account. This account will represent your trust account in the sandbox environment.
  7. Test Mode APIs - Enable internal transfers instant settlement on the other account. This account will represent your custodial account in the sandbox environment.

Take the following steps once the account is open.

  1. Add FTMs.
  2. Make contributions.
  3. Make account cash transfers between accounts.
  4. Make disbursements.
Last updated on