FilipBl4gojevic c391b98af8
Some checks failed
CI / typecheck + vitest (Node 20) (push) Has been cancelled
fix(escrow): lock min-ada for the largest future datum so long-capability Submits settle
The escrow locks payment + both bonds and the validator requires exact
value preservation (value_equal) on Claim and Submit. Submit grows the
inline datum ~43 bytes (submitted_at None->Some, result_receipt_hash
None->Some 32 bytes). When capability_id is long enough, the
Submitted-state output's min-ada exceeds the locked total; lucid bumps
the continuing output, value_equal fails, and the validator errors with
no traces (opaque evaluateTransaction 3010/3012). Measured on mainnet at
utxoCostPerByte 4310: a 20-byte chat capability clears a 2.2M lock by
49,310, a 33-byte OCR capability is over by 11,030 - so short-capability
escrows settle and long ones never can, and because Claim's datum is
smaller it always passes, making a Submit-only failure look chain-side.

escrowLockFloor() computes min-ada for the Submitted state plus a margin
and locks max(economic total, that floor) in the post builders. Buyer-
side only, no contract or supplier changes; lucid never bumps once the
lock is sufficient, and the surplus returns through the >= terminal
distribution. postOcrEscrow's identical change ships with the OCR
feature branch. New unit test covers the floor across capability lengths.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-10 14:22:02 +02:00
2026-07-28 10:06:14 +02:00

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

  1. Advert - a buyer posts a job with escrow bonded
  2. Claim - a supplier claims it, bonding their side
  3. Submit - work is delivered
  4. Accept - the buyer accepts the work
  5. 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.

Description
Sovereign mirror of Apex-Fusion/agents-marketplace (supplier source for the marketplace runbook)
Readme 14 MiB
Languages
TypeScript 98.4%
Dockerfile 0.8%
Shell 0.6%
Python 0.2%