Skip to main content
The Ault SDK is a TypeScript SDK for building against Ault without manually composing low-level messages.

What You Can Do with the SDK

The SDK provides a high-level client for:
  • License module queries and transactions
  • Miner module queries and transactions (delegation, work submission, operator actions)
  • (Future Work) Exchange module queries and transactions
  • EIP-712 signing and broadcast flows
  • AultCore/AultEVM address conversion (0x and ault1) and validation helpers
  • Parallel query helpers for large license sets
It supports Node.js, Bun, and browser environments.

Signer and Wallet Support

You can use multiple signer types:
  • viem accounts and wallet clients
  • ethers signers
  • EIP-1193 providers (including MetaMask-compatible flows)
  • Privy signers
  • Raw private key (server-side)

Install

npm install ault-sdk-ts
# or
pnpm add ault-sdk-ts
# or
bun add ault-sdk-ts

Quick Example

import { createClient, getNetworkConfig } from "ault-sdk-ts";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount("0x...");
const client = await createClient({
  network: getNetworkConfig("ault_10904-1"),
  signer: account,
});

const licenses = await client.license.getOwnedBy(client.address);
const epoch = await client.miner.getCurrentEpoch();

const tx = await client.delegateMining({
  licenseIds: [1, 2, 3],
  operator: "0xOperator...",
});

console.log(tx.txHash, tx.success);

When to Use SDK vs Raw RPC

  • Use SDK when you want faster development, typed methods, and simpler transaction flows.
  • Use raw JSON-RPC when you need low-level control over custom execution paths.
For chain values (RPC URLs, chain IDs), use Network Information.