Featured

Deploy OpenClaw in 60 seconds β€” 20% off logoDeploy OpenClaw in 60 seconds β€” 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger β†’
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger β†’
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free β†’
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now β†’
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data β€” no proxies, no parsers, no maintenance.

Start building free β†’
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it β€” secured from day one.

Get it set up for you β†’
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free β†’
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here β†’

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

jiayuanliang0716-max/Arbitova MCP server](https://glama.ai/mcp/servers/jiayuanliang0716-max/Arbitova/badges/score.svg)](https://glama.ai/mcp/servers/jiayuanliang0716-max/Arbitova) πŸ“‡ ☁️ - Non-custodial on-chain escrow + AI dispute arbitration for...

README.md

Arbitova

![jiayuanliang0716-max/Arbitova MCP server](https://glama.ai/mcp/servers/jiayuanliang0716-max/Arbitova)

Non-custodial USDC escrow + AI arbitration for agent-to-agent payments on Base.

Two agents lock USDC into a contract, one delivers, the other confirms or disputes, and a neutral AI arbiter resolves. Arbitova never holds the money β€” the contract does.

No API keys. No registration. No custody. Your Ethereum address is your identity.

---

Why this exists

Every A2A / agent-commerce spec in the wild β€” MCP, Google's A2A, ERC-7683, Coinbase's Agent Commerce β€” defines how agents talk. None of them define how money moves when the agents don't trust each other.

Arbitova is the missing settlement primitive:

  • Deterministic state machine. createEscrow β†’ markDelivered β†’ {confirmDelivery | dispute β†’ resolve | cancel}. No hidden branches, no admin override.
  • No auto-release after timeout. Review windows expire into DISPUTED, not into seller payout. Silence is safer than a wrong confirmation.
  • Content-hash pinned on-chain. Sellers can't swap the delivery file after the buyer inspects.
  • Per-case verdict transparency. Every arbiter decision is a signed JSON blob; its keccak256 is stored on-chain. The full verdict history is queryable at /verdicts β€” no aggregation, no delay.

This is not a marketplace. There is no Arbitova account, no listing fee, no Pro tier. The protocol is the whole product.

---

Quick start β€” Node.js SDK

npm install @arbitova/sdk ethers
import { Arbitova } from '@arbitova/sdk';

const buyer = await Arbitova.fromPrivateKey({ privateKey: process.env.BUYER_PK });

const { escrowId, txHash } = await buyer.createEscrow({
  seller: process.env.SELLER_ADDRESS,
  amount: '5.00',
  deliveryHours: 24,
  reviewHours: 24,
  verificationURI: 'https://example.com/spec.json',
});

console.log(`Escrow #${escrowId} locked β€” ${buyer.explorerTx(txHash)}`);

Seller-side, arbiter-side, browser wallet integration: see packages/sdk-js/README.md.

Quick start β€” Python SDK

pip install "arbitova[path_b]"
from arbitova import path_b

result = path_b.arbitova_create_escrow(
    seller="0x...",
    amount=5.00,
    verification_uri="https://example.com/spec.json",
)
print(result)

Quick start β€” Claude / any MCP client

{
  "mcpServers": {
    "arbitova": {
      "command": "npx",
      "args": ["-y", "@arbitova/mcp-server"],
      "env": {
        "ARBITOVA_RPC_URL": "https://sepolia.base.org",
        "ARBITOVA_ESCROW_ADDRESS": "0xA8a031bcaD2f840b451c19db8e43CEAF86a088fC",
        "ARBITOVA_USDC_ADDRESS": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
        "ARBITOVA_AGENT_PRIVATE_KEY": "0x..."
      }
    }
  }
}

Six tools: arbitova_create_escrow, arbitova_mark_delivered, arbitova_confirm_delivery, arbitova_dispute, arbitova_cancel_if_not_delivered, arbitova_get_escrow. All sign locally via ethers v6. Your private key never leaves the process.

Omit ARBITOVA_AGENT_PRIVATE_KEY for read-only introspection mode (useful for observability).

---

Lifecycle

                      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                      β”‚     CREATED      β”‚ buyer locked USDC
                      β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
                               β–Ό seller.markDelivered()
                      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                      β”‚    DELIVERED     β”‚ deliveryHash on-chain
                      β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
        buyer.confirmDelivery()β”‚        β”‚ buyer.dispute()
                               β”‚        β”‚ or seller.dispute()
                               β–Ό        β–Ό
                   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                   β”‚  RELEASED   β”‚  β”‚ DISPUTED β”‚ waiting for arbiter
                   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
                                         β”‚ arbiter.resolve(bps split + verdictHash)
                                         β–Ό
                                   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                                   β”‚ RESOLVED β”‚
                                   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Two terminal states not drawn: CANCELLED (buyer calls cancelIfNotDelivered after delivery window) and auto-escalation into DISPUTED if the review window expires without confirmation.

---

Framework reference agents

Three end-to-end A2A demos on Base Sepolia with a live AI arbiter:

Each demo runs the full CREATED β†’ DELIVERED β†’ CONFIRMED (or DISPUTED β†’ RESOLVED) flow with real on-chain transactions.

---

Packages

| Package | Purpose | |---|---| | @arbitova/sdk | Node.js / browser SDK (ethers v6) | | arbitova | Python SDK, install with [path_b] extra for on-chain support | | @arbitova/mcp-server | MCP server (6 on-chain tools) for Claude Desktop, Claude Code, any MCP client |

Each ships the same six-entrypoint surface so an agent using the Python SDK can settle with an agent using the MCP server β€” they're hitting the same contract.

---

Fees

| When | Fee | Paid by | |---|---|---| | confirmDelivery / review-window expiry auto-settle | 0.5% | deducted from seller payout | | Arbiter resolves a dispute | 2% | split per arbiter verdict |

Fees accrue in the contract. The protocol runs on them; there is no subscription.

---

Networks

| Network | Status | Contract | |---|---|---| | Base Sepolia | live, real Circle USDC | 0xA8a031bcaD2f840b451c19db8e43CEAF86a088fC | | Base mainnet | pending audit + multisig arbiter | TBA |

Watch the Dev Log for mainnet launch.

---

Legacy (Path A)

v2.x of the SDKs and v3.4.0 of the MCP server were a custodial HTTP client against api.arbitova.com. That architecture had four structural problems (DB-vs-onchain drift, custody wallet gas, single ADMIN_KEY, single WALLET_ENCRYPTION_KEY point of failure) and was deprecated in favor of Path B β€” the non-custodial on-chain design described above.

Old packages remain on npm/PyPI but are deprecated.

---

License

MIT

See related servers & alternatives β†’

Related MCP servers

Browse all β†’

Related guides

Hand-picked reading to help you choose and use Finance & Payments servers.