DexterDexter

DexterThe Facilitator

The settlement layer that makes x402 payments fast and reliable.

The Dexter Facilitator

The Facilitator is the settlement engine that powers x402 payments. It verifies transactions, broadcasts to the blockchain, and sponsors fees.

Base URL: https://x402.dexter.cash

Supported Networks

NetworkChain IDScheme
Solana mainnetsolana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpexact
Solana devnetsolana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1exact
Base mainneteip155:8453exact
Base Sepoliaeip155:84532exact

Cross-chain bridging is also supported between Solana and Base via the bridge scheme.

V1 Compatibility: The facilitator also accepts legacy network strings (solana, solana-devnet, base, base-sepolia) for backward compatibility with v1 clients.

What Does It Do?

When an AI agent wants to pay for an API, the Facilitator:

  1. Verifies the transaction meets policy requirements
  2. Signs the transaction as fee payer (sponsors the transaction fee)
  3. Broadcasts the transaction to the blockchain
  4. Confirms settlement on-chain

Why Use a Facilitator?

Without a Facilitator

Every seller would need to:

  • Run blockchain RPC nodes
  • Implement transaction parsing and policy checks
  • Handle priority fees
  • Manage confirmation logic

With the Dexter Facilitator

  • Zero infrastructure - We handle all blockchain complexity
  • Fee sponsorship - We pay transaction fees so buyers don't need native tokens
  • Policy enforcement - Prevents malicious transactions
  • Multi-chain - Solana, Base, Polygon, Avalanche, and more from a single integration

Endpoints

GET /supported

Returns the supported scheme/network combos, fee payer addresses, and registered extensions.

Response:

{
  "kinds": [
    {
      "x402Version": 2,
      "scheme": "exact",
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "extra": { "feePayer": "SOLANA_FEE_PAYER" }
    },
    {
      "x402Version": 2,
      "scheme": "exact",
      "network": "eip155:8453",
      "extra": {}
    },
    {
      "x402Version": 2,
      "scheme": "bridge",
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "extra": {
        "bridgeDestinations": ["eip155:8453"],
        "bridgeFeePercent": 0.1
      }
    }
  ],
  "extensions": ["bazaar"],
  "signers": {
    "solana:*": ["SOLANA_FEE_PAYER"],
    "eip155:*": ["EVM_FEE_PAYER"],
    "*": ["SOLANA_FEE_PAYER", "EVM_FEE_PAYER"]
  }
}

POST /verify

Validates that a payment payload satisfies the given requirements.

Request:

{
  "paymentPayload": {
    "x402Version": 2,
    "resource": {
      "url": "https://api.dexter.cash/your/paid/route",
      "description": "Your paid resource",
      "mimeType": "application/json"
    },
    "accepted": {
      "scheme": "exact",
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "asset": "SPL_MINT_ADDRESS",
      "amount": "10000",
      "payTo": "SELLER_WALLET",
      "maxTimeoutSeconds": 60,
      "extra": { "feePayer": "FEE_PAYER_ADDRESS" }
    },
    "payload": {
      "transaction": "BASE64_VERSIONED_TRANSACTION"
    }
  },
  "paymentRequirements": {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "SPL_MINT_ADDRESS",
    "amount": "10000",
    "payTo": "SELLER_WALLET",
    "maxTimeoutSeconds": 60
  }
}

Response (success):

{ "isValid": true, "payer": "PAYER_WALLET" }

Response (failure):

{
  "isValid": false,
  "invalidReason": "Amount below minimum",
  "invalidCode": "policy:amount_below_min"
}

POST /settle

Signs the transaction with the facilitator fee payer, submits it, and confirms it.

Request: Same shape as /verify.

Response (success):

{
  "success": true,
  "transaction": "TRANSACTION_SIGNATURE",
  "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
  "payer": "PAYER_WALLET"
}

Response (failure):

{
  "success": false,
  "transaction": "",
  "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
  "errorReason": "Asset not allowed",
  "errorCode": "policy:asset_not_allowed"
}

Solana (SVM)

The facilitator only signs Solana transactions that satisfy all of the following:

Allowed programs:

  • ComputeBudget
  • SPL Token
  • Token-2022
  • Phantom Lighthouse

Disallowed:

  • System program (no account creation / rent drain)
  • Associated Token Account program

Transaction requirements:

  • Exactly one SPL TransferChecked instruction
  • VersionedTransaction only (legacy rejected)
  • No Address Lookup Tables

Caps enforced:

  • Max compute units (200,000)
  • Max priority fee (100,000 microlamports/CU)
  • Allowed assets (USDC by default)
  • Min payment amount (0.01 USDC)

Base (EVM)

EVM transactions must be simple ERC-20 transfers to the seller's address. The facilitator validates the transfer amount and recipient match the payment requirements.

Policy Error Codes (Solana)

These policy:* codes are returned when a Solana transaction violates sponsor policy:

CodeMeaning
policy:address_lookup_table_not_supportedTransaction uses Address Lookup Tables (not allowed)
policy:program_not_allowedTransaction invokes a disallowed program
policy:malformed_instructionInstruction could not be parsed
policy:compute_units_too_highExceeds compute unit limit
policy:priority_fee_too_highPriority fee too expensive
policy:compute_budget_instruction_not_allowedUnsupported ComputeBudget instruction
policy:unsupported_token_instructionToken instruction other than TransferChecked
policy:malformed_transfer_checkedTransferChecked instruction is malformed
policy:amount_below_minPayment amount below minimum
policy:asset_not_allowedToken not in allowlist
policy:multiple_transfersMore than one transfer in transaction
policy:no_transferMissing transfer instruction

Backpressure Error Codes

These codes are returned when rate limits are exceeded:

CodeMeaning
global_verify_cap_exceededGlobal daily verify limit reached
global_settle_cap_exceededGlobal daily settle limit reached
global_fee_sponsored_cap_exceededGlobal sponsored SOL budget exhausted
global_concurrency_cap_exceededToo many concurrent settlements
seller_verify_cap_exceededSeller's daily verify limit reached
seller_settle_cap_exceededSeller's daily settle limit reached
seller_fee_sponsored_cap_exceededSeller's sponsored SOL budget exhausted
seller_concurrency_cap_exceededToo many concurrent settlements for seller
payer_settle_cap_exceededPayer's daily settle limit with seller reached

Live Statistics

View real-time settlement volume, success rates, and network stats on the Ecosystem page →

Support

On this page