Transfers & Payments
Learn how to make transfers and payments.
Before You Begin
Ensure you've noted the default_pool_usdc
allocation id
for two accounts. If you lack two accounts, refer to the account creation guide.
Except for deposits, a transaction's
source
should be an allocation, an on-platform wallet address, or a pool. Itsdestination
can be a wallet address, pool, or different allocation.
Transfer Between Accounts
In the example below, we'll be simulating an internal transfer between Conduit accounts.
1. Transfer 200 USDC
The
amount
attribute is a string and represents an integer indicating the number of the smallest unit of the corresponding asset type. For example, USDC is divided into millionths of a unit so the quantity 300 USDC is represented as "300000000"
POST https://sandbox.conduit.financial/transactions
- Replace
source
with the allocationid
you want to transfer from - Replace
destination
with the allocationid
you want to receive
{
"data": {
"attributes": {
"assetType": "asset:eth:USDC",
"amount": "200000000",
"source": "id:allc:2J8OkA50iEKCUdAP64xbgU14Irf",
"destination": "id:allc:2OhHwSqXXf6OmAWNWyOhVNHH1bN"
}
}
}
{
"data": {
"id": "id:trxn:2JEnnjddu00clamWmVMXs4fxVcz",
"type": "transaction",
"attributes": {
"createdAt": "2022-12-21T19:51:20.587Z",
"createdBy": "client",
"effectiveDate": "2022-12-21",
"amount": "200000000",
"source": "id:allc:2J8OkA50iEKCUdAP64xbgU14Irf",
"destination": "id:allc:2OhHwSqXXf6OmAWNWyOhVNHH1bN",
"status": "pending",
"assetType": "asset:eth:USDC"
},
"relationships": {
"source": {
"links": {
"self": "/transactions/id:trxn:2JEnnjddu00clamWmVMXs4fxVcz/relationships/source",
"related": "/transactions/id:trxn:2JEnnjddu00clamWmVMXs4fxVcz/source"
},
"data": {
"id": "id:allc:2J8OkA50iEKCUdAP64xbgU14Irf",
"type": "id"
}
},
"destination": {
"links": {
"self": "/transactions/id:trxn:2JEnnjddu00clamWmVMXs4fxVcz/relationships/destination",
"related": "/transactions/id:trxn:2JEnnjddu00clamWmVMXs4fxVcz/destination"
},
"data": {
"id": "id:allc:2OhHwSqXXf6OmAWNWyOhVNHH1bN",
"type": "id"
}
},
"quote": {
"links": {
"self": "/transactions/id:trxn:2JEnnjddu00clamWmVMXs4fxVcz/relationships/quote",
"related": "/transactions/id:trxn:2JEnnjddu00clamWmVMXs4fxVcz/quote"
},
"data": null
}
}
}
}
2. Check Balance
With the transfer completed, the transferred USDC should be debited from the source and credited to the destination account. Confirm this by checking both account balances.
2a. Source Account
GET https://sandbox.conduit.financial/accounts/id:acct:{source_account_id}
{
"data": {
"id": "id:acct:2J8Ok1bfIrvpNcX2V8QwDMigUKE",
"type": "account",
"attributes": {
"balances": {
"available": [
{
"assetType": "asset:eth:USDC",
"amount": "300000000"
}
],
"pending": [
{
"assetType": "asset:eth:USDC",
"amount": "200000000"
}
]
}
},
"relationships": {
"account-holders": {
"links": {
"self": "/accounts/id:acct:2J8Ok1bfIrvpNcX2V8QwDMigUKE/relationships/account-holders",
"related": "/accounts/id:acct:2J8Ok1bfIrvpNcX2V8QwDMigUKE/account-holders"
},
"data": [
{
"id": "id:ahl:2J8Ocs7KFZJt3CMPi9f0x8UCCQ0",
"type": "account-holder"
}
]
},
"allocations": {
"links": {
"self": "/accounts/id:acct:2J8Ok1bfIrvpNcX2V8QwDMigUKE/relationships/allocations",
"first": "/accounts/id:acct:2J8Ok1bfIrvpNcX2V8QwDMigUKE/relationships/allocations",
"next": null,
"related": "/accounts/id:acct:2J8Ok1bfIrvpNcX2V8QwDMigUKE/allocations"
},
"data": [
{
"id": "id:allc:2J8OkA50iEKCUdAP64xbgU14Irf",
"type": "allocation"
}
]
},
"wallets": {
"links": {
"self": "/accounts/id:acct:2J8Ok1bfIrvpNcX2V8QwDMigUKE/relationships/wallets",
"related": "/accounts/id:acct:2J8Ok1bfIrvpNcX2V8QwDMigUKE/wallets"
},
"data": []
}
}
},
"included": [
{
"id": "id:allc:2J8OkA50iEKCUdAP64xbgU14Irf",
"type": "allocation",
"attributes": {
"effectiveYieldRate": "0",
"conduitTakeRate": "20",
"clientTakeRate": "0",
"poolId": "id:pool:2H1E3EPxcafvzFKOyoLUwO2PfcK",
"poolYieldRate": "0",
"accountId": "id:acct:2J8Ok1bfIrvpNcX2V8QwDMigUKE",
"poolName": "default_pool_usdc",
"balances": {
"available": [
{
"assetType": "asset:eth:USDC",
"amount": "300000000"
}
],
"pending": [
{
"assetType": "asset:eth:USDC",
"amount": "0"
}
],
"accruedYield": [
{
"assetType": "asset:eth:USDC",
"amount": "0"
}
]
}
}
}
]
}
2b. Destination Account
Sandbox environment's pending transactions may take up to 5 minutes to clear. Please wait a bit before attempting the below request.
GET https://sandbox.conduit.financial/accounts/id:acct:{destination_account_id}
{
"data": {
"id": "id:acct:2OhHwErcvJZ7LTi5UewXy1msKTI",
"type": "account",
"attributes": {
"balances": {
"available": [
{
"assetType": "asset:eth:USDC",
"amount": "200000000"
}
],
"pending": [
{
"assetType": "asset:eth:USDC",
"amount": "0"
}
]
}
},
"relationships": {
"account-holders": {
"links": {
"self": "/accounts/id:acct:2OhHwErcvJZ7LTi5UewXy1msKTI/relationships/account-holders",
"related": "/accounts/id:acct:2OhHwErcvJZ7LTi5UewXy1msKTI/account-holders"
},
"data": [
{
"id": "id:ahl:2N8zU2j0x8Mh3lloZl2Ysj7kYbN",
"type": "account-holder"
}
]
},
"allocations": {
"links": {
"self": "/accounts/id:acct:2OhHwErcvJZ7LTi5UewXy1msKTI/relationships/allocations",
"first": "/accounts/id:acct:2OhHwErcvJZ7LTi5UewXy1msKTI/relationships/allocations",
"next": null,
"related": "/accounts/id:acct:2OhHwErcvJZ7LTi5UewXy1msKTI/allocations"
},
"data": [
{
"id": "id:allc:2OhHwSqXXf6OmAWNWyOhVNHH1bN",
"type": "allocation"
}
]
},
"wallets": {
"links": {
"self": "/accounts/id:acct:2OhHwErcvJZ7LTi5UewXy1msKTI/relationships/wallets",
"related": "/accounts/id:acct:2OhHwErcvJZ7LTi5UewXy1msKTI/wallets"
},
"data": []
}
}
},
"included": [
{
"id": "id:allc:2OhHwSqXXf6OmAWNWyOhVNHH1bN",
"type": "allocation",
"attributes": {
"effectiveYieldRate": "0",
"conduitTakeRate": "20",
"clientTakeRate": "0",
"poolId": "id:pool:2H1E3EPxcafvzFKOyoLUwO2PfcK",
"poolYieldRate": "0",
"accountId": "id:acct:2OhHwErcvJZ7LTi5UewXy1msKTI",
"poolName": "default_pool_usdc",
"clientYieldFeesDestination": "id:acct:2N9cbG9pYMoTgLqoc0ylPP2q7DY",
"balances": {
"available": [
{
"assetType": "asset:eth:USDC",
"amount": "200000000"
}
],
"pending": [
{
"assetType": "asset:eth:USDC",
"amount": "0"
}
],
"accruedYield": [
{
"assetType": "asset:eth:USDC",
"amount": "0"
}
]
}
}
}
]
}
External Payments or Transfers
1. Pay 100 USDC
POST https://sandbox.conduit.financial/transactions
- Replace
source
with the allocationid
you want to pay from - Replace
destination
with an external wallet address you want to pay to
{
"data": {
"attributes": {
"assetType": "asset:eth:USDC",
"amount": "100000000",
"source": "id:allc:2J8OkA50iEKCUdAP64xbgU14Irf",
"destination": "wlt:eth:0x0000000000000000000000000000000000000000"
}
}
}
{
"data": {
"id": "id:trxn:2JEpnum6kwvpVjONCCX90DPcb25",
"type": "transaction",
"attributes": {
"createdAt": "2022-12-21T20:07:47.571Z",
"createdBy": "client",
"effectiveDate": "2022-12-22",
"amount": "100000000",
"source": "id:allc:2J8OkA50iEKCUdAP64xbgU14Irf",
"destination": "wlt:eth:0x0000000000000000000000000000000000000000",
"status": "pending",
"assetType": "asset:eth:USDC"
},
"relationships": {
"source": {
"links": {
"self": "/transactions/id:trxn:2JEpnum6kwvpVjONCCX90DPcb25/relationships/source",
"related": "/transactions/id:trxn:2JEpnum6kwvpVjONCCX90DPcb25/source"
},
"data": {
"id": "id:allc:2J8OkA50iEKCUdAP64xbgU14Irf",
"type": "id"
}
},
"destination": {
"links": {
"self": "/transactions/id:trxn:2JEpnum6kwvpVjONCCX90DPcb25/relationships/destination",
"related": "/transactions/id:trxn:2JEpnum6kwvpVjONCCX90DPcb25/destination"
},
"data": {
"id": "wlt:eth:0x0000000000000000000000000000000000000000",
"type": "wallet"
}
},
"quote": {
"links": {
"self": "/transactions/id:trxn:2JEpnum6kwvpVjONCCX90DPcb25/relationships/quote",
"related": "/transactions/id:trxn:2JEpnum6kwvpVjONCCX90DPcb25/quote"
},
"data": null
}
}
}
}
2. Check Balance
Post payment completion, the paid USDC should be debited from your account. Confirm this by checking your account balance.
GET https://sandbox.conduit.financial/accounts/id:acct:{you_account_id}
{
"data": {
"id": "id:acct:2J8Ok1bfIrvpNcX2V8QwDMigUKE",
"type": "account",
"attributes": {
"balances": {
"available": [
{
"assetType": "asset:eth:USDC",
"amount": "200000000"
}
],
"pending": [
{
"assetType": "asset:eth:USDC",
"amount": "300000000"
}
]
}
},
"relationships": {
"account-holders": {
"links": {
"self": "/accounts/id:acct:2J8Ok1bfIrvpNcX2V8QwDMigUKE/relationships/account-holders",
"related": "/accounts/id:acct:2J8Ok1bfIrvpNcX2V8QwDMigUKE/account-holders"
},
"data": [
{
"id": "id:ahl:2J8Ocs7KFZJt3CMPi9f0x8UCCQ0",
"type": "account-holder"
}
]
},
"allocations": {
"links": {
"self": "/accounts/id:acct:2J8Ok1bfIrvpNcX2V8QwDMigUKE/relationships/allocations",
"first": "/accounts/id:acct:2J8Ok1bfIrvpNcX2V8QwDMigUKE/relationships/allocations",
"next": null,
"related": "/accounts/id:acct:2J8Ok1bfIrvpNcX2V8QwDMigUKE/allocations"
},
"data": [
{
"id": "id:allc:2J8OkA50iEKCUdAP64xbgU14Irf",
"type": "allocation"
}
]
},
"wallets": {
"links": {
"self": "/accounts/id:acct:2J8Ok1bfIrvpNcX2V8QwDMigUKE/relationships/wallets",
"related": "/accounts/id:acct:2J8Ok1bfIrvpNcX2V8QwDMigUKE/wallets"
},
"data": []
}
}
},
"included": [
{
"id": "id:allc:2J8OkA50iEKCUdAP64xbgU14Irf",
"type": "allocation",
"attributes": {
"effectiveYieldRate": "0",
"conduitTakeRate": "20",
"clientTakeRate": "0",
"poolId": "id:pool:2H1E3EPxcafvzFKOyoLUwO2PfcK",
"poolYieldRate": "0",
"accountId": "id:acct:2J8Ok1bfIrvpNcX2V8QwDMigUKE",
"poolName": "default_pool_usdc",
"balances": {
"available": [
{
"assetType": "asset:eth:USDC",
"amount": "200000000"
}
],
"pending": [
{
"assetType": "asset:eth:USDC",
"amount": "0"
}
],
"accruedYield": [
{
"assetType": "asset:eth:USDC",
"amount": "0"
}
]
}
}
}
]
}
Updated over 1 year ago
Now that you know how to transfer and make payments, learn how to withdraw crypto to an external wallet.