Skip to main content
KeyPair holds the wallets and keys; your backend calls one API to open customer accounts, watch for deposits, move balances, and pay out — without running an MPC network or a chain indexer yourself.

Quickstart

Create a customer, issue a deposit address, and post your first transaction.

Authentication

Bearer keys for reading, signed requests for anything that moves money.

Entities & accounts

How customers, accounts and chains relate to each other.

Webhooks

Get told the moment a deposit clears or a withdrawal lands.

How the pieces fit

1

Open a customer

Create a customer, then open accounts for the assets they’ll hold.
2

Take a deposit

Issue a deposit address per account (or per payment, for a one-time-use address) and wait for a deposit.confirmed webhook — or list deposits directly.
3

Move money

Post a transaction between a customer’s account and your own — internal ledger moves are instant and never touch a chain.
4

Pay out

A withdrawal debits the customer immediately and settles on-chain asynchronously; a withdrawal.finalised webhook confirms it landed.

What’s not here

Provisioning — creating your tenant, issuing your first API key — happens through the KeyPair dashboard, not this API. Everything below is what your own backend calls once that’s done.