The pieces
What you can do
Wallets & accounts
Create MPC wallets, attach assets, get deposit addresses, read balances.
Transactions & signing
Request withdrawals, follow them from request to confirmation, sign digests.
Policies & approvals
Spend limits, whitelists, approval groups, dual control, the kill switch.
Webhooks & events
Signed delivery of every wallet, deposit, withdrawal and approval event.
Reporting & audit
Transaction history and export, balances, analytics, the audit trail.
Access control
Roles for people, scopes for keys, per-wallet access.
Authentication
Requests to the API are signed with HMAC-SHA256 using an API key and its secret. Three headers are sent with every request:
Keys are created in the console under Developer → API Key with the scopes, wallet binding, IP allowlist and expiry you choose. The secret is shown once. See Access control.
Conventions
- Base path: all routes are under
/api/v1. - Response envelope: every response is
{"success": bool, "message": string, "code": int, "data": …}. - Request IDs: every response carries an
X-Request-IDheader; send your own to have it echoed back and recorded. - Idempotency: send
X-Idempotency-Keyon wallet creation and withdrawal requests. Repeating a request with the same key returns the original operation and never creates a second one. - Identifiers: workspaces, wallets, catalog assets, withdrawals and signing requests are UUIDs. Catalog asset IDs are never contract addresses.
- Asynchronous operations: wallet creation and withdrawals return immediately with a status; you poll or subscribe to webhooks for completion.
Environments
Integrate against the sandbox atwallet-sandbox.blockops.network, which runs on Ethereum Sepolia, before moving to production. Sandbox and production use the same API; only credentials and networks differ. Request sandbox credentials from hello@blockops.network, then follow the quickstart.
