x402 Gateend-to-end playground

Demo

Create a fake pull request, get a real x402 challenge, then settle it. Nothing here touches GitHub.

Real x402 flow

The same endpoint works with a real wallet on Base Sepolia (x402 v2):

# 1. challenge
curl -i https://github-gate.x402dev.com/pay/<intent>

# 2. pay with any x402 v2 client
import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";

const fetchWithPayment = wrapFetchWithPaymentFromConfig(fetch, {
  schemes: [{ network: "eip155:84532", client: new ExactEvmScheme(privateKeyToAccount(PRIVATE_KEY)) }],
});
const res = await fetchWithPayment("https://github-gate.x402dev.com/pay/<intent>");
console.log(res.headers.get("PAYMENT-RESPONSE"));