Skip to content

Probarion docs

Give your AI agent a budget, not your wallet.

You sign the limits in a NEAR contract, the agent pays inside them, and every payment is on chain for anyone to check.

Choose a path

Owner · 10 min

Set up a vault and your first mandate

Sign in with a NEAR wallet, create a testnet vault, fund it with test USDC, add an agent key and sign the limits.

What happens to one invoice#

The model may advise. Code decides. The contract has the last word.

  1. Owner Signs a mandate: who gets paid, how much per payment and in total, how many times, until when, which agent key may use it, and above what amount a person must approve.
  2. Code Decides to allow the payment, hold it or refuse it, with built-in rules that cannot be removed. A model may advise, but it cannot widen the mandate. The SDK signs the decision into the ledger before anything is sent, refusals included. If code refuses, nothing is sent.
  3. Agent Asks to spend. Its spend request carries a mandate id, an amount, a ref and two hashes, one of them the signed decision's. It has no field for a payee.
  4. Contract Runs 14 checks in a fixed order. It pays the mandate's payee, holds the spend for an approver, or refuses with a code such as NoMandate. The SDK signs that outcome into the ledger.
  5. Anyone Checks a published record. Each ledger entry is chained by hash to the one before, and the SDK anchors the root on the vault with the ledger key. The verifier runs checks a to i with no account and ends with PASS, FAIL or UNPROVEN.

Follow the whole path in How one payment works, or see each check in How a payment is checked.

The ideas behind every payment, one page each. New words are in the glossary.

Write a mandate

Every field, what the contract checks when the owner signs one, and why a mandate is never edited.

Approve a held payment

What puts a payment on hold, who may approve or reject it, and what happens when the hold expires.

Read the signed ledger

How each decision is signed into a hash-chained ledger before money moves, and how anchors pin it on the vault.

Read the security model

Who holds which key, what the vault enforces whatever the off-chain code does, and the known gaps.

Build on it#

The SDK, the core library, the CLI and the MCP server are on npm, at 0.1.1. A clone of the repository builds them from source too.

Install the packages

Install the SDK, the core library and the CLI from npm, or build them from a clone.

@probarion/sdk

Let an agent pay

One payment cycle with the SDK: decide, sign the decision, check, spend, record the outcome.

process()

Spend outcomes

The seven statuses process() returns, what each one means, and what to do next.

SpendOutcome

Errors

Each PROBARION: code: what it means, which call raises it and what to do next. The SDK and HTTP errors are there too.

PROBARION:OverPerPayment

Docs your agent can read#

For AI agents and their builders

Every page is also plain Markdown. Point a coding agent at the index, or paste a page into a chat.

For AI agents

What works today, and what does not#

Live works in this deployment. Preview is built but not yet run end to end, or not open yet. Planned is not built.

FeatureStatusDetail
Vault contractLiveOn testnet
Offline verifier, checks a to iLiveShipped, on npm
Reproducible buildsLiveShipped
Vault factoryLiveOn testnet
Web console: vault, keys, faucet, NEAR USDC top-up, mandate, Payables, Agent (MCP) tab, Freeze, approvals, Reject, revoke, withdraw, key removal, proof pageLiveTried on testnet
Web console: email alerts, Base top-upPreviewBuilt, not tried yet
Public proof pageLiveLive for the testnet demo vault
TypeScript SDK and CLILive0.1.1 on npm
Payables agentLiveLive on testnet
Live attested model runPreviewChecked online on testnet, image not pinned
Canary public challengeLiveLive on testnet
MCP serverLive0.1.1 on npm, run by a real MCP client on testnet
Mainnet vaultLiveOn mainnet: 1 payment, 1 refusal, no Base payout yet

NEAR testnet is live, with one small vault on mainnet, and no third party has audited this code. What works today adds the parts this list leaves out, and Testnet and mainnet says what differs between the two networks.

Show

Loading the search index