Create Batch Operation
An operation that can join transfers and swaps into a single operation.
Authorization
x-api-key In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/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", "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" }, "expiresAt": "2025-10-26T13:27:49.542Z", "operations": [ { "swap": { "metadata": { "key": "value" }, "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" }, "tokenIn": "0x2791bca1f2de4661ed88a30c99a7a9449aa84174", "amountIn": "1.26", "tokenOut": "0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6", "chainIn": 42161, "chainOut": 43114, "minAmountOut": "23.48", "amountOut": "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": "0xc2132d05d31c914a87c6611c10748aeb04b58e8f", "collectedFee": "string", "collectedFeePercent": "string", "notusCollectedFee": "string", "notusCollectedFeePercent": "string" }, "amountInUSD": "23.4921", "amountOutUSD": "23.502", "tokenInPrice": "1.736", "swapProvider": "CCTP", "expiresAt": 1751469204210, "fees": [ { "amount": "100.5", "token": "0x1234567890123456789012345678901234567890", "toAddress": "0x1234567890123456789012345678901234567890", "type": "NOTUS", "percentage": "2" } ], "typedData": { "domain": { "name": "Portikus", "version": "2.0.0", "chainId": 137, "verifyingContract": "0x6e397ddf51d9f15dbe0414538e7529f51f2e5464" }, "types": { "Kernel": [ { "name": "hash", "type": "bytes32" } ] }, "primaryType": "Order", "message": { "owner": "0x6e397ddf51d9f15dbe0414538e7529f51f2e5464", "srcAmount": "1000000000000000000" } }, "userOperationHash": "0x2aac7a66d5331454eafc9b981be3596ad08a40dad24883e3b9c4a5362cd7f7e1", "quoteId": "0x2aac7a66d5331454eafc9b981be3596ad08a40dad24883e3b9c4a5362cd7f7e1", "authorization": { "chainId": 42161, "address": "0xd6cedde84be40893d153be9d467cd6ad37875b28", "nonce": 10, "hash": "0x777811ae5d51875409b9978ddc1b40a9da1bbe9570040bdd7c5f186d70ceceba" }, "rwaApproveUserOperation": { "userOperationHash": "string", "authorization": { "chainId": 42161, "address": "0xd6cedde84be40893d153be9d467cd6ad37875b28", "nonce": 10, "hash": "0x777811ae5d51875409b9978ddc1b40a9da1bbe9570040bdd7c5f186d70ceceba" } }, "walletAddress": "0x6e397ddf51d9f15dbe0414538e7529f51f2e5464", "toAddress": "0x6e397ddf51d9f15dbe0414538e7529f51f2e5464" } } ]}Prepare limit order cancellation POST
Returns the typed data required to cancel an active Velora Delta limit order.
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.