JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 18050
  • Score
    100M100P100Q145365F
  • License Apache-2.0

Placeholder package

Package Exports

  • @coinbase/x402
  • @coinbase/x402/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@coinbase/x402) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@coinbase/x402

The official Coinbase facilitator package for the x402 Payment Protocol. This package provides direct access to Coinbase's hosted facilitator service, enabling seamless payment verification and settlement.

Installation

npm install @coinbase/x402

Environment Variables

This package optionally uses CDP API keys from the Coinbase Developer Platform for authenticated operations:

  • CDP_API_KEY_ID: Your CDP API key ID
  • CDP_API_KEY_SECRET: Your CDP API key secret

Endpoint Authentication Requirements

Endpoint Authentication Required Purpose
list ❌ No Discover available bazaar items and payment options
verify ✅ Yes Verify payment transactions
settle ✅ Yes Settle completed payments

Note: Environment variables are only required when using the verify and settle endpoints. The list endpoint can be used without authentication to discover bazaar items.

Quick Start

// Option 1: Import the default facilitator config
// Works for list endpoint without credentials, or with CDP_API_KEY_ID and CDP_API_KEY_SECRET environment variables for verify/settle
import { facilitator } from "@coinbase/x402";

// Option 2: Create a facilitator config, passing in credentials directly
import { createFacilitatorConfig } from "@coinbase/x402";

const facilitator = createFacilitatorConfig("your-cdp-api-key-id", "your-cdp-api-key-secret"); // Pass in directly from preferred secret management

// Use the facilitator config in your x402 integration

Integration Examples

With Express Middleware

import express from "express";
import { paymentMiddleware } from "x402-express";
import { facilitator } from "@coinbase/x402";

const app = express();

// Requires CDP_API_KEY_ID and CDP_API_KEY_SECRET environment variables
// for payment verification and settlement
app.use(paymentMiddleware(
  "0xYourAddress",
  {
    "/protected": {
      price: "$0.10",
      network: "base-sepolia"
    }
  },
  facilitator // Use Coinbase's facilitator
));