Getting Started
Introduction
Vaultody is a secure digital asset management platform built on Multi-Party Computation (MPC). Our REST API lets you integrate institutional-grade custody directly into your application — enabling you to receive crypto deposits, send withdrawals, manage wallets, and track transactions across 17 blockchains without ever handling a private key. This page will get you from zero to your first successful API call in minutes.
Before You Begin
Make sure you have the following before proceeding:
A Vaultody account — sign up here A Vault must be created in the Dashboard (Dashboard → Vaults) An API key must be generated in the Dashboard (Dashboard → Developers → API Keys → Create New) Your API Key, API Secret, and Passphrase saved securely
How the Platform is Structured
Vaultody organises your assets across three levels. Understanding this hierarchy is essential before making any API call: Vault (your company's root container — created in the Dashboard)
└── Vault Account (one per user or entity — created via API)
└── Address (one per blockchain — generated via API)
└── Asset balances (ETH, BTC, USDT, etc.)
Vault — top-level container. You get a vaultId from the Dashboard or GET /vaults/{networkType}. Vault Account — a logical wallet for one user or entity. Created with POST /vaults/{vaultId}/vault-account. Address — a blockchain-specific deposit address. Generated with POST /vaults/{vaultId}/{blockchain}/{network}/addresses.
Supported Protocols and Networks
Vaultody supports 17 blockchain protocols including Ethereum, Bitcoin, BNB Smart Chain, Tron, Solana, Polygon, Avalanche, XRP, and more — on both mainnet and testnet. For the full list of supported blockchains and the exact blockchain / network string values to use in API calls, see the Supported Blockchains & Networks guide.
The Dashboard
The Vaultody Dashboard is your control panel for account-level operations that complement the API. From the Dashboard you can:
Create and manage Vaults Set approval policies for outgoing transactions View balances and transaction history Create and manage transactions Generate and manage API keys with scoped permissions Configure and verify webhook endpoints Manage team members and their access levels Access the Vaultody mobile app for transaction approvals
Note: Vaults are created in the Dashboard, not via the API. Before making your first API call you need at least one Vault created and your vaultId ready.
Quick Start: Your First 5 API Calls
Here is the minimal sequence to get a deposit address working end to end.
Step 1 — Get your Vault ID
httpGET /vaults/test
Find the id field in the first item — this is your vaultId.
{
"data": {
"items": [
{
"id": "66d866bd469e1d00079d91d5",
"name": "My Test Vault",
"type": "test"
}
]
}
}
Step 2 — Create a Vault Account
httpPOST /vaults/{vaultId}/vault-account
{
"data": {
"item": {
"name": "User Alice",
"color": "#00C7E6",
"isHiddenInDashboard": false
}
}
}
Save the vaultAccountId from the response.
Step 3 — Generate a Deposit Address
httpPOST /vaults/{vaultId}/ethereum/sepolia/addresses
{
"data": {
"item": {
"label": "Alice deposit",
"vaultAccountId": "68dfaeae39a4b80007c4f707"
}
}
}
The address in the response is what you share with your user to receive funds.
Step 4 — Get Supported Assets
Find the assetId for the asset you want to send: httpGET /supported-assets?assetUnit=ETH&blockchain=ethereum&networkType=test Then initiate the transfer: httpPOST /vaults/{vaultId}/transaction-requests/single-transfer
json{
"data": {
"item": {
"vaultAccountId": "68dfaeae39a4b80007c4f707",
"assetId": "6523e058a06ebf1322d7dd6f",
"fromAddress": "0xa5bd60af2ed1499ce8292bb2e6c0179dcea34f33",
"toAddress": "0xbfe14b26d2680a232499f059d251f2486f32cdff",
"amount": "0.01",
"feePriority": "standard",
"note": "Test withdrawal"
}
}
}
Step 5 — Listen for Events
Set up a webhook endpoint in the Dashboard and subscribe to events like INCOMING_CONFIRMED_COIN_TX and OUTGOING_MINED to receive real-time notifications.
Authenticate Requests
Every API request must be signed using HMAC-SHA256. The signature is generated from your API Secret, timestamp, HTTP method, path, and request body. You need to include four headers on every call: HeaderValuex-api-keyYour public API keyx-api-signBase64-encoded HMAC-SHA256 signaturex-api-timestampCurrent UNIX timestamp in secondsx-api-passphraseYour passphrase For the complete signing process with code examples in Python, Node.js, and Postman, see Vaultody API Authentication.
Test vs. Production Use a test vault (type: test) during development — it connects to blockchain testnets and uses funds with no real monetary value. Switch to a main vault (type: main) when going to production. Mainnet access requires a paid subscription plan. Development: GET /vaults/test → use testnet networks (sepolia, nile, testnet...) Production: GET /vaults/main → use mainnet networks (mainnet...)
What's Next
Vaultody API Authentication — Complete signing guide with code examples Platform Architecture — Deep dive into vaults, accounts, addresses, and the MPC model Vault Account Hierarchy — How to structure wallets for your users Receiving Funds — Step-by-step deposit integration guide Sending Funds — Withdrawals, fee estimation, and transfer types Webhooks — Real-time event notifications and signature verification
Need Help? If you need additional assistance, visit the Vaultody Help Center for FAQs, guides, and direct support, or email us at [email protected].