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

  1. Intent01

    Your service requests a movement

  2. Policy02

    Limits, roles and environment checked

  3. Ledger03

    Double-entry records written

  4. Signing04

    Executed inside the custody boundary

  5. 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

wallets.tstypescript
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.