Custodial
An EOA generated server-side. The sandbox holds the private key
(AES-256-GCM encrypted at rest) and signs on your behalf, so API keys can
mint, transfer, and redeem without any client-side signing.
External
A watch-only address you register: paste a raw address or import a
Notareum address card (
.nota file). It can receive funds and be
monitored, but never spend through the sandbox.Capability matrix
Spending endpoints (
/mint, /transfer, /redeem) reject external wallets
with a 400; the sandbox has no key to sign with. External wallets are for
receiving and observing.Creating wallets
Create a custodial wallet, or register an external one by address or by importing an address card:address or nota, never both.
Addresses are validated and stored EIP-55 checksummed; registering an address
that already exists in the sandbox returns 409 wallet_exists.
The wallet object
GET /wallets/{id} additionally returns live balances
alongside the wallet.
How custodial keys are protected
- Private keys are generated server-side and never returned by any endpoint, logged, or exposed to the dashboard.
- At rest they are AES-256-GCM encrypted with a per-wallet IV and authentication tag under a platform master key.
- Keys are decrypted only transiently, in memory, to sign a transaction.
- The only way key material leaves the platform is a deliberate, session-only export, and even then it is re-encrypted under a passphrase you choose before it is returned.
Address cards
Any wallet can produce a shareable address card: a.nota file carrying
the public address and chain context (no key material). It’s the file twin of
a receive QR code: counterparties import it into any Aro recipient field
instead of copy-pasting a hex string. See
.nota files.