Skip to main content

Server Wallet API

The Server Wallet API enables backend services to create and manage wallets programmatically. Use this API for treasury management, automated trading, and enterprise custody solutions.

Overview

HD Wallets

Create and manage hierarchical deterministic wallets

Transaction Pipeline

Build, sign, and submit transactions

Policy Engine

Configure risk rules and approval workflows

Webhooks

Real-time notifications for transaction status

Use Cases

Use CaseDescription
Treasury ManagementManage corporate wallets with policy controls
Automated TradingExecute trades programmatically
Payment ProcessingSend and receive crypto payments
Custody SolutionsEnterprise-grade key management

Base URL

https://api.axonvault.io

Authentication

Server Wallet API uses HMAC-signed requests:
curl -X POST https://api.axonvault.io/v1/server/wallets \
  -H "X-Access-Key: ak_live_abc123" \
  -H "X-Signature: 5d41402abc4b2a76b9719d911017c592" \
  -H "X-Timestamp: 2024-01-15T10:30:00Z" \
  -H "Content-Type: application/json" \
  -d '{"walletName": "Treasury"}'

Authentication Guide

Learn about HMAC signature generation

Quick Example

import crypto from 'crypto';

const clientKey = 'ak_live_abc123';
const secretKey = 'sk_live_xyz789';

// Generate signature
function sign(method, path, body) {
  const timestamp = new Date().toISOString();
  const payload = `${method}\n${path}\n${timestamp}\n${JSON.stringify(body)}`;
  const signature = crypto.createHmac('sha256', secretKey).update(payload).digest('hex');
  return { timestamp, signature };
}

// Create wallet
const body = { walletName: 'Treasury' };
const { timestamp, signature } = sign('POST', '/v1/server/wallets', body);

const response = await fetch('https://api.axonvault.io/v1/server/wallets', {
  method: 'POST',
  headers: {
    'X-Access-Key': clientKey,
    'X-Signature': signature,
    'X-Timestamp': timestamp,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(body)
});

const { wallet } = await response.json();

API Categories


Transaction Flow


Error Handling

All errors follow a consistent format:
{
  "errorType": "unauthorized",
  "errorMessage": "Invalid signature"
}

Error Reference

View all error codes