thirdweb SDK v5.102.0 - New Engine functions

thirdweb SDK v5.102.0 - New Engine functions

v5.102.0 of the thirdweb TypeScript SDK rolls out server-side wallet orchestration and better transaction management—adding APIs to create & list server wallets, search transactions with flexible filters, batch multiple calls in one shot, and clearer error reporting.

Engine.createServerWallet()

Create a new server wallet with a custom label.

import { Engine } from "thirdweb";

const serverWallet = await Engine.createServerWallet({
  client,
  label: "My Server Wallet",
});
console.log(serverWallet.address);
console.log(serverWallet.smartAccountAddress);

Engine.getServerWallets()

List every server wallet that already exists.

import { Engine } from "thirdweb";

const serverWallets = await Engine.getServerWallets({
  client,
});
console.log(serverWallets);

Engine.searchTransactions()

Search transactions by ID, chain ID, sender, and more (supports nested AND/OR filters).

// By transaction IDs
const transactions = await Engine.searchTransactions({
  client,
  filters: [{ field: "id", values: ["1", "2", "3"] }],
});

// By sender and chain
const transactions = await Engine.searchTransactions({
  client,
  filters: [
    {
      filters: [
        { field: "from",    values: ["0x1234567890123456789012345678901234567890"] },
        { field: "chainId", values: ["8453"] },
      ],
      operation: "AND",
    },
  ],
  pageSize: 100,
  page: 0,
});

serverWallet.enqueueBatchTransaction()

Queue multiple transactions in a single batch and wait for completion.

// Prepare transactions
const tx1 = claimTo({ contract, to: firstRecipient,  quantity: 1n });
const tx2 = claimTo({ contract, to: secondRecipient, quantity: 1n });

// Enqueue batch
const { transactionId } = await serverWallet.enqueueBatchTransaction({
  transactions: [tx1, tx2],
});

// Wait for the batch to finish
const { transactionHash } = await Engine.waitForTransactionHash({
  client,
  transactionId,
});
console.log(transactionHash);

Improved Error Reporting

Server-wallet transactions now surface clearer, more actionable error messages.