Platform
Wallets your customers can use and your team never has to operate
Create wallets for an organization and its customers, hold balances on a double-entry ledger, and keep key material behind a signing boundary your application never crosses.
Problem
Wallets are simple until you are responsible for the keys
A wallet looks like a balance and a couple of buttons. What it actually requires is key custody, recovery, transaction authorization, reconciliation and an audit trail that stands up when a customer disputes a balance.
Most businesses that want to give customers a balance have no interest in becoming a custodian, and should not become one by accident.
Solution
A signing boundary you do not manage
Wallets are created through the API and belong to an organization or one of its customers. Balances are recorded as double-entry ledger movements, so every balance can be explained by the entries that produced it.
Key material never enters your application. Operations that require a signature are submitted as intents and authorized inside the platform boundary, under the policy the organization has configured.
Architecture
From request to settled balance
- Intent01
Your service requests a movement
- Policy02
Limits, roles and environment checked
- Ledger03
Double-entry records written
- Signing04
Executed inside the custody boundary
- Settle05
Balances updated and events emitted
Features
What the layer provides
Organization and customer wallets
Treasury wallets for the business, individual wallets for its customers.
Double-entry ledger
Every movement is two entries. Balances are derived, never edited in place.
Custody models
Platform-custodied by default, with self-custody where an organization requires it.
Policy limits
Per-role and per-environment limits on issuance, transfer and redemption.
Recovery
Account recovery that does not depend on a customer keeping a seed phrase.
Environment separation
Test balances can never move against production wallets.
Use cases
What businesses run on it
Branded balances
A points or credit balance customers see under your brand, not a third party.
Multi-location settlement
Balances that behave the same across every store, franchise or region.
Player economies
In-game balances that survive outside a single game session.
Partner payouts
Moving value to partners on the same ledger the rest of the business runs on.
API preview
Creating a wallet and crediting it
const wallet = await matinee.wallets.create({
ownerType: 'customer',
ownerId: 'cus_8Fq2',
environment: 'production',
})
await matinee.ledger.credit({
walletId: wallet.id,
assetId: 'ast_coffee_points',
amount: '50',
reason: 'order.completed',
idempotencyKey: 'ord_51188',
})Illustrative. The API surface is fully specified but not yet served; this snippet does not call a live service.
Ready to build your digital economy?
Matinee AI has no public signup. Tell us what you want to launch and we will review the request.