Dfns API Documentation
  • 👋Welcome
  • Getting Started
    • Onboarding to Dfns
    • Dfns Environments
    • Core API Objects
    • Supported Assets
    • Postman
    • Dfns SDKs
    • Dashboard Videos
  • API Docs
    • Introduction
    • Authentication
      • Delegated Authentication
        • Delegated Registration
        • Delegated Registration Restart
        • Delegated Login
      • User Action Signing
        • Create User Action Signature Challenge
        • Create User Action Signature
      • Registration
        • Create User Registration Challenge
        • Complete User Registration
        • Complete End User Registration with Wallets
        • Resend Registration Code
        • Social Registration
      • Login
        • Create User Login Challenge
        • Complete User Login
        • Social Login
        • Logout
        • Send Login Code
      • Users
        • List Users
        • Create User
        • Get User
        • Activate User
        • Deactivate User
        • Archive User
      • Service Accounts
        • List Service Accounts
        • Create Service Account
        • Get Service Account
        • Update Service Account
        • Activate Service Account
        • Deactivate Service Account
        • Archive Service Account
      • Applications
        • List Applications
        • Create Application
        • Create Server-Signed Application
        • Get Application
        • Update Application
        • Activate Application
        • Deactivate Application
        • Archive Application
      • Personal Access Tokens
        • List Personal Access Tokens
        • Create Personal Access Token
        • Get Personal Access Token
        • Update Personal Access Token
        • Activate Personal Access Token
        • Deactivate Personal Access Token
        • Archive Personal Access Token
      • Credentials
        • Credentials Overview
        • API Reference
          • Create Credential Code
          • Create Credential Challenge
          • Create Credential Challenge With Code
          • Create Credential
          • Create Credential With Code
          • Deactivate Credential
          • Activate Credential
          • List Credentials
      • Recovery
        • Send Recovery Code Email
        • Create Recovery Challenge
        • Create Delegated Recovery Challenge
        • Recover User
    • Wallets
      • Create Wallet
      • Update Wallet
      • Delete Wallet
      • [deprecated] Delegate Wallet
      • Get Wallet by ID
      • List Wallets
      • Get Wallet Assets
      • Get Wallet NFTs
      • Get Wallet History
      • Tag Wallet
      • Untag Wallet
      • Transfer Asset
      • Get Transfer Request by ID
      • List Transfer Requests
      • Sign and Broadcast Transaction
        • Algorand
        • Aptos
        • Bitcoin / Litecoin
        • Canton
        • Cardano
        • EVM
        • Solana
        • Stellar
        • Tezos
        • TRON
        • XRP Ledger (Ripple)
      • Get Transaction Request by ID
      • List Transaction Requests
      • [deprecated] Generate Signature
      • Advanced Wallet APIs
        • Import Wallet
        • [deprecated] Export Wallet
    • Fee Sponsors
      • Create Fee Sponsor
      • Get Fee Sponsor
      • List Fee Sponsors
      • Activate Fee Sponsor
      • Deactivate Fee Sponsor
      • Delete Fee Sponsor
      • List Sponsored Fees
    • Keys
      • Create Key
      • Update Key
      • Delete Key
      • Delegate Key
      • Get Key by ID
      • List Keys
      • Generate Signature
        • Algorand
        • Aptos
        • Bitcoin / Litecoin
        • Cardano
        • Cosmos Appchain
        • EVM
        • Solana
        • Stellar
        • Substrate (Polkadot)
        • Tezos
        • TON
        • TRON
        • XRP Ledger (Ripple)
      • Get Signature Request by ID
      • List Signature Requests
      • Advanced Key APIs
        • Import Key
        • Export Key
        • Deterministic Derivation
    • Networks
      • Estimate fees
      • Read Contract
      • Validators
        • Create Validator
        • List Validators
    • Policy Engine
      • Policies Overview
      • API Reference
        • Create Policy
        • Get Policy
        • List Policies
        • Update Policy
        • Archive Policy
        • Get Approval
        • List Approvals
        • Create Approval Decision
    • Permissions
      • Permissions Overview
      • API Reference
        • Get Permission
        • List Permissions
        • Create Permission
        • Update Permission
        • Archive Permission
        • Assign Permission
        • Revoke Permission
        • List Permission Assignments
    • Webhooks
      • Create Webhook
      • Get Webhook
      • List Webhooks
      • Update Webhook
      • Delete Webhook
      • Ping Webhook
      • Get Webhook Event
      • List Webhook Events
    • Dfns Change Log
    • API Errors
  • Integrations
    • Exchanges
      • Kraken
      • Binance
      • Coinbase Prime
      • API Reference
        • Create Exchange
        • List Exchanges
        • Get Exchange
        • Delete Exchange
        • List Exchange Accounts
        • List Exchange Account Assets
        • Create Exchange Deposit
        • Create Exchange Withdrawal
    • AML / KYT
      • Chainalysis
    • Staking
      • API Reference
        • Create Stake
        • Create Stake Action
        • List Stakes
        • List Stake Actions
        • get Rewards
    • Fiat On/Off-Ramps
    • Account Abstraction on EVMs
  • Advanced Topics
    • Authentication
      • API Authentication
      • Request Headers
      • Credentials
        • Generate a Key Pair
        • User Credentials
        • Access Token Credentials
        • Storing WebAuthn Credentials in Password Managers
      • Request Signing
      • API objects
    • Delegated Signing
    • API Idempotency
    • FAQ
  • Guides
    • Passkey Settings - Migration guide
    • Keys & Multichain - Migration Guide
Powered by GitBook
On this page
  • Required Permissions
  • Parameters
  • Path parameters
  • Request Body
  • Native Token
  • Algorand Standard Asset
  • Aptos Fungible Asset (AIP-21)
  • EVM Fungible Token (ERC-20)
  • EVM Non Fungible Token (ERC-721)
  • Solana Program Library Token (SPL and SPL 2022)
  • Stellar Classic Assets (SEP-41)
  • TON Jetton (TEP-74)
  • TRON Native Fungible Token (TRC-10)
  • TRON Smart Contract Fungible Token (TRC-20)
  • TRON Non Fungible Token (TRC-721)
  • Response Body
  • 200 Success
  1. API Docs
  2. Wallets

Transfer Asset

Last updated 3 days ago

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.

  • User action signature required. See for more information.

  • Request headers required. See for more information.

  • Authentication required. See for more information.

Required Permissions

Name
Conditions

Wallets:Transfers:Create

Always Required

Parameters

Path parameters

Path parameter
Description

walletId

Unique identifier of the wallet.

Request Body

Native Token

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

Field
Description
Type - Optional

kind

Native

String

to

The destination address.

String

amount

The amount of native tokens to transfer in minimum denomination.

String

priority

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

String (optional)

memo

The memo or destination tag. [2]

String (optional)

externalId

String (optional)

feeSponsorId

String (optional)

  1. Stellar, TON and XrpLedger support memo. Not valid for other networks.

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

Algorand Standard Asset

Field
Description
Type - Optional

kind

Asa

String

assetId

The asset ID of the token.

String

to

The destination address.

String

amount

The amount of tokens to transfer in minimum denomination.

String

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

Aptos Fungible Asset (AIP-21)

Field
Description
Type - Optional

kind

Aip21

String

metadata

The asset metadata address.

String

to

The destination address.

String

amount

The amount of tokens to transfer in minimum denomination.

String

{
  "kind": "Aip21",
  "metadata": "0xbae207659db88bea0cbead6da0ed00aac12edcdda169e591cd41c94180b46f3b",
  "to": "0x470a59fbbaaf5dc6bd06eea917245f025a8024d23c4364acec0f377282ee269a",
  "amount": "1000000"
}

EVM Fungible Token (ERC-20)

Field
Description
Type - Optional

kind

Erc20

String

contract

The ERC-20 contract address.

String

to

The destination address.

String

amount

The amount of tokens to transfer in minimum denomination.

String

priority

The priority that determines the fees paid for the transfer.

String (optional)

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

EVM Non Fungible Token (ERC-721)

Field
Description
Type - Optional

kind

Erc721

String

contract

The ERC-721 contract address.

String

to

The destination address.

String

tokenId

The token to transfer.

String

priority

The priority that determines the fees paid for the transfer.

String (optional)

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

Solana Program Library Token (SPL and SPL 2022)

Field
Description
Type

kind

Spl or Spl2022

String

mint

The mint account address.

String

to

The destination address.

String

amount

The amount of tokens to transfer in minimum denomination.

String

createDestinationAccount

If true, pay to create the associated token account of the recipient if it doesn't exist. Defaults to false.

Boolean (optional)

feeSponsorId

String (optional)

{
  "kind": "Spl",
  "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  "to": "3U6stgsD1FmA7o3omUguritCU8iWmUM7Rs6KqAHHxHVZ",
  "amount": "1000000"
}

Stellar Classic Assets (SEP-41)

Field
Description
Type

kind

Sep41

String

issuer

The asset issuer address.

String

assetCode

The asset code.

String

to

The destination address.

String

amount

The amount of tokens to transfer in minimum denomination.

String

memo

The memo.

String (optional)

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

TON Jetton (TEP-74)

Field
Description
Type - Optional

kind

Tep74

String

master

The Jetton master contract address.

String

to

The destination address.

String

amount

The amount of tokens to transfer in minimum denomination.

String

{
  "kind": "Tep74",
  "master": "EQAIZUJZxUgjovq8C6P5tRGwSsydiCtKiwRnycPnN1k4WpFo",
  "to": "EQBfYLuQwjbBd-LAZ6eNC26XmVVxEl86MQPKG981hdTSicL_",
  "amount": "1000000"
}

TRON Native Fungible Token (TRC-10)

Transfer TRON's TRC-10 fungible tokens

Field
Description
Type - Optional

kind

Trc10

String

tokenId

The token ID.

String

to

The destination address.

String

amount

The amount of tokens to transfer in minimum denomination.

String

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

TRON Smart Contract Fungible Token (TRC-20)

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

Field
Description
Type - Optional

kind

Trc20

String

contract

The smart contract address.

String

to

The destination address.

String

amount

The amount of tokens to transfer in minimum denomination.

String

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

TRON Non Fungible Token (TRC-721)

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

Field
Description
Type - Optional

kind

Trc721

String

contract

The smart contract address.

String

to

The destination address.

String

tokenId

The token to transfer.

String

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

Response Body

Field
Description
Type - Optional

id

ID of the transfer request.

String

walletId

ID of the wallet.

String

network

The network of the transfer.

String

requester.userId

ID of the user made the transfer request.

String

requester.tokenId

ID of the token used to make the transfer request.

String (optional)

requester.appId

Application ID used to make the transfer request.

String (optional)

requestBody

The original request body.

Object

externalId

External ID specified in the request.

String (optional)

feeSponsorId

The ID of the fee sponsor.

String (optional)

dateRequested

String

status

The current status of the request. See table below for a list of possible statuses.

String

txHash

The on-chain transaction hash.

String (optional)

dateBroadcasted

String (optional)

approvalId

ID of the approval when the request triggered a policy.

String (optional)

datePolicyResolved

String (optional)

reason

The failure reason if the request failed to complete.

String (optional)

fee

The transaction fee.

String (optional)

dateConfirmed

String (optional)

Request Statuses

Status
Definition

Pending

Executing

The request is approved and is in the process of being executed. note this status is only set for a short time between pending and broadcasted.

Broadcasted

The transaction has been successfully written to the mempool.

Confirmed

The transaction has been confirmed on-chain by our indexing pipeline.

Failed

Indicates either system failure to complete the request or the transaction failed on chain.

Rejected

The request has been rejected by a policy approval action.

200 Success

{
  "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"
}

A unique ID from your system. It can be leveraged to be used as an idempotency key. (read more )

A fee sponsor id to sponsor the transaction fee by another wallet. (read more )

All EVM compatible networks and Bitcoin support priority. Not supported for other networks. The accepted values are Slow, Standard and Fast. It uses the API to calculate the transfer fees. When not specified, defaults to Standard priority.

Transfer Algorand standard assets, or .

Transfer Aptos fungible asset that implement the .

Transfer fungible tokens that implement the .

Transfer non-fungible tokens that implement the

Transfer or .

A fee sponsor id to sponsor the transaction fee by another wallet. (read more )

Transfer classic . They all implement the .

Transfer tokens.

date string when the request was made.

date string when transaction was broadcasted to the blockchain.

date string when the triggered policy was either approved or denied.

date string when the transaction was confirmed on chain.

The request is pending approval due to a to the wallet.

estimate fees
ASAs
AIP-21 specification
ERC-20 specification
ERC-721 specification
SPL tokens
SPL 2022 tokens
Stellar Assets
SEP-41 token interface
Jetton
here
here
here
ISO 8601
ISO 8601
ISO 8601
ISO 8601
policy applied
User Action Signing
Request Headers
Authentication Headers