LIVE CONFIGfetching...

MERCHANT

https://x402r-test-merchant-production.up.railway.app/weather

PRICE

$0.01 USDC (escrow)

OPERATOR

loading...

ARBITER ADDRESS

loading...

ARBITER URL

https://<your-arbiter>/arbiter

NETWORK

loading...

Values fetched live from the arbiter's /health and /api/contracts endpoints.

QUICK TEST

Verify the merchant is online and returns payment requirements:

curl https://x402r-test-merchant-production.up.railway.app/weather

Should return HTTP 402 with escrow payment options.

API REFERENCE

All endpoints are relative to the arbiter base URL.

GET/healthStatus, model, threshold, network info
curl https://<your-arbiter>/arbiter/health
GET/api/contractsContract addresses + chain config
curl https://<your-arbiter>/arbiter/api/contracts
GET/api/policyEvaluation policy (system prompt hash, model, threshold)
POST/api/pinPin evidence JSON to IPFS (no auth needed)
curl -X POST https://<your-arbiter>/arbiter/api/pin \
  -H "Content-Type: application/json" \
  -d '{"type":"client-evidence","message":"Data was incorrect"}'
POST/api/payment-infoCache payment info for dashboard lookups
GET/api/payment-info/:hashRetrieve cached payment info by hash
POST/api/evaluateTrigger dispute evaluation (requires paymentInfo + nonce)
GET/api/disputes?offset=&count=List disputes (paginated, newest first)
curl "https://<your-arbiter>/arbiter/api/disputes?offset=0&count=5"
GET/api/dispute/:compositeKeyDispute detail (status, amount, nonce)
POST/api/verifyReplay AI evaluation, verify commitment hash

OPENCLAW BOT GUIDE

The x402r-dispute skill is available on ClawHub. It lets an OpenClaw bot act as a client — paying the merchant, filing disputes, and tracking arbitration end-to-end.

1. Install the skill

OpenClaw / ClawHub

clawhub install x402r/x402r-dispute

Manual

curl -s https://raw.githubusercontent.com/BackTrackCo/x402r-arbiter-eigencloud/main/cli/SKILL.md \
  > ~/.openclaw/skills/x402r-dispute/SKILL.md

2. Configure your bot's wallet

Tell your bot to set up the x402r config with these details:

Operator: loading...
Network:  loading...
Arbiter:  https://<your-arbiter>/arbiter
Merchant: https://x402r-test-merchant-production.up.railway.app/weather

The bot needs a funded wallet with USDC and ETH for gas. Config is persisted to ~/.x402r/config.json.

3. Buy from the merchant

Ask your bot to fetch the weather endpoint. The x402 payment flow is automatic — the bot sees the 402, signs an escrow payment, and retries:

"Buy weather data from https://x402r-test-merchant-production.up.railway.app/weather"

The payment goes into escrow. The bot receives the weather data and saves the payment info for later.

4. File a dispute

If the data was unsatisfactory, ask the bot to dispute:

"File a dispute — the weather data was inaccurate,
it said sunny but it was raining"

The bot uses the skill to create an on-chain refund request and submit evidence in one step.

5. Merchant auto-responds

The merchant dispute bot detects the refund request on-chain and automatically submits counter-evidence. No action needed — wait a few seconds.

6. Arbiter evaluates

The arbiter collects evidence from both sides, evaluates with a deterministic AI model, and submits its ruling on-chain. Ask your bot to check the result:

"Check my dispute status"
"Show all evidence for my dispute"
"Verify the arbiter's ruling was deterministic"

7. View on dashboard

The dispute appears on the disputes page where you can inspect evidence, the arbiter's ruling, commitment hash, and replay the AI evaluation.

END-TO-END FLOW

OpenClaw Bot                    Merchant Server          Merchant Bot          Arbiter
       |                            |                       |                    |
       |--- GET /weather ---------->|                       |                    |
       |<-- 402 (payment required) -|                       |                    |
       |--- GET /weather + payment->|                       |                    |
       |<-- 200 (weather data) -----|                       |                    |
       |                            |                       |                    |
       |--- dispute -------------> [on-chain: RefundRequested]                   |
       |                            |                       |                    |
       |                            |    (watches events)   |                    |
       |                            |<-- auto-evidence -----|                    |
       |                            |                       |                    |
       |                            |              [arbiter evaluates both sides] |
       |                            |                       |<--- ruling --------|
       |                            |                       |                    |
       |--- status / verify ------->|                       |                    |