Three accounts, one wallet each
Your integrator account is an ordinary HEVN account with one extra power: it creates and controls other accounts. Each client account it creates is equally ordinary — a company identity, a KYB subject, bank rails, contacts, a ledger — and a Base smart wallet of its own. The wallet is the money.baseSmartWallet on the client record is where deposits settle, what
GET /dapi/v1/client/balance reads for the client in X-Hevn-Account, and what every payout
debits. Client wallets are separate
from each other and from yours: there is no pooled account and no omnibus balance anywhere in this
product.
Who can spend
On chain the client’s smart wallet has exactly one owner: an EOA created for that client, whose key never exists outside Privy’s key management. Three things must happen before that EOA signs anything:- Your session is still allowed to ask. Every request re-reads the developer-key registration behind your token: it must still be active, and the request must come from an address inside that registration’s immutable allowlist. HEVN checks both again immediately before it co-signs.
- You sign. Your developer key is registered as a signer for the wallet, and signs the exact operation HEVN prepared.
- HEVN co-signs. The signer is a two-of-two quorum: your key and HEVN’s own authorization key. HEVN adds its half only to the operation it built itself, after verifying your signature over the same bytes locally.
The General tab describes a self-serve HEVN account, where the person who
owns the email is the only signer. The whitelabel model moves that role to you: your customer’s
company is the account holder and legal owner of the funds, and your backend is the signer acting
on its instructions. Everything else in
Trust assumptions still applies.
What this means for your product
Your customer sees your product, not HEVN — you are the party they hold responsible for every movement. Two obligations follow. Every spend needs an authority in your own system. HEVN authenticates your key, not your reason. The approval, the four-eyes check and the audit trail behind “pay this invoice” are yours to build. Keep the payment id you used asIdempotency-Key, the debit you asserted, and the
transactionHash you got back; together they are the record that ties your decision to the chain.
The client’s money survives your incident, not your negligence. Because your integrator account —
not a single key — controls the wallet’s owner quorum, losing a developer key is not losing funds:
register a new key, deploy it, pause the old registration, and keep signing. A leaked key is
different. Until you pause its registration, whoever holds it can ask HEVN to build a payment from
any of your clients’ wallets, and HEVN will co-sign it, because that is exactly what the key means.
The one thing standing between the two is the registration’s IP allowlist: the holder has to be on a
network you listed, and pausing the registration stops the next request with it.
Acting for a client, in one sentence
Reads and writes on a client’s data and money are the same API calls you would make for yourself, withX-Hevn-Account: cl_… added — one token, any client. Where that header is optional, where it is
required and where it is refused is Sessions.
Next: Developer key
Generate it, register it, verify it, and rotate it without downtime.