@solana-mev-sdk/jito-tip-tx
v0.3.3
Published
Create Jito tip transactions for Solana bundles — tip accounts and random selection
Maintainers
Readme
@solana-mev-sdk/jito-tip-tx
Create Jito tip transactions for Solana bundles. Provides official Jito mainnet tip account addresses and a helper to build an unsigned SOL transfer to a tip account. You sign the transaction after creation: tipTx.sign([tipPayer]).
Install
npm install @solana-mev-sdk/jito-tip-tx @solana/web3.js bs58@solana/web3.js and bs58 are peer dependencies; your project must have them installed.
Usage
Create tip transaction (unsigned)
import { Connection, Keypair } from "@solana/web3.js";
import { createTipTransaction } from "@solana-mev-sdk/jito-tip-tx";
const connection = new Connection("https://api.mainnet-beta.solana.com");
const tipPayer = Keypair.fromSecretKey(/* ... */);
const tipAmountSol = 0.00001;
const tipTx = await createTipTransaction(connection, tipPayer, tipAmountSol);
tipTx.sign([tipPayer]);
// Use tipTx in your bundle or send via sendRawTransactionWith a specific tip account and commitment:
const tipTx = await createTipTransaction(
connection,
tipPayer,
tipAmountSol,
"finalized",
{ tipAccount: "96gYZGLnJYVFmbjzopPSU6QiEV5fGqZNyN9nmNhvrZU5" }
);
tipTx.sign([tipPayer]);Tip accounts and random selection
import {
JITO_TIP_ACCOUNTS,
JITO_TIP_ACCOUNT_DEFAULT,
getRandomTipAccount,
} from "@solana-mev-sdk/jito-tip-tx";
// All mainnet tip accounts
console.log(JITO_TIP_ACCOUNTS);
// Single default account (first in list)
console.log(JITO_TIP_ACCOUNT_DEFAULT);
// Random account (same as createTipTransaction default when options omitted)
const tipAccount = getRandomTipAccount();API
createTipTransaction(connection, tipPayer, tipAmountSol, commitment?, options?)
Returns a Promise<VersionedTransaction> (unsigned). You must call tipTx.sign([tipPayer]) before including in a bundle or sending.
| Parameter | Type | Description |
|------------------|----------|-------------|
| connection | Connection | Solana RPC connection (for blockhash). |
| tipPayer | Keypair | Keypair that pays the tip and will sign the tx. |
| tipAmountSol | number | Tip amount in SOL (e.g. 0.00001). |
| commitment | "finalized" \| "confirmed" \| "processed" | Optional; default "finalized". Used for getLatestBlockhash. |
| options | CreateTipTransactionOptions | Optional. tipAccount – destination; if omitted, a random account is used. |
CreateTipTransactionOptions
tipAccount?: string– Tip destination (base58). If not set, a random Jito tip account is used.
Constants and helpers
JITO_TIP_ACCOUNTS– Readonly array of Jito mainnet tip account addresses.JITO_TIP_ACCOUNT_DEFAULT– First tip account in the list.getRandomTipAccount()– Returns one tip account at random.
License
MIT
