Lumo
On-device AI treasury agent · Stellar

The agent can
be tricked.
The money cannot.

An on-device AI treasury agent that reads your cross-border invoices and settles them in seconds on Stellar — the AI proposes, a deterministic policy disposes, and Soroban contracts hold the keys.

Try to move the money → GitHub
Live on Stellar testnet
ON-DEVICE

Reads invoices.
Never keys.

The model parses amount, payee and terms locally. Your private keys never touch the AI — or the network.

POLICY + SOROBAN

Policy decides.
The chain enforces.

A deterministic policy layer approves every payment; Soroban releases USDC only when it passes. Instant, on-chain.

HOW IT WORKS

The AI only touches step one.

01

Read

The agent parses the invoice on-device — amount, payee, terms.

02

Decide

A deterministic policy checks payee, limits and whitelist. No model in the loop.

03

Enforce

Soroban releases USDC only if the policy passes. Otherwise, funds stay locked.

BEFORE / AFTER

Cross-border payments, re-drawn.

SETTLEMENT TIME
3–5 days
Correspondent banking + letters of credit
✕Funds hop through multiple intermediary banks
✕Fees and FX spread at every hop
✕An AI agent holding keys can be tricked into paying the wrong party
SETTLEMENT TIME
Seconds
Instant USDC on Stellar, policy-enforced
✓Settles peer-to-peer on Stellar in one hop
✓A deterministic policy checks every payee
✓The agent can be tricked — the money cannot move
STELLAR TESTNET · LIVE

Proven on-chain.

Every row opens live on Stellar Expert.

ESCROW CONTRACTCARKYFTVFVUX2Y3OZJUPYBBZKTVVIHC3APSFAQOVL6DGKWU6D6ZGJJMK View live → POLICY-ACCOUNT CONTRACTCD2EIG3V4TBGHSGLZYCIZRHVFVQFUA3NL2KG7SZFF3SIEGL7MMV4PF5L View live → TEST USDC · SACCDWS5VFOIDNU7X3O4CXNF2I5TMGT5RKLB4GDHU24VOO7FRGGI3XYTQC7 View live → ✓ POLICY-APPROVED RELEASE · TX0b5d14a535d0fd7ae03b40eccf14205c042d606c4c2c0675ef0ce47265956f4f View live →
SEE IT FOR YOURSELF

See it refuse a bad invoice.

Feed the tester a tampered invoice on Stellar testnet and watch the policy layer stop the payment cold — before a single transaction is signed.

Try the live testnet tool →