Skip to content

Send Transaction

Submit any signed Solana transaction via Jito bundle submission + RPC simultaneously. No quote required, no fee injection — just fast, reliable submission.

Requires API key.

Similar to Jito's sendTransaction and Helius's sendTransaction, but submits to all 5 Jito block engines + Triton RPC simultaneously for maximum landing probability.

POST /v1/send

Request:

json
{
  "transaction": "AQAAAA...base64-encoded-signed-transaction...=="
}

Response (success):

json
{
  "signature": "5Kx9abc...3nF",
  "status": "submitted",
  "jito": true,
  "rpc": true
}

Response (unsigned):

json
{
  "error": "Transaction is not signed"
}

Fields:

FieldDescription
signatureTransaction signature (base58)
statusAlways "submitted" — does not wait for confirmation
jitoWhether Jito submission succeeded (at least one of 5 endpoints)
rpcWhether RPC submission succeeded

vs /v1/swap

/v1/swap/v1/send
Requires quoteIdYesNo
Fee verificationYesNo
Accepts any TXNo (must match quote)Yes
Jito submissionJito onlyJito + RPC
Use caseVenum-built swap TXsAny transaction

Use Cases

  • Bot builders: Build your own transactions, use Venum for reliable Jito submission
  • CEX-DEX arb: Build swap via /v1/swap/build, sign locally, submit via /v1/send
  • Custom TXs: Multi-instruction transactions, CPI calls, anything that needs frontrun protection

Example

typescript
// Build a swap
const { transaction } = await fetch('https://api.venum.dev/v1/swap/build', {
  method: 'POST',
  headers: { 'X-API-Key': key, 'Content-Type': 'application/json' },
  body: JSON.stringify({ inputMint, outputMint, amount, slippageBps: 50, userPublicKey }),
}).then(r => r.json());

// Sign locally
const tx = VersionedTransaction.deserialize(Buffer.from(transaction, 'base64'));
tx.sign([wallet]);

// Submit via Venum (Jito + RPC)
const result = await fetch('https://api.venum.dev/v1/send', {
  method: 'POST',
  headers: { 'X-API-Key': key, 'Content-Type': 'application/json' },
  body: JSON.stringify({ transaction: Buffer.from(tx.serialize()).toString('base64') }),
}).then(r => r.json());

console.log(result.signature); // Track on-chain

Rate Limits

TierLimit
External API key10 req/min
Internal API keyUnlimited