Build transactions

Build and return transaction data ready for signing or submission. This endpoint constructs
blockchain transactions based on your parameters and returns either signed or unsigned
transaction strings.

⚠️ ENCRYPTION REQUIRED

This endpoint requires AES-256-GCM encrypted request bodies.

All requests must be encrypted using your API credential's encryption key.
See the Request Encryption section in the Transactions tag description above for implementation details.

Request Headers:

Content-Type: text/plain
X-Encrypted: true

Response Headers:

  • X-Server-Signature: HMAC-SHA256 signature of response body (verify this!)

Response Modes

Signed Transactions (with privateKey)

When you include privateKey in the wallets object, the API returns signed transactions
in the result field, ready for submission.

Unsigned Transactions (without privateKey)

When you omit privateKey, the API returns unsigned transactions in the
unsignedTransactions field. Sign these client-side using your wallet or hardware device,
then submit via /transaction endpoint.


Usage Notes

  • Transactions are built but NOT submitted to the blockchain
  • Automatically calculates optimal gas/priority fees if not specified
  • Validates transaction parameters before building
  • Handles token approvals automatically when needed (EVM chains)
  • When exchange: "jupiter", only Solana is supported

Accessibility

Tier Access: Starter, Pro, Enterprise

Compute Unit Cost: 10 CU per request

Chain Supported

ChainSupported DEXs
SolanaPump.fun, PumpAMM, Raydium (CLMM, CPMM, V4), Jupiter
EthereumUniswap V2, Uniswap V3
BaseUniswap V2, Uniswap V3
BSCFourmeme, PancakeSwap V2

Anti-MEV Provider Support

ChainAvailable Providers
Solanajito, nextblock, temporal, cbase, zeroslot, bloxroute
BSCbloxroute
ETHNot supported
BaseNot supported

Transaction Types

Swap Transactions

Immediate token-to-token exchanges with configurable slippage and optional MEV protection.


Common Use Cases

  • Pre-build transactions for later submission
  • Create unsigned transactions for hardware wallet signing
  • Build complex multi-transaction strategies
  • Test transaction parameters without submitting
  • Implement approval workflows requiring user confirmation

Best Practices

  • Always encrypt requests - Unencrypted requests will be rejected
  • Verify response signatures - Check X-Server-Signature header
  • Validate wallet balances before building transactions
  • Set appropriate priority fees based on network congestion
  • Test with small amounts before executing large transactions
  • Submit built transactions promptly (they may expire on some chains)
  • Consider gas/fee costs in your profit calculations
  • Prefer unsigned transactions for maximum security (never send private keys)

Security Considerations

  • All requests must be encrypted with your encryption key
  • Verify all response signatures before processing
  • Consider using unsigned transaction mode (omit privateKey)
  • Never share signed transaction strings publicly
  • Implement transaction amount limits
  • Validate all parameters before building
  • Set transaction expiration times appropriately
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Transaction parameters for building

Request body for building transactions without immediate submission

string

Liquidity pool contract address for the trading pair.
Required for most swap operations.

string

DEX protocol identifier (e.g., "jupiter", "raydium", "pumpamm").

Jupiter-specific behavior:

  • Only supports TOKEN/SOL pairs — quoteToken must be Wrapped SOL (So11111111111111111111111111111111111111112)
  • Only supports unsigned mode — privateKey is ignored; always returns unsignedTransactions
  • buildAndSubmit is not supported; use build → sign locally → submit
  • tax is not currently supported — request will be rejected if tax is included (may be supported in a future release)
  • Anti-MEV settings are ignored; Jupiter handles transaction landing internally
  • exactInAmount is in human-readable units (same as all other exchanges); the server converts to lamports internally
  • Response includes requestId and lastValidBlockHeight — pass both back when submitting
  • Sign and submit quickly after building; Jupiter orders expire within seconds
string

Base token contract address

string

Quote token contract address.
Jupiter: Must be Wrapped SOL (So11111111111111111111111111111111111111112). Only TOKEN/SOL pairs are supported.

string
enum

Transaction type to build

Allowed:
string

Target blockchain network

string
enum

Trade direction ("buy" or "sell")

Allowed:
swap
object

Swap transaction parameters

sltp
array of objects
length ≤ 10

Stop-loss/take-profit conditions

sltp
wallets
object

Wallet for signing the transaction.

Note: If privateKey is omitted, returns unsigned transactions for client-side signing.

setting
object

Transaction execution settings including anti-MEV protection and priority fees.

tax
object

Optional tax configuration for fee collection.
See TaxData schema for details.

Not currently supported for Jupiter — request will be rejected with a 400 error if tax is included when exchange is "jupiter". This restriction may be lifted in a future release.

Responses

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json