Otto WalletsDocs
⌘ K
Docs/SDK Quickstart
Client integration

Start with the Otto Wallet SDK

Use the SDK when you want the same public Otto contract, but with grouped helpers for vaults, wallets, transactions, gas station, and MPC flows.

Package @ottowallets/sdk
Runtime Trusted server-side only
Contract Same public API surface
Overview

The SDK is a contract wrapper, not a second API

The SDK does not invent a different platform surface. It signs the same public API and exposes it through grouped methods so your backend code stays shorter and safer.

1

Install the package once per backend service

npm install @ottowallets/sdk
2

Initialize one client per integration boundary

AUTHConstructornew OttoSDK(config)
NameTypeRequiredDescription
apiKeystringYesWorkspace-issued public API key.
secretKeystringYesPrivate signing secret used internally by the client.
basePathBasePath | stringNoChoose production, sandbox, or a local gateway.
import { OttoSDK, BasePath } from '@ottowallets/sdk'

const otto = new OttoSDK({
  apiKey: process.env.OTTO_API_KEY!,
  secretKey: process.env.OTTO_API_SECRET!,
  basePath: BasePath.local
})
3

Start with the same vault and wallet flow

The first useful SDK path is still the public flow: create a vault, create a wallet, then check balance or preview a transfer.

const vault = await otto.vaults.create({ name: 'Treasury' })

const wallet = await otto.wallets.create({
  network: 'ethereum',
  vault_id: vault.id,
  name: 'Ops wallet'
})

const balance = await otto.wallets.getBalance({
  network: 'ethereum',
  address: wallet.address
})
4

Use grouped helpers instead of raw HTTP shaping

Primary groupsvaults · wallets · transactions · gasStation · mpc

What stays inside the SDK

GroupPurposeExamples
vaultsCreate and list treasury roots.create, list
walletsAddress generation, listing, balances, previews, execution.create, previewTransfer
transactionsHistory and aggregate activity helpers.list, getMetrics
gasStationRefill and sponsor operations.refill, process
mpcMPC wallet and signer session workflows.createWallet, signSession
The SDK stays intentionally narrow. Dashboard setup, workspace administration, auth UX, and permission management continue to live in Otto itself.