Overview
vaults-multichain-sdk (main class TrustodianSDK) is a TypeScript library for server-side integrators. It wraps the Trustodian REST API and handles all key material locally: unlocking a session from the user’s wallet password, rebuilding keys from shares, deriving wallets from the account recovery phrase, and signing on each chain.
Before you start
The SDK works with accounts that already exist. It cannot create one. An API key is only issued once its account has finished onboarding in the Trustodian app, so three things are already true before your integration runs:- The account is registered.
- It has a wallet password.
- It has a recovery phrase, generated or imported, or a hardware wallet (Ledger or Trezor) as the account root.
There is no registration, login or key-issuing call in the SDK, and an API key cannot create
another API key. If you need one, someone signs in to the app and issues it.
Non-custodial model
Trustodian never stores a complete private key or a complete recovery phrase.
Read-only calls (wallet lists, portfolio, orders) need only the API key. Anything that touches key material needs
shareStore plus an unlocked wallet-password session. See Key Management and Authentication.
The account recovery phrase
Each account has one recovery phrase, created during app onboarding, and every wallet is derived from it, so omitmode on createWallet. See Key Management for what the SDK keeps in your share store and why.
Recovery Phrase
Derivation paths per chain, reading the state, revealing the phrase, and the errors
Supported chains
EChainType defines seven chain types:
Bitcoin is the one chain whose chain type differs per network:
BTC on mainnet, BTC_T3 on
testnet. Call getBtcChainType() instead of hardcoding either.EVM chain ids
network: 'mainnet' and network: 'testnet' each ship a fixed set of EVM chain ids with default RPC endpoints. A chain id outside the configured set throws No RPC endpoint configured for EVM chain ID … unless you add it via rpcOverrides.
The same seven networks are configured on testnet under their own chain ids, Ethereum Sepolia
(
'11155111') among them.
Cardano ships no default RPC endpoint and does not need one, because Cardano UTXO sourcing goes
through the Trustodian backend. Set
rpcOverrides.ada_mainnet / rpcOverrides.ada_preprod only
if your own code resolves an ADA endpoint from the SDK’s RPC config.Installation
Configuration options
The SDK carries a default API host for each network, so
apiBaseUrl is optional. Set it explicitly
for your own deployment, and ask your Trustodian contact which host your API key is issued against
rather than relying on the default.
Where to go next
Quickstart
A runnable first integration, install to first transaction
Authentication
API keys, the wallet-password session lifecycle, and
userRefKey Management
shareStore, key shares, rotation and recoveryRecovery Phrase
The account seed: derivation, reveal, and what it means for your wallets
Wallets
Create, import, list, rename, export, portfolio
Hardware Wallets
Ledger and Trezor accounts: what you build, what the SDK gives you
Transactions
Native and token transfers, fee estimation, history
Preflight
Simulate and validate a transaction before broadcasting
Multisig
Personal and organization vaults, owners, thresholds
Orders
Create, sign, reject, and execute multisig orders
Organization
B2B members, roles, org wallets and policies
Errors
Typed error classes, HTTP mapping, retry guidance
FAQ
Common integration questions