Notus API
Transfers

Create Transfer

This endpoint provides a real-time quote for a token transfer, including the estimated amount of the token, fees, and other relevant details.

POST
/api/v1/crypto/transfer
x-api-key<token>

In: header

amountstring

The amount to be transferred, expressed as a decimal string.

chainIdnumber

The blockchain network where the transfer executes. Supported EVM chains:

  • Arbitrum One: 42161
  • Avalanche: 43114
  • Base: 8453
  • BNB Smart Chain: 56
  • Ethereum: 1
  • Gnosis: 100
  • OP Mainnet: 10
  • Polygon: 137
gasFeePaymentMethodstring

Defines how the fee will be paid: ADD_TO_AMOUNT adds it to the input amount, while DEDUCT_FROM_AMOUNT subtracts it from the input amount.

Value in"ADD_TO_AMOUNT" | "DEDUCT_FROM_AMOUNT"
payGasFeeTokenstring

The token address (in hexadecimal format) used to pay the transaction fee.

tokenstring

The address (in hexadecimal format) of the token being transferred.

walletAddressstring

The wallet address (in hexadecimal format) initiating the swap.

toAddressstring

The wallet address (in hexadecimal format) receiving the transfer.

transactionFeePercent?number

Percentage fee to be charged (0 to 99%). The fee is deducted from the input token and sent to the treasuryAddress if configured.

Range0 <= value <= 99.99
metadata?object

Empty Object

Response Body

curl -X POST "https://api.notuslabs.xyz/api/v1/crypto/transfer" \  -H "Content-Type: application/json" \  -d '{    "amount": "101.25",    "chainId": 42161,    "gasFeePaymentMethod": "ADD_TO_AMOUNT",    "payGasFeeToken": "0x82af49447d8a07e3bd95bd0d56f35241523fbab1",    "token": "0xaf88d065e77c8cc2239327c5edb3a432268e5831",    "walletAddress": "0x6e397ddf51d9f15dbe0414538e7529f51f2e5464",    "toAddress": "0xa7a9dcfcb65ed67e05d9c7eb49d2d74ce1f5f4f1"  }'
{
  "transfer": {
    "metadata": {
      "key": "value"
    },
    "userOperationHash": "0x2aac7a66d5331454eafc9b981be3596ad08a40dad24883e3b9c4a5362cd7f7e1",
    "quoteId": "0x2aac7a66d5331454eafc9b981be3596ad08a40dad24883e3b9c4a5362cd7f7e1",
    "revertReason": {
      "decoded": "ERC-20 insufficient balance. Address 0xf12534a4939c7fbda50f893774a9525265fe1a9a has 120. The operation requested 200.",
      "raw": "0xe450d38c000000000000000000000000f12534a4939c7fbda50f893774a9525265fe1a9a0000000000000000000000000000000000000000000000068155a43676e0000000000000000000000000000000000000000000000000000ad78ebc5ac6200000",
      "utf8": "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�%4�����\u000f�7t�RRe�\u001a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006�U�6v�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n׎�Z� \u0000\u0000"
    },
    "authorization": {
      "chainId": 42161,
      "address": "0xd6cedde84be40893d153be9d467cd6ad37875b28",
      "nonce": 10,
      "hash": "0x777811ae5d51875409b9978ddc1b40a9da1bbe9570040bdd7c5f186d70ceceba"
    },
    "walletAddress": "0x6e397ddf51d9f15dbe0414538e7529f51f2e5464",
    "token": "0x2791bca1f2de4661ed88a30c99a7a9449aa84174",
    "amountToSend": "1.26",
    "amountToSendUSD": "23.48",
    "amountToBeReceived": "1.255",
    "amountToBeReceivedUSD": "23.386825396825396825",
    "chain": 43114,
    "estimatedExecutionTime": "2026-04-12T14:49:12.762Z",
    "estimatedGasFees": {
      "payGasFeeToken": "0xc2132d05d31c914a87c6611c10748aeb04b58e8f",
      "maxGasFeeToken": "12.345",
      "gasFeeTokenAmount": "12.345",
      "gasFeeTokenAmountUSD": "0.321",
      "maxGasFeeNative": "string"
    },
    "estimatedCollectedFee": {
      "collectedFeeToken": "0xc2132d05d31c914a87c6611c10748aeb04b58e8f",
      "collectedFee": "string",
      "collectedFeePercent": "string",
      "notusCollectedFee": "string",
      "notusCollectedFeePercent": "string"
    },
    "toAddress": "0x89c9da1cc13daebe9caca2418c1028253636b163",
    "expiresAt": 1751469204210
  }
}
{
  "statusCode": 400,
  "id": "NOT_AUTHORIZED_TOKENS",
  "message": "The tokens '[0xaf88d065e77c8cc2239327c5edb3a432268e5831]' are not supported by Notus API. "
}
{
  "statusCode": 403,
  "id": "UNAVAILABLE_COMPUTE_UNITS",
  "message": "The project doesn't have enough compute units to perform this action. Please upgrade your plan."
}
{
  "statusCode": 404,
  "id": "ACCOUNT_ABSTRACTION_ADDRESS_NOT_REGISTERED_WITH_PROJECT",
  "message": "The requested wallet \"0x6e397ddf51d9f15dbe0414538e7529f51f2e5464\" is not registered with the project"
}