Skip to main content
POST
/
v1
/
transfers
Create a new Transfer transaction
curl --request POST \
  --url https://sandbox-api.borderless.xyz/v1/transfers \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "sourceAccountId": "cm2c4x3cc000019stwv7um4zl",
  "destinationAccountId": "cm3c4x3cc000019stwv7um4zm",
  "destinationExternalAddress": "0xE79a68B87544ed42Cc5aA805bb056201e7942D3A",
  "amount": "0.005",
  "asset": "ETH",
  "passphrase": "my-secure-passphrase"
}
'
{
  "id": "<string>",
  "type": "AssetDeposit",
  "status": "Submitted",
  "source": {
    "asset": "POL",
    "amount": "<string>",
    "fiatCurrency": "<string>",
    "accountId": "<string>"
  },
  "destination": {
    "asset": "POL",
    "amount": "<string>",
    "fiatCurrency": "<string>",
    "imad": "<string>",
    "omad": "<string>",
    "traceNumber": "<string>",
    "externalAddress": "<string>",
    "accountId": "<string>",
    "paymentInstructionId": "<string>"
  },
  "instructions": {},
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z",
  "txHash": [
    "<string>"
  ],
  "feeAmount": {},
  "failureReason": {},
  "depositInstruction": {
    "paymentMethod": "ACH",
    "details": {
      "depositMessage": "<string>",
      "bankAccountNumber": "<string>",
      "bankRoutingNumber": "<string>",
      "bankBeneficiaryName": "<string>",
      "bankBeneficiaryAddress": "<string>",
      "bankName": "<string>",
      "bankAddress": "<string>"
    }
  },
  "counterPartyIdentityId": "<string>",
  "developerFeeAmount": {}
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
  • Fireblocks Transfer
  • Utila Transfer
sourceAccountId
string
required

The id of the source account from which the transfer will be made.

Required string length: 25
Example:

"cm2c4x3cc000019stwv7um4zl"

amount
object
required

The amount to transfer, specified as a decimal number

Example:

"0.005"

asset
enum<string>
required

The token tied to a specific blockchain for the transfer. See the list of Supported Assets.

Available options:
POL,
USDT_POLYGON,
USDC_POLYGON,
USDM_POLYGON,
ETH,
USDT_ETHEREUM,
USDC_ETHEREUM,
USDM_ETHEREUM,
TRX,
USDT_TRON,
ETH_BASE,
USDC_BASE,
USDM_BASE,
ETH_OPTIMISM,
USDT_OPTIMISM,
USDC_OPTIMISM,
USDM_OPTIMISM,
BTC,
CELO,
CUSD_CELO,
USDC_CELO,
SOL,
USDC_SOLANA,
USDT_SOLANA
Example:

"ETH"

passphrase
string
required

The passphrase used for signing the transaction. Learn more at Fully-Managed Documentation.

Example:

"my-secure-passphrase"

destinationAccountId
string

The id of the destination account for the transfer. Required for internal transfers.

Required string length: 25
Example:

"cm3c4x3cc000019stwv7um4zm"

destinationExternalAddress
string

The external blockchain address for the transfer. This is required for transfers to external wallets.

Required string length: 26 - 42
Example:

"0xE79a68B87544ed42Cc5aA805bb056201e7942D3A"

Response

Successfully created Transfer transaction data.

id
string
required
type
enum<string>
required
Available options:
AssetDeposit,
Deposit,
Withdrawal,
Transfer,
TransferToExternalWallet,
Swap,
Approval
status
enum<string>
required
Available options:
Submitted,
Verifying,
Orchestrating,
Pending,
Processing,
Completed,
Failed,
Cancelled
source
object
required
destination
object
required
instructions
object | null
required
createdAt
string<date-time>
required
updatedAt
string<date-time>
required
txHash
string[]
required
feeAmount
object
required
failureReason
object | null
required
depositInstruction
object
required
counterPartyIdentityId
string | null
required
developerFeeAmount
object
required