Skip to main content
POST
Build batch transaction
  • every order must send the same token — all the chain’s native coin, or all the same ERC-20. Mixing them is rejected
  • supported on Ethereum, Base and BNB Smart Chain; other EVM chains are rejected
  • up to 20 legs per batch
  • send value and tokenAmount to to, sign userOpHash, then call Submit signed transaction
  • large groups come back as several batches, so handle every entry in transactions
  • if a bundle fails: retry within 30 minutes, or recover stuck assets
Find batchable tokens with Get tokens and hasBundler=true. See the multi-swap flow for the full sequence.

Authorizations

Authorization
string
header
required

Send Authorization: <ApiKey>:<ApiSecret> — joined by a colon, raw. No Bearer prefix, no base64.

Get your credentials

Path Parameters

multiId
string
required

The multi exchange group ID

Maximum string length: 64

Body

application/json

Request body for POST /exchanges/multi/{multiId}/tx/build

sender
string
required

Wallet that will sign and fund the transaction(s). On EVM it also owns the smart account the batch runs through, so the same wallet must sign at Submit signed transaction.

Minimum string length: 1
houdiniIds
string[]

Optional subset of orders to build for; defaults to all orders in the group

Maximum array length: 50

Response

Success

multiId
string
required

The group these transactions fund.

chain
string
required

Chain kind of the from token (e.g. "solana", "evm")

transactions
object[]
required

One entry per batch. A group larger than the per-chain batch limit is split across several.

txVersion
enum<string>

Solana only. Format of every transaction in transactions. Matches the txVersion you requested, or legacy if you did not set one.

Available options:
legacy,
v0,
v1
depositNeeded
string

Native coin the smart account still needs before you can submit, in wei. "0" means it is already funded.

saCurrentBalance
string

Native coin the smart account holds right now, in wei. The account is owned by the sender wallet, so this balance stays under the user's control.