Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.leokit.dev/llms.txt

Use this file to discover all available pages before exploring further.

Install

npm install leokit-sdk ethers
ethers@^6 is a peer dependency. Optional dependencies (per-chain xchain libraries, ZCash, Solana, etc.) are loaded lazily — only what you actually use is bundled. The package exposes five entry points:
Import pathUse
leokit-sdkLeoKitClient, factory, top-level types
leokit-sdk/walletsWalletManager and adapter classes (lazy-loaded)
leokit-sdk/protocolsProtocol handlers (EvmProtocol, NearProtocol, etc.)
leokit-sdk/utilsAmount/chain/asset/error helpers, EventEmitter
leokit-sdk/cdnIcon-URL builders

Create a Client

import { createLeoKit } from "leokit-sdk";

const sdk = createLeoKit({
  apiKey: "your-leokit-api-key",
  network: "mainnet",
});

LeoKitConfig

FieldTypeRequiredDescription
apiKeystringYesAPI key from dash.leokit.dev
network"mainnet" | "testnet"NoDefault: "mainnet"
apiUrlstringNoDefault: https://api.leokit.dev
cdnUrlstringNoCDN base for icons. Default: LeoKit CDN
sdk.getConfig() returns the resolved ResolvedConfig (defaults filled in). sdk.getNetwork() returns the active Network.

End-to-End Swap

import { createLeoKit } from "leokit-sdk";

const sdk = createLeoKit({ apiKey: process.env.LEOKIT_API_KEY!, network: "mainnet" });

// 1. Connect a wallet (e.g. MetaMask in a browser)
await sdk.connectWallet("metamask");

// 2. Get a quote
const quote = await sdk.getQuote({
  fromAsset: "ETH.ETH",
  toAsset: "BTC.BTC",
  amount: "1000000000000000000",      // 1 ETH in wei
  destination: "bc1q...",             // recipient address
});

// 3. Execute
const result = await sdk.executeSwap(quote);
console.log("Tx hash:", result.txHash);

// 4. Track to completion
const stop = sdk.watchTransaction(quote.quoteId, (status) => {
  console.log(status.state); // "pending" | "success" | "failed" | "refunded"
  if (status.state !== "pending") stop();
});

Where to Go Next

Wallets

19 adapters: MetaMask, Phantom, Ledger, Keplr, Trust, WalletConnect…

Quotes & Swaps

getQuote, streamQuote, executeSwap, transfer, transaction tracking

Limit Orders

THORChain / MAYAChain native limit orders

Shielded ZCash

WebZjs-backed shielded balance scan and transfer

Utilities

Amount math, chain helpers, asset parsing, error handling, events, icons

Source

The SDK ships its own README.md with a long-form integration walkthrough and a React example.