Skip to main content
The Arbiter SDK is experimental. The dispute resolution system design is actively evolving.
The @x402r/arbiter package provides methods for arbiters to resolve disputes: reviewing refund requests, approving or denying them, and executing refunds.

Setup

import { X402rArbiter } from '@x402r/arbiter';
import { getNetworkConfig } from '@x402r/core';

const config = getNetworkConfig('eip155:84532')!;

const arbiter = new X402rArbiter({
  publicClient,
  walletClient,
  operatorAddress: '0x...',
  refundRequestAddress: config.refundRequest,
  arbiterRegistryAddress: config.arbiterRegistry,
});

Available Methods

The Arbiter SDK currently supports:
  • approveRefundRequest() — Approve a pending refund request
  • denyRefundRequest() — Deny a pending refund request
  • executeRefundInEscrow() — Execute an approved refund to transfer funds back
  • getPendingRefundRequests() — List refund requests awaiting decision
  • getRefundRequestByKey() — Get details of a specific refund request
  • registerArbiter() — Register in the on-chain ArbiterRegistry
  • isArbiterRegistered() — Check registration status
  • submitEvidence() — Attach evidence (IPFS CID) to a refund request
  • getEvidence() — Retrieve a single evidence entry by index
  • getAllEvidence() — Retrieve all evidence for a refund request

Try It Now

The easiest way to try arbiter features is with the arbiter-cli example, which provides a command-line interface for all arbiter operations:

arbiter-cli

CLI tool for arbiters to review cases, make decisions, and manage registry.

Next Steps

Examples

See all working examples including the full payment flow.

Deploy Operator

Deploy a PaymentOperator with arbiter support.