Alice locks SOL into escrow PDA via create_escrow.
Internet is never needed for payments again.
Furkan Duran
IstanbulSpecializing in Anchor development and high-performance Solana programs. Focused on deterministic state machines.
Solana made execution fast. The edges around execution (receiving,
signing, and offline authorization) remain exposed. We secure them.
Key stays offline
Fountain QR · Argon2id
Pay without internet connection
84-byte voucher · Ed25519
Wallet never appears on-chain
x25519 ECDH stealth · No ZK
The Problem
Private keys on connected devices are exposed to malware and phishing on every signature.
Solana payments require a live RPC connection. In low-signal environments, transaction broadcasting is impossible.
Who you pay exposes your balance and history. On-chain addresses are permanent links to real-world identities.
How it works · MORA
Live Devnet Demo: No Wallet Extension RequiredA merchant accepts SOL payments via QR.
No 4G, no wallet popup, no confirmation wait.
Offline voucher signing, no RPC call
84-byte message · fits in one QR
Alice locks SOL into escrow PDA via create_escrow.
Internet is never needed for payments again.
Alice signs an 84-byte MORA message on her air-gapped device. It encodes the escrow address, a unique nonce, the payee, and the amount. The 148-byte signed voucher (message + Ed25519 signature) reaches Bob via QR: no RPC call, no connectivity required.
Each nonce deterministically derives a unique Receipt PDA
on-chain. Replay protection is enforced by Solana. The same voucher cannot be settled twice.
Bob settles on Solana later. Native Ed25519Program pre-verify ensures permanent replay protection during settlement.
The Sirius stack integrates seamlessly to provide a complete privacy and resilience layer for low-connectivity transactions.
Bob shares a Stealth ID. Alice derives a one-time vault address and signs the intention air-gapped via AirSign.
Alice signs an 84-byte voucher offline. Bob scans the QR. No internet required at payment time.
Bob settles on Solana later. Funds land in the stealth vault. Bob signs his claim air-gapped to complete the cycle.
Key never online
Zero network required
Wallet never exposed
Settlement verifiable
Bob generates a stealth base key via GrayBox. He shares a single, permanent Meta-Address with Alice. This address is never seen on-chain.
Alice uses Bob's Meta-Address to derive a one-time stealth public key. She signs the transfer intention using AirSign in total isolation.
Alice signs the 84-byte MORA voucher offline. Her device is in airplane mode. Replay protection is enforced on-chain via a Receipt PDA, not a hash chain.
Bob verifies the signature offline. Hours later, he connects to the internet to submit the signature to the MORA program and claim funds.
Use Cases
From payroll to cross-border settlement, every flow benefits from recipient privacy and transaction unlinkability.
Salary amounts stay private. Only the authorized auditor can decrypt.
Send across borders without exposing sender or recipient identity on-chain.
Move funds between accounts without telegraphing strategy to on-chain observers.
Pay contractors without making payment relationships permanently public.
MORA enables payment authorization without live connectivity. Settle later.
Viewing keys let authorized auditors trace stealth transactions without full public exposure.
FAQ
Everything you need to know about MORA, AirSign, and GrayBox.
Technical Stack
Ed25519 signed voucher · double-spend protected · Anchor PDA settlement. Each nonce is unique. The chain rejects replay before funds move.
Fountain-coded QR frames · Argon2id KDF · Ed25519. Tolerates significant QR frame loss (~30%). Designed for air-gapped signing devices.
x25519 ECDH stealth addresses · unique vault per transfer. AML-screened quarantine vault. Each receiver gets an isolated address.
One SDK for coordinating AirSign × MORA × GrayBox flows. It handles Anchor programs, offline Ed25519 vouchers, and explorer-verifiable settlements without re-implementing the cryptographic stack.
// MORA · lock once, sign an 84-byte voucher offline, settle later
import { AnchorProvider, BN, Idl, Program } from "@coral-xyz/anchor";
import { Ed25519Program, Keypair, PublicKey, Transaction } from "@solana/web3.js";
import nacl from "tweetnacl";
import idl from "./mora.json"; // IDL from the MORA repo
// Prerequisites: provider (AnchorProvider on devnet),
// alice (payer Keypair), bob (payee PublicKey)
const program = new Program(idl as Idl, provider); // program ID comes from the IDL
const u64 = (n: BN) => n.toArrayLike(Buffer, "le", 8);
// 1) Online, once: lock SOL into the escrow PDA
const seed = new BN(Date.now());
const expiresAt = new BN(Math.floor(Date.now() / 1000) + 7 * 24 * 3600); // 7 days
const [escrow] = PublicKey.findProgramAddressSync(
[Buffer.from("escrow"), alice.publicKey.toBuffer(), u64(seed)], program.programId);
await program.methods
.createEscrow(seed, new BN(100_000_000), expiresAt) // 0.1 SOL
.accounts({ authority: alice.publicKey })
.signers([alice])
.rpc();
// 2) Offline: sign the 84-byte voucher. No RPC call.
// "MORA"(4) | escrow(32) | nonce(8) | payee(32) | amount(8)
const nonce = new BN(1);
const amount = new BN(10_000_000); // 0.01 SOL
const message = Buffer.concat([Buffer.from("MORA"), escrow.toBuffer(),
u64(nonce), bob.toBuffer(), u64(amount)]);
const signature = nacl.sign.detached(message, alice.secretKey);
// 3) Back online: Ed25519 verify + settle in one transaction.
// The receipt PDA for this nonce makes a replay fail.
const [receipt] = PublicKey.findProgramAddressSync(
[Buffer.from("receipt"), escrow.toBuffer(), u64(nonce)], program.programId);
const settleIx = await program.methods
.settle(nonce, amount)
.accountsPartial({ submitter: provider.wallet.publicKey, escrow, payee: bob, receipt })
.instruction();
await provider.sendAndConfirm(new Transaction().add(
Ed25519Program.createInstructionWithPublicKey({
publicKey: alice.publicKey.toBytes(), message, signature }),
settleIx));Modular with battle-tested Solana primitives: Anchor programs, WASM modules,
ECDH derivation, Explorer-verifiable devnet proofs.
On-Chain Proof
An Android phone with Solflare loaded the offline balance, signed the payment in airplane mode, and the receiver collected it later.
In this first test the signed payment reached the receiver by copy and paste; phone-to-phone QR is next.
| Key Agreement | x25519 (ECDH) |
| WASM Runtime | Rust wasm-bindgen |
| Solana Tools | Anchor 0.32 |
| Compliance | Viewing Key Support |
Sirius Labs protects a fundamentally different attack surface. Existing ZK solutions hide what was sent. Sirius hides when it was sent, who receives it, and ensures the signing key never touches the internet. Double-spending and double-settlement are enforced on-chain by Solana itself. No trusted server required.
Our first market is Turkey's licensed international freight carriers, whose drivers pay partners at borders and on long routes where the signal drops. MORA lets them pay on the spot and settle on Solana later.
Existing payment rails require internet, identity verification, and real-time connectivity. Sirius removes all three constraints from Solana.
Source: Turkish Ministry of Transport via the UND bulletin, October 2024 (September 2024 figures). The $30M is a ceiling for Turkey only, not a forecast.
Core stack deployed on Solana devnet. MORA offline voucher escrow, GrayBox stealth addresses with AML-gated quarantine vault, and AirSign air-gapped signing, all functional and explorer-verifiable.
B2B subscriptions first, then a small fee on each collected payment on mainnet, shared with the wallets and point-of-sale apps that build MORA in.
Wallet adapters, hardware-signer partnerships, and handset OEM pilots in low-connectivity markets.
Mainnet deployment, relayer network expansion with corridor-specific failover, and third-party security audit.
Specializing in Anchor development and high-performance Solana programs. Focused on deterministic state machines.
Logistics, fintech and marketing background. Leads go-to-market and the freight pilots.
Economist at the Faculty of Economics, Istanbul University. Leads our market research.
Sirius Labs is building MORA in Colosseum Crypto World's Fair to close the critical security gaps blocking broader adoption of Solana, recognized by Superteam Turkey and actively pursuing early-stage investment to deploy at scale across the Solana ecosystem.
Try the MORA demo. No wallet extension, no real SOL required.