Create Batch Operation
An operation that can join transfers and swaps into a single operation.
In: header
The wallet address (in hexadecimal format) initiating the operation.
^0x[a-fA-F0-9]{40}$
The blockchain network where the operation originates. Supported EVM chains:
- Arbitrum One: 42161
- Avalanche: 43114
- Base: 8453
- BNB Smart Chain: 56
- Ethereum: 1
- Gnosis: 100
- OP Mainnet: 10
- Polygon: 137
List of operations to execute, the order in the list is the order of execution.
Response Body
curl -X POST "https://api.notus.team/api/v1/crypto/batch-operations" \ -H "Content-Type: application/json" \ -d '{ "walletAddress": "0xa2acc967a9fc4fd5d18351d06deb9b8718c18333", "chainId": 42161, "operations": [ { "type": "transfer", "params": { "amount": "101.25", "gasFeePaymentMethod": "ADD_TO_AMOUNT", "payGasFeeToken": "0x82af49447d8a07e3bd95bd0d56f35241523fbab1", "token": "0xaf88d065e77c8cc2239327c5edb3a432268e5831", "toAddress": "0xa7a9dcfcb65ed67e05d9c7eb49d2d74ce1f5f4f1" } } ] }'
{
"userOperationHash": "0x2aac7a66d5331454eafc9b981be3596ad08a40dad24883e3b9c4a5362cd7f7e1",
"quoteId": "0x2aac7a66d5331454eafc9b981be3596ad08a40dad24883e3b9c4a5362cd7f7e1",
"authorization": {
"chainId": 42161,
"address": "0xd6cedde84be40893d153be9d467cd6ad37875b28",
"nonce": 10,
"hash": "0x777811ae5d51875409b9978ddc1b40a9da1bbe9570040bdd7c5f186d70ceceba"
},
"expiresAt": "2025-10-26T13:27:49.542Z",
"operations": [
{
"swap": {
"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",
"tokenIn": "0x2791bca1f2de4661ed88a30c99a7a9449aa84174",
"amountIn": "1.26",
"tokenOut": "0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6",
"chainIn": 42161,
"chainOut": 43114,
"minAmountOut": "23.48",
"estimatedExecutionTime": "2026-04-12T14:49:12.762Z",
"estimatedGasFees": {
"payGasFeeToken": "0xc2132d05d31c914a87c6611c10748aeb04b58e8f",
"maxGasFeeToken": "12.345",
"gasFeeTokenAmount": "12.345",
"gasFeeTokenAmountUSD": "0.321",
"maxGasFeeNative": "string"
},
"estimatedCollectedFee": {
"collectedFeeToken": "string",
"collectedFee": "string",
"collectedFeePercent": "string",
"notusCollectedFee": "string",
"notusCollectedFeePercent": "string"
},
"amountInUSD": "23.4921",
"amountOutUSD": "23.502",
"tokenInPrice": "1.736",
"swapProvider": "ENSO",
"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"
}
{
"statusCode": 500,
"id": "SWAP_QUOTE",
"message": "Failed to get a swap quote. Please try again later"
}
Create Transfer POST
This endpoint provides a real-time quote for a token transfer, including the estimated amount of the token, fees, and other relevant details.
Create Custom User Operation POST
Enables you to create custom user operations with full control over transaction parameters. User Operations are the transaction format used in Account Abstraction, they are blockchain transactions executed through smart wallets. This endpoint allows you to execute any smart contract function, transfer native tokens, or perform complex operations by defining your own method signatures, call data, and more.