Skip to main content
POST
/
wallets
/
{walletId}
/
transfers
curl --request POST \
--url https://api.dfns.io/wallets/{walletId}/transfers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-DFNS-USERACTION: <api-key>' \
--data '{
"kind": "Native",
"to": "0xe5a2ebc128e262ab1e3bd02bffbe16911adfbffb",
"amount": "1"
}'
{
  "id": "<string>",
  "walletId": "<string>",
  "network": "Algorand",
  "requester": {
    "userId": "<string>",
    "tokenId": "<string>"
  },
  "requestBody": {
    "kind": "Native",
    "to": "<string>",
    "amount": "<string>",
    "memo": "<string>",
    "priority": "Slow",
    "createDestinationAccount": true,
    "offer": true,
    "expiresAt": "2023-11-07T05:31:56Z",
    "targetChain": "<string>",
    "externalId": "<string>",
    "travelRule": {
      "kind": "Notabene",
      "beneficiaryVASPdid": "<string>",
      "beneficiaryProof": {},
      "originator": {},
      "beneficiary": {}
    },
    "feeSponsorId": "<string>"
  },
  "metadata": {
    "asset": {
      "symbol": "<string>",
      "decimals": 123,
      "verified": true,
      "quotes": {
        "EUR": 123,
        "USD": 123
      }
    }
  },
  "status": "Pending",
  "reason": "<string>",
  "txHash": "<string>",
  "fee": "<string>",
  "dateRequested": "<string>",
  "datePolicyResolved": "<string>",
  "dateBroadcasted": "<string>",
  "dateConfirmed": "<string>",
  "approvalId": "<string>",
  "externalId": "<string>",
  "feeSponsorId": "<string>"
}

Authentication

✅ Organization User (CustomerEmployee)
✅ Delegated User (EndUser)
✅ Service Account

Required Permissions

Wallets:Transfers:Create: Always required
FeeSponsors:Use: Required if feeSponsorId is specified.

Authorizations

Authorization
string
header
required

Bearer Token: Used to authenticate API requests. More details how to generate the token: Authentication flows

X-DFNS-USERACTION
string
header
required

User Action Signature: Used to sign the change-inducing API requests. More details how to generate the token: User Action Signing flows

Path Parameters

walletId
string
required

The source wallet id (wa-...).

Minimum length: 1

Body

application/json
  • Native Asset
  • Algorand Standard Asset
  • Aptos Fungible Asset (AIP-21)
  • Cardano Asset
  • Sui Coin
  • EVM Fungible Token (ERC-20)
  • EVM Non Fungible Token (ERC-721)
  • Hedera Non-Fungible Token (HIP-17)
  • Hedera Tokens (HTS)
  • Stellar Classic Assets (SEP-41)
  • Solana Program Library Token (SPL and SPL 2022)
  • TON Jetton (TEP-74)
  • TRON Native Fungible Token (TRC-10)
  • TRON Smart Contract Fungible Token (TRC-20)
  • TRON Non Fungible Token (TRC-721)

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

kind
enum<string>
required
Available options:
Native
to
string
required

The destination address.

amount
string
required

The amount of native tokens to transfer in minimum denomination.

memo
string

The memo or destination tag. Stellar, TON and XrpLedger support memo. Not valid for other networks.

priority
enum<string>

The priority that determines the fees paid for the transfer. All EVM compatible networks and Bitcoin support priority. Not supported for other networks. It uses the estimate fees API to calculate the transfer fees. When not specified, defaults to Standard priority.

Available options:
Slow,
Standard,
Fast
createDestinationAccount
boolean

Whether to create the destination account on chains that require account creation (e.g., Stellar, Kadena). Only valid for chains that require the receiver account to exist before transfer.

offer
boolean

Optional field for Canton, if true it will create a transfer offer.

expiresAt
string<date-time>

Optional field for Canton, especially useful in the context of offers

targetChain
string

For multi-chain networks (e.g., Kadena), specify the destination chain for cross-chain transfers.

externalId
string

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

Required string length: 1 - 50
travelRule
object

A travel rule payload to associate with the transfer. (read more here)

feeSponsorId
string

Id of the fee sponsor that will be used to pay for your transfer fees, it might not be available for all blockchains. (read more here)

Required string length: 1 - 50

Response

200 - application/json

Success

id
string
required
walletId
string
required
network
enum<string>
required
Available options:
Algorand,
AlgorandTestnet,
Aptos,
AptosTestnet,
ArbitrumOne,
ArbitrumSepolia,
AvalancheC,
AvalancheCFuji,
BabylonGenesis,
BabylonTestnet5,
Base,
BaseSepolia,
Berachain,
BerachainBepolia,
Bitcoin,
BitcoinSignet,
BitcoinTestnet3,
BitcoinCash,
Bob,
BobSepolia,
Bsc,
BscTestnet,
Canton,
CantonTestnet,
Cardano,
CardanoPreprod,
Celo,
CeloAlfajores,
Codex,
CodexSepolia,
CosmosHub4,
CosmosIcsTestnet,
Dogecoin,
Ethereum,
EthereumGoerli,
EthereumSepolia,
EthereumHolesky,
EthereumHoodi,
FantomOpera,
FantomTestnet,
FlareC,
FlareCCoston2,
Hedera,
HederaTestnet,
Ink,
InkSepolia,
InternetComputer,
Ion,
IonTestnet,
Iota,
IotaTestnet,
KadenaTestnet4,
Kadena,
Kaspa,
Kusama,
Litecoin,
Near,
NearTestnet,
Optimism,
OptimismSepolia,
Origyn,
Plume,
PlumeSepolia,
Polkadot,
Polygon,
PolygonAmoy,
Polymesh,
PolymeshTestnet,
Race,
RaceSepolia,
SeiAtlantic2,
SeiPacific1,
Solana,
SolanaDevnet,
Stellar,
StellarTestnet,
Sui,
SuiTestnet,
Tsc,
TscTestnet1,
Tezos,
TezosGhostnet,
Ton,
TonTestnet,
Tron,
TronNile,
Westend,
XrpLedger,
XrpLedgerTestnet
requester
object
required
requestBody
object
required

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

  • Native Asset
  • Algorand Standard Asset
  • Aptos Fungible Asset (AIP-21)
  • Cardano Asset
  • Sui Coin
  • EVM Fungible Token (ERC-20)
  • EVM Non Fungible Token (ERC-721)
  • Hedera Non-Fungible Token (HIP-17)
  • Hedera Tokens (HTS)
  • Stellar Classic Assets (SEP-41)
  • Solana Program Library Token (SPL and SPL 2022)
  • TON Jetton (TEP-74)
  • TRON Native Fungible Token (TRC-10)
  • TRON Smart Contract Fungible Token (TRC-20)
  • TRON Non Fungible Token (TRC-721)
metadata
object
required
status
enum<string>
required
Available options:
Pending,
Executing,
Broadcasted,
Confirmed,
Failed,
Rejected
dateRequested
string
required
reason
string
txHash
string
fee
string
datePolicyResolved
string
dateBroadcasted
string
dateConfirmed
string
approvalId
string
externalId
string
feeSponsorId
string
I