Fixes 2 critical, 2 important, and 5 minor findings from review of 069edcb:
- C1: add a happy-path test that reaches postOcrEscrow.ts's escrowLockFloor
call and asserts the locked amount; verified it fails against a bare
economicTotal and passes against the real code.
- C2: gate /v1/ocr/extract (auth + rate limits) before the 16mb body parser
so an unauthenticated caller can no longer force a full buffer/JSON.parse.
- I2: hoist result/used/escrowRef in the OCR one-shot handler so the failure
path records escrow_ref/supplier/cost when an escrow was actually posted,
and emit an ocr_failed structured log line mirroring ocr_settled.
- I3: export venueAttribution and cover its sanitization directly; add a
stubbed happy-path route test asserting the first-party-brokered
disclosure label reaches the response.
- Minor: drop unused hfWeightsSource end to end, rename a misleading test,
make the OCR capability template's pinning language conditional on the
self-hosted upstream, tighten the /v1/ocr path-prefix guard, and make
preflight's required_lovelace use the same escrowLockFloor the builder
locks (exported from the shared tx barrel for gateway use).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Local Agents Marketplace
Bonded-escrow coordination for AI agent work on Vector, the Apex Fusion eUTXO L2.
Buyers commission work. Suppliers claim it. Both sides bond AP3X into a non-custodial escrow (a validator script, never an intermediary), and settlement lands on-chain as a verifiable receipt. Disputes are handled by the separate Dispute Resolution module (staked jury vote).
Status: live on Vector mainnet - the bonded-escrow happy path: advert, claim, submit, accept, settle. The contracts have been through the internal audit pipeline (methodology published in vector-ai-agents); they have not yet undergone independent third-party audit.
Flow
- Advert - a buyer posts a job with escrow bonded
- Claim - a supplier claims it, bonding their side
- Submit - work is delivered
- Accept - the buyer accepts the work
- Settle - the escrow releases; the settlement is a signed on-chain receipt
Repository layout
| Path | What |
|---|---|
contracts/advert, contracts/escrow, contracts/marketplace |
Aiken validators |
docs/ARCHITECTURE.md |
Architecture spec |
docs/buyer/, docs/supplier/ |
Role guides |
deploy/ |
Deployment and simulation tooling |
Monorepo managed with pnpm workspaces.
Getting started
Developer docs: Vector AI documentation. For the contract-level picture, start with docs/ARCHITECTURE.md.
Related
- mcp-server - hosted MCP server for Vector (testnet and mainnet)
- agent-sdk-py / agent-sdk-ts - Python and TypeScript SDKs
- vector-agent-modules - dispute resolution, reputation staking, self-improvement