Bursar
[ AI TREASURER / BUILT ON NEAR ]

The AI reads. The contract decides. A dumb executor moves the money.

Bursar pays a small company's invoices without ever handing the AI a key. Invoices are read inside a NEAR AI Cloud enclave, a NEAR contract decides inside limits the owner set, and the only thing that moves USDC is a dumb executor the contract keeps on a leash.

[ 01 / THREE ROLES, ONE KEY EACH ]

Nobody in the loop can both decide and move money.

THE AI READS

Private, attested, signed.

The invoice is rasterized and read by a model running in a TEE on NEAR AI Cloud. The answer comes back with an ECDSA signature over the exact bytes and an Intel TDX quote bound to a fresh nonce. The agent holds one function-call key that can only call request_payment.

THE CONTRACT DECIDES

Allowlist, payout, caps, duplicates, DAO.

The vendor must be registered by the owner. The payout on the invoice must equal the one on record, so the new bank details fraud dies here. Per-payment, daily and monthly caps apply. Above a threshold the contract opens a Sputnik DAO proposal and waits for the council.

A DUMB EXECUTOR MOVES

Only where the owner said.

NEAR vendors are paid in the same transaction. Vendors on Base, Arbitrum, Solana or Sui go through NEAR Intents, and the contract checks the destination against the owner's record before the executor can settle. Every decision is an on-chain event; there is no database.

[ 02 / LIVE ON TESTNET ]

The last decisions, read from the contract right now.

loading...

[ 03 / VERIFY IT YOURSELF ]

Every payment carries a receipt anyone can check, without the API key.

npm run dev verify test/fixtures/receipt-01-acme-hosting-0923.json OK bytes hashes match the stored bytes OK signed_text z-ai/glm-5.3-flash:dc283fe4... OK signature recovers to 0x3b753b44... OK signer_kind provider_tee OK attestation_nonce report echoes our fresh nonce OK quote_report_data TDX quote binds signer and nonce OK quote_tcb Intel collateral: TCB UpToDate OK extraction exactly this model output OK on_chain payment #1 carries this reference verified

The receipt holds the exact request and response bytes, the enclave's signature, the attestation report with the TDX quote and the nonce the agent chose. Change one byte and the signature fails. The contract stores a compact reference to it next to the payment.

Step 6 of the README walks through it. The verifier does not yet replay the RTMR3 event log or check GPU evidence; the receipt keeps both.

[ 04 / TRY IT ]

Four invoices, four decisions, one command each.

From the browser

Log in with your NEAR wallet. No treasury yet? Bursar creates one on the spot, at no cost to you. Then drop a PDF and watch the enclave read it, the receipt verify, and the contract answer.

Open the console
From the terminal
npx tsx src/cli.ts setup --root you.testnet npm run relayer & npm run agent -- --once # NEAR_AI_API_KEY set npm run dev status
Read the docs