A lightweight TypeScript package for building and sending Solana transactions with support for priority fees and Jito tips.
setRpc() function to configure RPC endpoints and default transaction settingsbuildAndSendTransaction() handles transaction building, signing, and confirmationyarn test
import { setRpc, setPriorityFeeSetting, setJitoTipSetting, setComputeUnitMarginMultiplier, buildAndSendTransaction } from "@orca-so/tx-sender";
const kp = await createKeyPairFromBytes(new Uint8Array([1, 2, 3, 4,...]));
const signer = await createSignerFromKeyPair(kp);
// Initialize RPC connection
// By default, uses continuous polling (pollIntervalMs: 0) with resending (resendOnPoll: true)
// for maximum landing rate - best for premium RPCs
await setRpc("https://api.mainnet-beta.solana.com");
// For public/free RPCs: reduce RPC usage to avoid rate limits
await setRpc("https://api.devnet.solana.com", {
pollIntervalMs: 1000,
resendOnPoll: false,
});
// Optional: Configure priority fees
setPriorityFeeSetting({
type: "dynamic",
maxCapLamports: BigInt(5_000_000), // Cap at 0.005 SOL
});
// Optional: Configure Jito tips
setJitoTipSetting({
type: "dynamic"
});
// Optional: Adjust compute unit margin
setComputeUnitMarginMultiplier(1.04); // 4% margin for compute units
const txHash = await buildAndSendTransaction(
[instruction1, instruction2],
keypairSigner
);
By default, tx-sender uses the following configuration:
These defaults can be overridden using the configuration functions shown in the example above.