Transfer Asset from Wallet

POST /wallets/{walletId}/transfers

Transfer an asset out of the specified wallet to a destination address. For all fungible token transfers, the transfer amount must be specified in the minimum denomination of that token. For example, use the amount in Satoshi for a Bitcoin transfer, or the amount in Wei for an Ethereum transfer etc.

Required Permissions

NameConditions

Wallets:TransferAsset

Always Required

Parameters

Path parameters

Path parameterDescription

walletId

Unique identifier of the Wallet. ex. wa-1f04s-lqc9q-xxxxxxxxxxxxxxxx

Native Token

Transfer the native token of the network. All networks support the native token type.

Request body

Request body fieldsRequired/OptionalDescriptionType

kind

Required

Native

String

to

Required

The destination address

String

amount

Required

The amount of native tokens to transfer in minimum denomination

String

priority

Optional

The priority that determines the fees paid for the transfer [1]

String

memo

Optional

The memo or destination tag [2]

String

  1. All EVM compatible networks, Bitcoin and Solana support priority. Not supported for other networks. The accepted values are Slow, Standard and Fast. When specified, it uses the estimate fees API to calculate the transfer fees. When not specified, the transfer will use the fees returned from the blockchain node providers.

  2. Stellar and XrpLedger support memo. Not valid for other networks.

Sample request body

{
  "kind": "Native",
  "to": "0xb282dc7cde21717f18337a596e91ded00b79b25f",
  "amount": "1000000000"
}

200 response example

{
  "id": "xfr-1vs8g-c1ub1-xxxxxxxxxxxxxxxx",
  "walletId": "wa-39abb-e9kpk-xxxxxxxxxxxxxxxx",
  "network": "Ethereum",
  "requester": {
    "userId": "us-3v1ag-v6b36-xxxxxxxxxxxxxxxx",
    "tokenId": "to-7mkkj-c831n-xxxxxxxxxxxxxxxx",
    "appId": "ap-24vva-92s32-xxxxxxxxxxxxxxxx"
  },
  "requestBody": {
    "kind": "Native",
    "to": "0xb282dc7cde21717f18337a596e91ded00b79b25f",
    "amount": "1000000000"
  },
  "metadata": {
    "asset": {
      "symbol": "ETH",
      "decimals": 18,
      "verified": true,
      "quotes": {
        "EUR": 2802.867647101728,
        "USD": 3020.82462287215
      }
    }
  },
  "dateRequested": "2023-05-08T19:14:25.568Z",
  "status": "Pending"
}

Algorand

Algorand Standard Assets

Transfer Algorand standard assets, or ASAs.

Request body

Request body fieldsRequired/OptionalDescriptionType

kind

Required

Asa

String

assetId

Required

The asset ID of the token

String

to

Required

The destination address

String

amount

Required

The amount of tokens to transfer in minimum denomination

String

Sample request body

{
  "kind": "Asa",
  "assetId": "31566704",
  "to": "FRZP423Y7MNMTG4OOLESESTPCFGGHZMY7QN462YEQAJK5H6EOMFHZG73UA",
  "amount": "1000000"
}

200 response example

{
  "id": "xfr-22e36-7p55v-xxxxxxxxxxxxxxxx",
  "walletId": "wa-39abb-e9kpk-xxxxxxxxxxxxxxxx",
  "network": "Algorand",
  "requester": {
    "userId": "us-3v1ag-v6b36-xxxxxxxxxxxxxxxx",
    "tokenId": "to-7mkkj-c831n-xxxxxxxxxxxxxxxx",
    "appId": "ap-24vva-92s32-xxxxxxxxxxxxxxxx"
  },
  "requestBody": {
    "kind": "Asa",
    "assetId": "31566704",
    "to": "FRZP423Y7MNMTG4OOLESESTPCFGGHZMY7QN462YEQAJK5H6EOMFHZG73UA",
    "amount": "1000000"
  },
  "metadata": {
    "asset": {
      "symbol": "USDC",
      "decimals": 6,
      "verified": true
    }
  },
  "dateRequested": "2024-05-10T14:35:55.768Z",
  "status": "Pending"
}

EVM Compatible Networks

ERC-20

Transfer fungible tokens that implement the ERC-20 specification.

Request body

Request body fieldsRequired/OptionalDescriptionType

kind

Required

Erc20

String

contract

Required

The ERC20 contract address

String

to

Required

The destination address

String

amount

Required

The amount of tokens to transfer in minimum denomination

String

priority

Optional

The priority that determines the fees paid for the transfer

String

Sample request body

{
  "kind": "Erc20",
  "contract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
  "to": "0xb282dc7cde21717f18337a596e91ded00b79b25f",
  "amount": "1000000"
}

200 response example

{
  "id": "xfr-6ulmv-sa183-xxxxxxxxxxxxxxxx",
  "walletId": "wa-40f4f-51gpm-xxxxxxxxxxxxxxxx",
  "network": "Ethereum",
  "requester": {
    "userId": "us-4vu4v-kud3l-xxxxxxxxxxxxxxxx",
    "appId": "ap-7c2pm-avfsr-xxxxxxxxxxxxxxxx"
  },
  "requestBody": {
    "kind": "Erc20",
    "contract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
    "amount": "1000000",
    "to": "0xb282dc7cde21717f18337a596e91ded00b79b25f"
  },
  "metadata": {
    "asset": {
      "symbol": "USDC",
      "decimals": 6,
      "verified": true,
      "quotes": {
        "USD": 1.000804849917271,
        "EUR": 0.9201529894769885
      }
    }
  },
  "status": "Confirmed",
  "fee": "1542993669053672",
  "txHash": "0x8e88793607610a83798eb5ec6dde861f3e459c7e4a22e78b0d2e675b86d0d1e7",
  "dateRequested": "2024-01-18T23:03:53.739Z",
  "dateBroadcasted": "2024-01-18T23:03:55.685Z",
  "dateConfirmed": "2024-01-18T23:03:59.000Z"
}

ERC-721

Transfer non-fungible tokens that implement the ERC-721 specification

Request body

Request body fieldsRequired/OptionalDescriptionType

kind

Required

Erc721

String

contract

Required

The ERC721 contract address

String

to

Required

The destination address

String

tokenId

Required

The token to transfer

String

priority

Optional

The priority that determines the fees paid for the transfer

String

Sample request body

{
  "kind": "Erc721",
  "contract": "0x00fb58432ef9d418bf6688bcf0a226d2fcaa18e2",
  "to": "0xb282dc7cde21717f18337a596e91ded00b79b25f",
  "tokenId": "1"
}

200 response example

{
  "id": "xfr-4n0dm-fqju5-xxxxxxxxxxxxxxxx",
  "walletId": "wa-39abb-e9kpk-xxxxxxxxxxxxxxxx",
  "network": "EthereumSepolia",
  "requester": {
    "userId": "us-3v1ag-v6b36-xxxxxxxxxxxxxxxx",
    "tokenId": "to-7mkkj-c831n-xxxxxxxxxxxxxxxx",
    "appId": "ap-24vva-92s32-xxxxxxxxxxxxxxxx"
  },
  "requestBody": {
    "kind": "Erc721",
    "contract": "0x00fb58432ef9d418bf6688bcf0a226d2fcaa18e2",
    "to": "0xb282dc7cde21717f18337a596e91ded00b79b25f",
    "tokenId": "1"
  },
  "dateRequested": "2023-05-08T18:10:43.521Z",
  "status": "Pending"
}

Stellar

Classic Stellar Assets (SEP41)

Transfer classic Stellar Assets. They all implement the SEP-41 token interface.

Request body

Request body fieldsRequired/OptionalDescriptionType

kind

Required

Sep41

String

issuer

Required

The asset issuer address

String

assetCode

Required

The asset code

String

to

Required

The destination address

String

amount

Required

The amount of tokens to transfer in minimum denomination

String

memo

Optional

The memo

String

Sample request body

{
  "kind": "Sep41",
  "issuer": "GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
  "assetCode": "USDC",
  "to": "GAZWLHTNAOJWW52GZCUJAS5MSXK7LAWCUC5TFOFFVDQ7CDTNFODJ37GB",
  "amount": "1000000"
}

200 response example

{
  "id": "xfr-gbasv-hssu9-xxxxxxxxxxxxxxxx",
  "walletId": "wa-46sdf-a9stj-xxxxxxxxxxxxxxxx",
  "network": "Stellar",
  "requester": {
    "userId": "us-3v1ag-v6b36-xxxxxxxxxxxxxxxx",
    "tokenId": "to-7mkkj-c831n-xxxxxxxxxxxxxxxx",
    "appId": "ap-24vva-92s32-xxxxxxxxxxxxxxxx"
  },
  "requestBody": {
    "kind": "Sep41",
    "issuer": "GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
    "assetCode": "USDC",
    "to": "GAZWLHTNAOJWW52GZCUJAS5MSXK7LAWCUC5TFOFFVDQ7CDTNFODJ37GB",
    "amount": "1000000"
  },
  "metadata": {
    "asset": {
      "symbol": "USDC",
      "decimals": 7,
      "verified": true
    }
  },
  "dateRequested": "2024-05-08T14:34:04.446Z",
  "status": "Pending"
}

TRON

TRC-10

Transfer TRON's TRC-10 fungible tokens

Request body

Request body fieldsRequired/OptionalDescriptionType

kind

Required

Trc10

String

tokenId

Required

The token ID

String

to

Required

The destination address

String

amount

Required

The amount of tokens to transfer in minimum denomination

String

Sample request body

{
  "kind": "Trc10",
  "tokenId": "1005273",
  "to": "TADDx31pdCFfp3XrYxp6fQGbRxriYFLTrx",
  "amount": "10000"
}

TRC-20

Transfer fungible tokens that implement the TRC-20 smart contract specification.

Request body

Request body fieldsRequired/OptionalDescriptionType

kind

Required

Trc20

String

contract

Required

The smart contract address

String

to

Required

The destination address

String

amount

Required

The amount of tokens to transfer in minimum denomination

String

Sample request body

{
  "kind": "Trc20",
  "contract": "TXLAQ63Xg1NAzckPwKHvzw7CSEmLMEqcdj",
  "to": "TQJNezrbfJ3akrGgR7eM2fWyFpsKeM8wzN",
  "amount": "1000000"
}

TRC-721

Transfer non-fungible tokens that implement the TRC-721 smart contract specification.

Request body

Request body fieldsRequired/OptionalDescriptionType

kind

Required

Trc721

String

contract

Required

The smart contract address

String

to

Required

The destination address

String

tokenId

Required

The token to transfer

String

Sample request body

{
  "kind": "Trc721",
  "contract": "TKgnDMWHYmwH24REe9XnrnwcNCvtb53n8Q",
  "to": "TQJNezrbfJ3akrGgR7eM2fWyFpsKeM8wzN",
  "tokenId": "1"
}

Last updated