Skip to main content
POST
Submit signed transaction

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
signatures
string[]
required

One signature per batch, in the same order as transactions in the build response.

Sign each batch's userOpHash as a message, with the same wallet you passed as sender when building. Pass the hash as bytes, not as a hex string — signing the "0x…" text produces a different digest and the submit is rejected.

  • viem — walletClient.signMessage({ account, message: { raw: userOpHash } })
  • ethers v6 — signer.signMessage(getBytes(userOpHash))
  • ethers v5 — signer.signMessage(ethers.utils.arrayify(userOpHash))
Minimum array length: 1

Response

UserOperation(s) submitted

userOpHashes
string[]
required

One hash per submitted batch — the on-chain reference for each UserOperation.