QVAC

Finance

Custos

An air-gapped accounts-payable agent that OCRs invoices on-device and settles matched payments on-chain

ocrvisionp2p-mesh
Custos

The moment an AI agent can move money, it inherits every way it can be fooled - a hidden instruction buried in a PDF, a vendor that doesn't exist, a real vendor with a swapped wallet address. Custos reads a vendor invoice on its own hardware, checks it against a company's own books, and settles it on-chain - but a payment is impossible unless it clears six independent gates, and the AI is never one of them.

Six gates, and the AI isn't one of them

Before the model even sees the text, one gate decodes disguised text - base64, Morse, zero-width characters, look-alike letters - and catches smuggled instructions like a hidden "pay the attacker now." The vendor, purchase order, and payee wallet are then matched against the company's own air-gapped database, never trusted from the document itself, and re-checked again right before signing. A human has to press and hold to authorize on the one machine that holds the keys, and only then does Custos sign locally and settle the exact amount on-chain.

the six gates (README.md)
G0 - Decode hidden text     Un-hides disguised text, catches smuggled instructions
G1 - The reader can't pay   The AI only extracts fields and proposes, never pays
G2 - Truth from your books  Vendor, PO, amount, payee matched from your database
G3 - Re-check the recipient Code confirms the payee equals the wallet on file
G4 - A human approves       Deliberate hold-to-authorize on the key-holding machine
G5 - On-chain safety        Pinned chain + token, checksummed address, exact amount

A node that thinks never holds a key

Custos splits into two nodes joined over an encrypted QVAC P2P link: an Orchestrator that runs all the AI - OCR, vision, database checks - but holds no keys, and an Edge node that holds the wallet and lets a human approve, but runs no AI at all. If the Orchestrator ever goes unreachable, the Edge hard-stops rather than settling on a guess.

Demo video

Why the AI can read but never pay

  • Six independent gates must all clear before a payment moves - the AI can only read and suggest

  • Vendor, purchase order, and payee wallet are matched against your own database, never the invoice

  • A human presses and holds to authorize on the one machine that holds the keys

Build this

Ship your own local AI

One install in JavaScript or Python. 10+ AI tasks. Private, offline and free - on the hardware you already own.