Deposit Cryptocurrency to Infinity Account
Once cryptocurrency has been deposited into a generated wallet address, you can transfer the funds to your Infinity Account for easier access and management. The workflow varies depending on your integration mode. For details, please refer to the official documentation: Determine Your Integration Model.
MoR Mode Workflow
Step 1 — Retrieve your Infinity Account information
Use the List balance objects API to retrieve the balanceId of your Infinity Account.
Request Example
# Replace ${YOUR_API_ACCESS_TOKEN} with your API access token.
curl --request GET \
--url https://api-sandbox.interlace.money/open-api/v3/cards/wallets?accountId=b27c8873-e400-47cd-adc1-035cfa0d5347&objectType=0 \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-access-token: ${YOUR_API_ACCESS_TOKEN}'Response Example
{
"code": "000000",
"message": "success",
"data": {
"list": [
{
"id": "63b2af21-1e8c-407b-8df9-10adc05963aa",
"accountId": "b27c8873-e400-47cd-adc1-035cfa0d5347",
"createTime": "1700620189590",
"currency": "USD",
"walletType": 0,
"objectType": 0,
"available": "56846.52"
}
],
"total": "1"
}
}Step 2 — Deposit cryptocurrency to Infinity Account
use the Intra-account business transfer API to move USD/USDC/USDT/WUSD into your Infinity Account.
Request Example
# Replace ${YOUR_API_ACCESS_TOKEN} with your API access token.
curl --request POST \
--url https://api-sandbox.interlace.money/open-api/v3/business/transfer/internal \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-access-token: ${YOUR_API_ACCESS_TOKEN}' \
--data '{
"clientTransactionId": "a0f57479-8218-4844-bec6-e819a38af55a",
"accountId": "b27c8873-e400-47cd-adc1-035cfa0d5347",
"from": {
"businessType": 2,
"id": "32aae8b7-4a69-474f-b7d5-337e190af878",
"currency": "USDC"
},
"to": {
"businessType": 0,
"currency": "USD",
"id": "63b2af21-1e8c-407b-8df9-10adc05963aa"
},
"amount": "10"
}'Response Example
{
"code": "000000",
"message": "success",
"data": {
"clientTransactionId": "a0f57479-8218-4844-bec6-e819a38af55a",
"id": "1986315238040416258",
"status": "CLOSED",
"accountTransferType": "SAME_ACCOUNT",
"from": {
"id": "32aae8b7-4a69-474f-b7d5-337e190af878",
"transferId": "33dd4cfb-ab69-4fd3-b472-358c89f2acb9",
"accountId": "b27c8873-e400-47cd-adc1-035cfa0d5347",
"amount": "10",
"rate": 1.00,
"currency": "USDC",
"businessType": 2,
"fees": [
{
"feeType": 6,
"amount": "0.05",
"currency": "USDC"
}
]
},
"to": {
"id": "63b2af21-1e8c-407b-8df9-10adc05963aa",
"transferId": "bf7dc081-947e-4eb7-96a2-06fa249516e8",
"accountId": "b27c8873-e400-47cd-adc1-035cfa0d5347",
"amount": "9.95",
"currency": "USD",
"businessType": 0,
"fees": [
{
"feeType": 0,
"amount": "0",
"currency": "USD"
}
]
}
}
}Gateway Mode Workflow
Step 1 and 3 are optional. They provide flexibility in how funds are routed. You may choose to move balances at CryptoConnect Wallet layer (stablecoins) or at Infinity Account layer (USD), depending on your business flow.
Step 1 — Transfer between CryptoConnect Wallets (optional)
After receiving the deposit webhook notification, use the Different-account business transfer API to move stablecoins from a Sub-Merchant Wallet to the Master Merchant Wallet.
Request Example
# Replace ${YOUR_API_ACCESS_TOKEN} with your API access token
curl --request POST \
--url https://api-sandbox.interlace.money/open-api/v3/business/transfer/external \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-access-token: ${YOUR_API_ACCESS_TOKEN}' \
--data '{
"clientTransactionId": "953cdb3a-cc04-4d37-9467-156224b10fb9",
"from": {
"accountId": "c6ab9f2a-d6fb-49ee-9941-3f1772a9f857",
"businessType": 2,
"id": "39d07dd5-58e3-4ad1-b8ef-516e67b3967b",
"currency": "USDC"
},
"to": {
"accountId": "b27c8873-e400-47cd-adc1-035cfa0d5347",
"businessType": 2,
"id": "32aae8b7-4a69-474f-b7d5-337e190af878",
"currency": "USDC"
},
"amount": "1"
}'Response Example
{
"code": "000000",
"message": "success",
"data": {
"clientTransactionId": "953cdb3a-cc04-4d37-9467-156224b10fb9",
"id": "1986598069492838402",
"status": "CLOSED",
"accountTransferType": "NOT_SAME_ACCOUNT",
"from": {
"id": "39d07dd5-58e3-4ad1-b8ef-516e67b3967b",
"transferId": "1220b6d4-5003-4aa1-bf15-351ef6110861",
"accountId": "c6ab9f2a-d6fb-49ee-9941-3f1772a9f857",
"amount": "1",
"rate": 1,
"currency": "USDC",
"businessType": 2,
"fees": [
{
"feeType": 6,
"amount": "0",
"currency": "USDC"
}
]
},
"to": {
"id": "32aae8b7-4a69-474f-b7d5-337e190af878",
"transferId": "03ccacaf-f43a-439d-b04d-c74d19a403c9",
"accountId": "b27c8873-e400-47cd-adc1-035cfa0d5347",
"amount": "1",
"currency": "USDC",
"businessType": 2,
"fees": []
}
}
}Step 2 — Deposit to Sub-Merchant Infinity Account
Use the Intra-account business transfer API to move USDC/USDT/WUSD from a Sub-Merchant Wallet to the Sub-Merchant Infinity Account.
Request Example
# Replace ${YOUR_API_ACCESS_TOKEN} with your API access token
curl --request POST \
--url https://api-sandbox.interlace.money/open-api/v3/business/transfer/internal \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-access-token: ${YOUR_API_ACCESS_TOKEN}' \
--data '{
"clientTransactionId": "ac845317-be79-4be4-ab4d-c26d71a38b27",
"accountId": "c6ab9f2a-d6fb-49ee-9941-3f1772a9f857",
"from": {
"businessType": 2,
"id": "39d07dd5-58e3-4ad1-b8ef-516e67b3967b",
"currency": "USDC"
},
"to": {
"businessType": 0,
"currency": "USD",
"id": "7bd8148d-4b47-429d-b0cf-7f2ac4381a51"
},
"amount": "10"
}'Response Example
{
"code": "000000",
"message": "success",
"data": {
"clientTransactionId": "ac845317-be79-4be4-ab4d-c26d71a38b27",
"id": "1986598927290920962",
"status": "CLOSED",
"accountTransferType": "SAME_ACCOUNT",
"from": {
"id": "39d07dd5-58e3-4ad1-b8ef-516e67b3967b",
"transferId": "aa542b1c-be9f-406b-a7c6-3b269f94a2d0",
"accountId": "c6ab9f2a-d6fb-49ee-9941-3f1772a9f857",
"amount": "10",
"rate": 1.00,
"currency": "USDC",
"businessType": 2,
"fees": [
{
"feeType": 6,
"amount": "0.05",
"currency": "USDC"
}
]
},
"to": {
"id": "7bd8148d-4b47-429d-b0cf-7f2ac4381a51",
"transferId": "3d5176c7-14b4-40fc-956d-2db16a4cd6bc",
"accountId": "c6ab9f2a-d6fb-49ee-9941-3f1772a9f857",
"amount": "9.95",
"currency": "USD",
"businessType": 0,
"fees": [
{
"feeType": 0,
"amount": "0",
"currency": "USD"
}
]
}
}
}Step 3 — Transfer between Infinity Accounts (optional)
Use the Different-account business transfer API to move funds from the Sub-Merchant Infinity Account to the Master Merchant Infinity Account.
Request Example
# Replace ${YOUR_API_ACCESS_TOKEN} with your API access token
curl --request POST \
--url https://api-sandbox.interlace.money/open-api/v1/asset/transfers \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-access-token: ${YOUR_API_ACCESS_TOKEN}' \
--data '{
"clientTransactionId": "ac029a58-b450-4024-8b96-adc046979837",
"from": {
"accountId": "c6ab9f2a-d6fb-49ee-9941-3f1772a9f857",
"businessType": 0,
"id": "7bd8148d-4b47-429d-b0cf-7f2ac4381a51",
"currency": "USD"
},
"to": {
"accountId": "b27c8873-e400-47cd-adc1-035cfa0d5347",
"businessType": 0,
"id": "63b2af21-1e8c-407b-8df9-10adc05963aa",
"currency": "USD"
},
"amount": "1"
}'Response Example
{
"code": "000000",
"message": "success",
"data": {
"clientTransactionId": "ac029a58-b450-4024-8b96-adc046979837",
"id": "1986599761336659970",
"status": "CLOSED",
"accountTransferType": "NOT_SAME_ACCOUNT",
"from": {
"id": "7bd8148d-4b47-429d-b0cf-7f2ac4381a51",
"transferId": "bfbb5b8d-7a4f-4cd7-9b3d-fe40079cd9c8",
"accountId": "c6ab9f2a-d6fb-49ee-9941-3f1772a9f857",
"amount": "1",
"rate": 1,
"currency": "USD",
"businessType": 0,
"fees": [
{
"feeType": 0,
"amount": "0",
"currency": "USD"
}
]
},
"to": {
"id": "63b2af21-1e8c-407b-8df9-10adc05963aa",
"transferId": "6e3850c4-9e2b-4fcc-9341-961da0370afb",
"accountId": "b27c8873-e400-47cd-adc1-035cfa0d5347",
"amount": "1",
"currency": "USD",
"businessType": 0,
"fees": [
{
"feeType": 0,
"amount": "0",
"currency": "USD"
}
]
}
}
}Updated 11 minutes ago