TukTuk delivers reliable, blazing-fast cron jobs for your Solana applications. Set it, forget it, and watch your tasks execute with precision.
Designed for developers who need reliable, fast, and secure on-chain automation.
Execute tasks with minimal latency. TukTuk is optimized for speed at every step of the process.
Set up complex schedules with cron syntax.
Built-in redundancy ensures your tasks run on time, every time, with automatic retries.
Simple API, comprehensive SDKs, and detailed documentation make integration a breeze.
Smart contracts currently being audited. Use at your own risk.
Optimize your Solana operations with efficient task scheduling and execution patterns.
Get up and running in minutes with our straightforward API.
Explore these practical examples to start building with TukTuk SDK.
import { AnchorProvider, Wallet } from "@coral-xyz/anchor";
import {
compileTransaction,
init,
queueTask
} from "@helium/tuktuk-sdk";
import { Connection, Keypair, PublicKey, TransactionInstruction } from "@solana/web3.js";
// Solana Memo Program ID
const MEMO_PROGRAM_ID = new PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr");
// Initialize provider with your wallet and connection
const connection = new Connection("YOUR_RPC_URL", "confirmed");
const wallet = new Wallet(YOUR_KEYPAIR);
const provider = new AnchorProvider(connection, wallet, {
commitment: "confirmed",
});
// Initialize TukTuk program
const program = await init(provider);
const taskQueue = await initializeTaskQueue(program, "YOUR_QUEUE_NAME");
// Create a simple memo instruction
const memoInstruction = new TransactionInstruction({
keys: [],
data: Buffer.from("Hello World!", "utf-8"),
programId: MEMO_PROGRAM_ID,
});
// Compile the instruction for TukTuk
const { transaction, remainingAccounts } = compileTransaction(
[memoInstruction],
[]
);
// Queue the task for immediate execution
const { pubkeys: { task }, signature } = await (await queueTask(program, {
taskQueue,
args: {
trigger: { now: {} },
crankReward: null,
freeTasks: 0,
transaction: {
compiledV0: [transaction],
},
description: "Send memo message",
},
}))
.remainingAccounts(remainingAccounts)
.rpcAndKeys();
console.log("Task queued! Transaction signature:", signature);
console.log("Task address:", task.toBase58());
Integrate TukTuk with your dApp or smart contract using our SDK.
Define when and how often your tasks should run using cron syntax.
TukTuk handles the rest, ensuring your tasks execute reliably and on time.