embco¶
A payables agent for the ERPNext you already run. It reads purchase orders, receipts and invoices, decides PAY, HOLD or ASK the owner with a written reason, and settles in USDC on Arc through Circle. The model proposes. A smart contract releases the money.
Early, testnet only
The agent reads, checks, decides, remembers and explains against a live ERPNext. With payments turned on, it pays the invoices it approved through the shop contract on Arc Testnet. There is no mainnet deployment.
Why it exists¶
Double entry only proves that debits equal credits, and almost every mistake an agent can make with money passes that check. embco puts the controls that catch those mistakes between the model and the money:
- a match against the order and the receipt,
- change control on the payee wallet, with a signature from the supplier,
- a hard limit per payment and per week, in a contract the agent cannot change,
- a journal that nobody can rewrite without the chain breaking.
-
:material-sitemap: How it works
One cycle from ERPNext to the chain, and the fixed rule that decides PAY, HOLD or ASK.
-
:material-layers-triple: Architecture
The layers, the trust boundaries, and where each piece of code lives.
-
:material-file-code: Smart contracts
The shop contract, who can call what, and every check before a payment.
-
:material-database-arrow-right: Connect your ERPNext
A step-by-step guide: four small changes in ERPNext, then two keys in the dashboard.
-
:material-server: Run your own server
The same dashboard and agents on your server: one
.envand one install script.
At a glance¶
Built on¶
- Arc and USDC. Suppliers are paid in USDC, straight from the shop owner's wallet.
- Circle developer-controlled wallets send the agent's transactions with idempotency keys.
- An AI model plans which payments to make and when, and writes the explanations. Its decisions pass through the same gate as everything else. Today it is Claude, by Anthropic (how to use another model).
- ERPNext stays the system of record. embco adds a Payment Entry for every payment it makes.
Status¶
The code is in the repository. The contracts and their verification are described on the contracts page.