Coinbase Prime - Integration Setup Guide
Last updated: September 26, 2024
PREREQUISITES: The following steps must be completed prior to integrating your Coinbase Prime account with Liquifi:
1. You must have an account set up with Coinbase Prime
2. The token you are planning to distribute via Liquifi must be supported by Coinbase Prime. Visit here to learn how to determine if your token is supported.
Step 1: Assign user roles, permissions, and consensus policies
During your Coinbase Prime onboarding process, you should have set up the appropriate user roles, permissions, and consensus policies for your Coinbase Prime account.
If you haven’t already done so, please review the Coinbase Account Security documentation and set up user roles, permissions, and consensus policies on your Coinbase account before proceeding.
Step 2: Set up Transfer approval policies
The Maximum Transfer Amount represents the maximum amount of user can withdraw from their Coinbase Portfolio at once.
As a security precaution, it is recommended to set a finite value for the Maximum Transfer Amount to prevent loss of funds.
Set a Maximum Transfer Amount limit:
In Coinbase, navigate to Settings > Security > Transfers
On the
Maximum Transfer Amountrow, clickEditSelect a value that is greater than the maximum Liquifi payout amount. Reach out to the Liquifi team if you are unsure what the maximum payout amount is.
[Important]: Set the Max Withdrawal amount to an amount that is greater than the maximum amount of tokens you’d pay out in 1 payout on Liquifi. Otherwise, if you try to pay out an amount that is greater than the Max Withdrawal amount, the Liquifi payout will fail.
ex., if a company will vest an additional $1m amount of tokens each month, then they should set their Maximum Withdrawal amount to a value that is higher than $1m (ex. $2m).
Step 3: Enable Trusted Address Protection
Context
Turning on Trusted Address Protection will ensure that all Transfer actions will limit withdrawals to addresses in your Address Book only. This safeguards against any mistakes where tokens are sent to unrecognized addresses.
To enable Trusted Address Protection:
Go to the Settings tab
Click on
TransfersOn the
Trusted Address Protectionrow, clickEditEnable the toggle and click
Confirm Changes(see screenshot below)
Step 4: Set up Trusted Destinations
Context
If you are transferring tokens from a Coinbase Portfolio to an external address outside the Coinbase ecosystem (ex. a Metamask address), then you must allowlist this wallet address explicitly as a Trusted Address prior to distributing tokens to it.
How to allowlist Trusted Addresses
Sign into Coinbase Prime
On the left side of the screen, click
SettingsClick
Address BookClick
Add Trusted AddressSelect the asset that matches the token that you are distributing via Liquifi
Enter the trusted address name
Enter the trusted address
Review Details and click
Confirm New Trusted AddressVerify identity via Yubikey.
Viewing Trusted Destinations on Liquifi
To see if a Stakeholder’s address is listed as a Trusted Destination, navigate to the Stakeholders tab on Liquifi & view the Trusted Destinations column (see screenshot). If the Stakeholder’s row has a value of Trusted, then that Stakeholder’s wallet address is allowlisted as a Trusted Destination on Coinbase. If the Stakeholder has a value of Not trusted, then the Stakeholder’s address is not in the Coinbase Address Book. Any updates to the Coinbase Address Book will be reflected automatically in the Liquifi UI as well.
Step X: Share URL for portfolio (to record portfolio ID)
Navigate to the asset you're planning to build
Step 5: Create an API Key
Context
You must generate a Coinbase API Key via the Coinbase Prime platform for Liquifi to use. The API key’s permissions will be scoped to only the required access types needed. The API key must undergo quorum approval before it can be activated for use. The API key will be valid until either the expiration date or if it has been revoked by the client.
Note: This step assumes that the user has the permissions and user roles set up for their Coinbase account. If not, please refer to the previous Account Security steps first.
How to create an API key
Sign in to your Coinbase Prime account.
Select your profile photo or the default image, which is a circle with your first initial, to open the sidebar. Access your settings by selecting the gear icon in the sidebar.
Once you’ve opened the Settings dashboard, select the
APIstab.Select
Create API Key.In the pop-up window, enter the following details:
Name:
Liquifi API KeyAccess Type:
Read, TransferExpiration Date:
Some date 90-180 days in the futureNote: Per Coinbase Security Best Practices, an API key should expire within 90-180 days. Prior to expiration, the API key should be regenerated and rotated. The new API key value should also be given to Liquifi via a security url (ex. 1Password).
Select Continue. The action requires consensus approvals before it’s processed.
Verify your identity with Yubikey.
Once you have consensus approvals, your API key will appear in Pending keys and you can proceed with the next step.
Under Pending keys, find your API key. Select Activate Key and then select
Activate API Key, which will display the API Key’s Access Key, Passphrase, and Signing Key (see screenshot below)[IMPORTANT] Store the Access Key, Passphrase, and Signing Key in a secure location (ex. 1Password) and share these credentials with Liquifi via a secure url (ex. one-time use links via 1Password).
Verify your identity with Yubikey.
Once the API key is created, share the API Key details with Liquifi via a secure one-time-use url (ex. one-time use links via 1Password).
Step 6: Activate the API Key for use
Context
After an API key is created, it must be activated before it can be used. Activating an API key will require identity verification via a Yubikey & also consensus approval on the Coinbase account.
How to activate an API key
Under Pending keys, find your API key. Select Activate Key and then select
Activate API Key, which will display the API Key’s Access Key, Passphrase, and Signing Key (see screenshot below)[IMPORTANT] Store the Access Key, Passphrase, and Signing Key in a secure location (ex. 1Password) and share these credentials with Liquifi via a secure url (ex. one-time use links via 1Password).
Verify your identity with Yubikey.
Once the API key is created, share the API Key details with Liquifi via a secure one-time-use url (ex. one-time use links via 1Password).
Step 7: Share API Key with Liquifi
Context
In order for Liquifi to propose transactions to a customer’s Coinbase Prime account, it must have the API Key’s details. The Liquifi app stores these API Key credentials in AWS Secret Manager. All access requests to AWS Secret Manager require explicit approval and are logged for security and auditability purposes.
How to share API key credentials securely
Share the API Key’s Access Key, Passphrase, and Signing key with the Liquifi team via a secure URL (ex. one-time use links via 1Password).
Note: if your team does not have a way to generate secure URLs, please request a URL from Liquifi to use.
Be sure to include the following information:
What is the transfer limit (if any)?
What is the API key expiration time?
What are the approval quorum thresholds set for this portfolio?