Investor: Direct transfer
This guide is intended for qualified investors of the token. To proceed with any transaction, the user must also be the initiator of the operation.
This document provides a step-by-step guide for transferring tokens using the token transfers endpoints. For detailed parameter specifications and error codes, please refer to the Swagger documentation.
What You'll Need
- A registered and KYC-verified account.
- Qualified investor status for the specific token.
- A compatible wallet with sufficient funds for gas fees.
- The token ID of the asset you want to interact with.
Prerequisites:
To complete this use case, you will need to authenticate your request(s). You can generate your token by following these steps:
- Make sure to leverage an existing account, e.g. Agent, Owner, etc.
- Sign into your Servicing portal to disable your 2FA.
- Navigate to the "Getting API access" page to generate the required JWT, thanks to your credentials.
- Add the JWT to the header of your request.
Complete Token Transfer Workflow
Step 1: Initiate Transfer
Only qualified investors can initiate and participate in token transfers. Please refer to our investor qualification flow for eligibility criteria, explanations.
POST /v2/assets/investor/transfers
With Payload:
{
"tokenId": "YOUR_TOKEN_ID",
"to": "RECIPIENT_ADDRESS",
"amount": "AMOUNT_TO_TRANSFER"
}
Response: Returns transferId
and transactionPayloads
to sign.
Step 2: Complete Transfer (Choose One)
Refer to the guide based on the specific sign and broadcast solution your API integration requires by visiting the following link: Blockchain signature flow.
You can only complete transfers that you have initiated. Additionally, include the taskId
returned in the previous endpoint's response when calling the transaction logging endpoint.
Logging the transaction is essential to reconcile on-chain and off-chain flows. Since the user handles blockchain interactions on their own, we use the taskId
to:
- Identify the workflow uniquely.
- Maintain a consistent link between off-chain logic and on-chain activity.
- Ensure traceability and reliability.
Option A: Submit Transaction Hash
- Sign the transaction payload with your private key.
- Broadcast, on your end, the signed transaction to the blockchain.
- Log the transaction hash:
POST /v2/assets/investor/transfers/{transferId}/transactions
With Payload:
{
"transactionHash": "0x123..."
}
Option B: Submit Signed Payloads
- Sign the transaction payload with your private key.
- Send the signed payload for broadcasting:
POST /v2/assets/investor/transfers/{transferId}/payloads
With Payload:
{
"tasks": [
{
"taskId": "string",
"signedPayload": "string"
}
],
"signerWallet": "string"
}
Updated 1 day ago