Submit blockchain transactions

Submit pre-signed transactions, or build and submit a swap in one request.

Recommended: type: "submit"

Build with /swap/api/v1/transaction/build, sign locally, then send chain, exchange, type: "submit", and a non-empty signedTransactions array. The response is always {"result": ["signature-or-hash"]}.

Optional: type: "buildAndSubmit"

Send buildTransactionData with a private key to let the service build, sign, and submit. This mode is not available for Jupiter and is not recommended when client-side signing is possible.

Multiple transactions

  • Normal RPC mode (antiMev: false): transactions are broadcast independently; submission is not atomic and array order is not a landing guarantee.
  • Solana with Jito: multiple transactions are sent as one Jito bundle.
  • Solana with NextBlock, Temporal, CBase, ZeroSlot, or bloXroute: send exactly one transaction.
  • BSC with bloXroute: multiple transactions are sent in one bloXroute bundle request.
  • Jupiter: send exactly one transaction plus the unchanged requestId and lastValidBlockHeight returned by the build endpoint.

MEV providers can reject or drop a bundle. A successful HTTP response means the submission was accepted by the configured submission path; use the status endpoint to determine on-chain outcome.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

The HTTP body is encrypted text, but the plaintext before encryption is a JSON object.

Submit signed transactions — recommended

Decrypted JSON fieldRequiredDescription
chainYessol, eth, bsc, or base
exchangeYesDEX used to build the transaction, such as raydium, jupiter, or uniswap
typeYesSet to submit
signedTransactionsYesNon-empty array of signed serialized transactions
settingNoSupports antiMev, antiMevProvider, mevPriorityFee, mevTip, priorityFee, and wrappedNative
requestIdJupiter onlyUnchanged value returned by the build endpoint
lastValidBlockHeightJupiter onlyUnchanged value returned by the build endpoint

setting options

FieldType/defaultDescription
antiMevboolean, falseEnable protected submission
antiMevProviderenum, optionalChoose from the provider table below; omit to use the configured chain default
mevPriorityFeenumeric stringProvider priority fee in the chain native token
mevTipnumeric stringProvider tip in the chain native token
priorityFeenumeric stringStandard priority fee in the chain native token
wrappedNativeboolean, falseRequest wrapped-native-token behavior where supported

antiMevProvider options

Set setting.antiMev to true, then optionally select one of these exact values:

ChainantiMevProvider values
Solanajito, nextblock, temporal, cbase, zeroslot, bloxroute
BSCbloxroute
EthereumNot supported
BaseNot supported

Jupiter ignores anti-MEV settings because it handles landing.

Plaintext example:

{
  "chain": "sol",
  "exchange": "raydium",
  "type": "submit",
  "signedTransactions": ["BASE64_SIGNED_TRANSACTION"],
  "setting": {
    "antiMev": true,
    "antiMevProvider": "jito"
  }
}

Build and submit in one request

Set type to buildAndSubmit and replace signedTransactions with buildTransactionData. The nested object uses the build fields documented on the build endpoint and must include wallets.privateKey. Jupiter does not support this mode.

Stringify the plaintext JSON, encrypt it as AES-256-GCM using 12-byte nonce || ciphertext || 16-byte tag, encode it with unpadded Base64URL, and send that string as this text/plain body. The ReadMe Node.js sample performs the complete transformation.

Responses

Language
Credentials
Header
URL
LoadingLoading…
Response
Choose an example:
application/json