api.shopsocial-api.workers.dev: x402 purchase results on Base, latest attempt 2026-11-12 on Celo
113 Base listings. Latest result about the seller at each listing: 4 delivered · 0 failed on the seller's side · 1 with no such result among the attempts shown · 108 with no Base purchase. This counts, for each listing, the newest Base purchase that delivered or the newest Base failure on the seller's side. Attempts on vet402's side, not bought, not sorted, or awaiting on-chain verification are skipped.
Also bought on other chains: 33 listings (Celo 14, Stellar 11, XRPL 5, Avalanche C-Chain 3). Each card lists them under Other chains.
By the latest attempt at each listing, whatever it was: 4 delivered · 0 failed on the seller's side · 0 on vet402's side · 1 not sorted (vet402 cannot show the failure was not its own) · 108 with no Base purchase.
Latest attempt on Celo: 2026-11-12 06:01 UTC. This page read the ledger at 2026-11-12 11:09 UTC and reuses that read for up to 5 min. The first view after a quiet period can show an older read.
Paste this badge on your page. It shows what vet402 received when it paid api.shopsocial-api.workers.dev, and links to this record.
[](https://vet402.com/sellers/api.shopsocial-api.workers.dev)<a href="https://vet402.com/sellers/api.shopsocial-api.workers.dev"><img src="https://vet402.com/api/badge/host/api.shopsocial-api.workers.dev.svg" alt="vet402 record for api.shopsocial-api.workers.dev" height="38"></a>1.Your listings
- api.shopsocial-api.workers.dev/api/social/socialbladeGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Celo, 2026-11-12 06:01 UTC, settled, HTTP 200 transaction
Decision API now: asking… · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 18:32 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 18:32 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: Not before 2026-11-18 06:01 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/socialblade": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/socialblade": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/socialblade": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/socialblade": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/threads-searchGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Stellar, 2026-11-12 00:00 UTC, settle_failed
Decision API now: asking… · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 22:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 22:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: Not before 2026-11-18 00:00 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/threads-search": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/threads-search": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/threads-search": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/threads-search": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/youtube-shortsGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- XRPL, 2026-11-12 00:00 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-10 22:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-15 22:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: Not before 2026-12-12 00:00 UTC (this listing has 3 or more settled purchases, so it is bought at most once every 30 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/youtube-shorts": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/youtube-shorts": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/youtube-shorts": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/youtube-shorts": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/tiktok-commentsGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- XRPL, 2026-11-11 21:30 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 16:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 16:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: Not before 2026-12-11 21:30 UTC (this listing has 3 or more settled purchases, so it is bought at most once every 30 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/tiktok-comments": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/tiktok-comments": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/tiktok-comments": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/tiktok-comments": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/x-comGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Stellar, 2026-11-11 18:01 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 22:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 22:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: Not before 2026-11-17 18:01 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/x-com": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/x-com": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/x-com": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/x-com": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/youtube-commentsGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Stellar, 2026-11-10 15:31 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-10 22:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-15 22:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: Not before 2026-11-16 15:31 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/youtube-comments": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/youtube-comments": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/youtube-comments": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/youtube-comments": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/facebook-searchGET
- Latest Base attempt
- 2026-11-02 15:31 UTC
- Result
- delivered
- Whose side
- no failure (delivered)
- Other chains
- Celo, 2026-11-10 06:01 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 16:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 16:40 UTC (within 120 hours of the last).What vet402 saw: Paid; vet402 confirmed the transfer on-chain and the paid request answered HTTP 200.The 402 terms vet402 paid: exact · 0.01 USDC · payTo 0xb849…eafa. Input sent: body none, query declared. The listing's maxTimeoutSeconds is 300. vet402 waits 20 seconds for the paid answer.Signed payment: scheme exact · 0.01 USDC · payTo 0xb849…eafa · nonce 0x5aa8…3884 · validBefore not recorded.Answer to the paid request: HTTP 200 · Content-Type application/json · PAYMENT-RESPONSE: success true, names a transaction.Recorded (L1 paid purchase):settled(vet402 re-read the transfer on-chain in that chain's pinned settlement asset) · HTTP 200 · tx 0xf33394dd…737aIn export.csv?days=11: the row withattempted_at2026-11-02T15:31:11Z andresource_keyapi.shopsocial-api.workers.dev/api/social/facebook-search.After a fixNext purchase by vet402: Not before 2026-11-16 06:01 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.The time filled in for the dispute is the latest Base attempt.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("eip155:8453", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/facebook-search": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "10000", asset: "<...>" }, network: "eip155:8453", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("eip155:8453", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/facebook-search": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "10000", asset: "<...>" }, network: "eip155:8453", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("eip155:8453", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/facebook-search": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "10000", asset: "<...>" }, network: "eip155:8453", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("eip155:8453", ExactEvmServerScheme()) routes = { "GET /api/social/facebook-search": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "10000", "asset": "<...>"}, "network": "eip155:8453", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/tiktokGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Stellar, 2026-11-10 03:31 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-10 16:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-15 16:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: Not before 2026-11-16 03:31 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/tiktok": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/tiktok": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/tiktok": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/tiktok": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/ace-hardwareGET
On 2026-10-27 08:00 UTC, vet402 signed a payment and the paid request got no HTTP answer. This row is not counted against the seller (not sorted: vet402 stopped waiting). The next purchase by vet402 is not before 2026-11-15 09:30 UTC, with no booked time. After that it depends on the daily budget and the order of demand.
- Latest Base attempt
- 2026-10-27 08:00 UTC
- Result
- vet402 stopped waiting with no answer on the row
- Whose side
- not sorted: vet402 stopped waiting
- Other chains
- Celo, 2026-11-09 09:30 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-10 13:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-15 13:40 UTC (within 120 hours of the last).What vet402 saw: vet402 waited the time recorded on the row for the paid answer (20 seconds when the row does not record one). The listing allows longer than that wait (its maxTimeoutSeconds), or does not say how long, or the row names a transaction for the purchase. This page does not place that transaction before or after the end of the wait, and does not count the row as the seller's fault.Last result about the seller: none among the attempts shown. The latest Base attempt is not sorted.The 402 terms vet402 signed: exact · 0.02 USDC · payTo 0xb849…eafa. Input sent: body none, query declared. The listing's maxTimeoutSeconds is 300. vet402 waits 20 seconds for the paid answer.Signed payment: scheme exact · 0.02 USDC · payTo 0xb849…eafa · nonce 0x2ef3…f0d2 · validBefore not recorded.Answer to the paid request: no answer: no HTTP status and no PAYMENT-RESPONSE within 20 seconds, when vet402 stopped waiting.What to fix: This page does not count it as the seller's fault.Not shown for this row: vet402 stopped waiting after 20 seconds (the listing's maxTimeoutSeconds is 300).Recorded (L1 attempt, vet402 signed a payment, not settled on-chain):settle_failed(vet402 signed a payment and got no settlement receipt back) · HTTP — · no txIn export.csv?days=18: the row withattempted_at2026-10-27T08:00:52Z andresource_keyapi.shopsocial-api.workers.dev/api/ecommerce/ace-hardware.After a fixNext purchase by vet402: Not before 2026-11-15 09:30 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.The time filled in for the dispute is the latest Base attempt.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("eip155:8453", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/ace-hardware": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "20000", asset: "<...>" }, network: "eip155:8453", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("eip155:8453", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/ace-hardware": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "20000", asset: "<...>" }, network: "eip155:8453", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("eip155:8453", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/ace-hardware": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "20000", asset: "<...>" }, network: "eip155:8453", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("eip155:8453", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/ace-hardware": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "20000", "asset": "<...>"}, "network": "eip155:8453", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/amazon-bestsellersGET
- Latest Base attempt
- 2026-11-02 03:31 UTC
- Result
- delivered
- Whose side
- no failure (delivered)
- Other chains
- Celo, 2026-11-09 09:30 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 22:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 22:40 UTC (within 120 hours of the last).What vet402 saw: Paid; vet402 confirmed the transfer on-chain and the paid request answered HTTP 200.The 402 terms vet402 paid: exact · 0.002 USDC · payTo 0xb849…eafa. Input sent: body none, query declared. The listing's maxTimeoutSeconds is 300. vet402 waits 20 seconds for the paid answer.Signed payment: scheme exact · 0.002 USDC · payTo 0xb849…eafa · nonce 0x0da7…ceea · validBefore not recorded.Answer to the paid request: HTTP 200 · Content-Type application/json · PAYMENT-RESPONSE: success true, names a transaction.Recorded (L1 paid purchase):settled(vet402 re-read the transfer on-chain in that chain's pinned settlement asset) · HTTP 200 · tx 0x2270300e…2ad4In export.csv?days=12: the row withattempted_at2026-11-02T03:31:30Z andresource_keyapi.shopsocial-api.workers.dev/api/ecommerce/amazon-bestsellers.After a fixNext purchase by vet402: Not before 2026-11-15 09:30 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.The time filled in for the dispute is the latest Base attempt.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("eip155:8453", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/amazon-bestsellers": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "eip155:8453", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("eip155:8453", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/amazon-bestsellers": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "eip155:8453", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("eip155:8453", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/amazon-bestsellers": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "eip155:8453", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("eip155:8453", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/amazon-bestsellers": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "eip155:8453", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/facebook-marketplaceGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Stellar, 2026-11-09 03:30 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-10 04:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-15 04:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: Not before 2026-11-15 03:30 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/facebook-marketplace": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "10000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/facebook-marketplace": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "10000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/facebook-marketplace": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "10000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/facebook-marketplace": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "10000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/gmx-arbitrum-pricesGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Stellar, 2026-11-08 12:02 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 16:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 16:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: Not before 2026-11-14 12:02 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/gmx-arbitrum-prices": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/gmx-arbitrum-prices": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/gmx-arbitrum-prices": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/gmx-arbitrum-prices": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/tiktok-profileGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Celo, 2026-11-08 03:31 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-10 13:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-15 13:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: Not before 2026-11-14 03:31 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/tiktok-profile": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/tiktok-profile": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/tiktok-profile": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/tiktok-profile": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/openbeautyfacts-productsGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Celo, 2026-11-08 03:30 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-10 13:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-15 13:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: Not before 2026-11-14 03:30 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/openbeautyfacts-products": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/openbeautyfacts-products": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/openbeautyfacts-products": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/openbeautyfacts-products": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/youtube-twitch-kick-creator-outreachGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- XRPL, 2026-11-08 03:30 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 16:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 16:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: Not before 2026-11-14 03:30 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/youtube-twitch-kick-creator-outreach": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/youtube-twitch-kick-creator-outreach": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/youtube-twitch-kick-creator-outreach": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/youtube-twitch-kick-creator-outreach": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/youtube-channel-emailGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- XRPL, 2026-11-08 00:00 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 13:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 13:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: Not before 2026-11-14 00:00 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/youtube-channel-email": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/youtube-channel-email": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/youtube-channel-email": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/youtube-channel-email": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/facebook-reelsGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Avalanche C-Chain, 2026-11-07 15:31 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-10 04:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-15 04:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: Not before 2026-11-13 15:31 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/facebook-reels": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "10000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/facebook-reels": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "10000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/facebook-reels": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "10000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/facebook-reels": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "10000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/truthsocialGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Stellar, 2026-11-07 12:01 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 22:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 22:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: Not before 2026-11-13 12:01 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/truthsocial": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "3000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/truthsocial": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "3000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/truthsocial": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "3000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/truthsocial": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "3000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/aliexpressGET
- Latest attempt
- 2026-11-07 06:01 UTC
- Result
- delivered
- Whose side
- no failure (delivered)
- Other chains
- Celo, 2026-10-31 00:01 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 16:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 16:40 UTC (within 120 hours of the last).What vet402 saw: Paid; vet402 confirmed the transfer on-chain and the paid request answered HTTP 200.The 402 terms vet402 paid: exact · 0.002 USDC · payTo 0xb849…eafa. Input sent: body none, query declared. The listing's maxTimeoutSeconds is 300. vet402 waits 20 seconds for the paid answer.Signed payment: scheme exact · 0.002 USDC · payTo 0xb849…eafa · nonce 0x418c…0545 · validBefore not recorded.Answer to the paid request: HTTP 200 · Content-Type application/json · PAYMENT-RESPONSE: success true, names a transaction.Recorded (L1 paid purchase):settled(vet402 re-read the transfer on-chain in that chain's pinned settlement asset) · HTTP 200 · tx 0xfe0594f7…aa87In export.csv?days=7: the row withattempted_at2026-11-07T06:01:12Z andresource_keyapi.shopsocial-api.workers.dev/api/ecommerce/aliexpress.After a fixNext purchase by vet402: Not before 2026-11-13 06:01 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("eip155:8453", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/aliexpress": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "eip155:8453", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("eip155:8453", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/aliexpress": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "eip155:8453", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("eip155:8453", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/aliexpress": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "eip155:8453", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("eip155:8453", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/aliexpress": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "eip155:8453", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/tiktok-creative-center-top-adsGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Celo, 2026-11-07 06:00 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-10 13:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-15 13:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: Not before 2026-11-13 06:00 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/tiktok-creative-center-top-ads": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "20000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/tiktok-creative-center-top-ads": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "20000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/tiktok-creative-center-top-ads": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "20000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/tiktok-creative-center-top-ads": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "20000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/x-com-profilesGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- XRPL, 2026-11-07 00:00 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 13:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 13:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: Not before 2026-11-13 00:00 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/x-com-profiles": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/x-com-profiles": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/x-com-profiles": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/x-com-profiles": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/tiktok-hashtag-analyticsGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Celo, 2026-11-06 15:31 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 04:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 04:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: Not before 2026-11-12 15:31 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/tiktok-hashtag-analytics": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/tiktok-hashtag-analytics": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/tiktok-hashtag-analytics": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/tiktok-hashtag-analytics": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/upworkGET
- Latest Base attempt
- 2026-10-31 03:31 UTC
- Result
- delivered
- Whose side
- no failure (delivered)
- Other chains
- Celo, 2026-11-06 15:30 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 16:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 16:40 UTC (within 120 hours of the last).What vet402 saw: Paid; vet402 confirmed the transfer on-chain and the paid request answered HTTP 200.The 402 terms vet402 paid: exact · 0.002 USDC · payTo 0xb849…eafa. Input sent: body none, query declared. The listing's maxTimeoutSeconds is 300. vet402 waits 20 seconds for the paid answer.Signed payment: scheme exact · 0.002 USDC · payTo 0xb849…eafa · nonce 0x0366…61c6 · validBefore not recorded.Answer to the paid request: HTTP 200 · Content-Type application/json · PAYMENT-RESPONSE: success true, names a transaction.Recorded (L1 paid purchase):settled(vet402 re-read the transfer on-chain in that chain's pinned settlement asset) · HTTP 200 · tx 0x0effa137…6dd8In export.csv?days=14: the row withattempted_at2026-10-31T03:31:36Z andresource_keyapi.shopsocial-api.workers.dev/api/social/upwork.After a fixNext purchase by vet402: Not before 2026-11-12 15:30 UTC (a listing is bought at most once every 6 days). After that it depends on the daily budget and the order of demand, so this is the earliest date, not a booking.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.The time filled in for the dispute is the latest Base attempt.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("eip155:8453", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/upwork": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "eip155:8453", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("eip155:8453", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/upwork": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "eip155:8453", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("eip155:8453", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/upwork": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "eip155:8453", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("eip155:8453", ExactEvmServerScheme()) routes = { "GET /api/social/upwork": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "eip155:8453", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/youtubeGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Stellar, 2026-11-06 03:31 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 16:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 16:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: The regular sweep can pick this listing again since 2026-11-12 03:31 UTC (a listing is bought at most once every 6 days). When it does depends on the daily budget and the order of demand, so there is no booked date.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/youtube": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/youtube": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/youtube": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/youtube": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/tiktok-shopGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Celo, 2026-11-06 03:30 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-10 22:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-15 22:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: The regular sweep can pick this listing again since 2026-11-12 03:30 UTC (a listing is bought at most once every 6 days). When it does depends on the daily budget and the order of demand, so there is no booked date.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/tiktok-shop": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/tiktok-shop": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/tiktok-shop": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/tiktok-shop": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/instagram-postsGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Avalanche C-Chain, 2026-11-05 12:01 UTC, settle_failed
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 18:31 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 18:31 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: The regular sweep can pick this listing again since 2026-11-11 12:01 UTC (a listing is bought at most once every 6 days). When it does depends on the daily budget and the order of demand, so there is no booked date.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/instagram-posts": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "5000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/instagram-posts": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "5000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/instagram-posts": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "5000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/instagram-posts": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "5000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/backmarketGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Celo, 2026-11-04 21:31 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 16:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 16:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: The regular sweep can pick this listing again since 2026-11-10 21:31 UTC (a listing is bought at most once every 6 days). When it does depends on the daily budget and the order of demand, so there is no booked date.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/backmarket": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "20000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/backmarket": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "20000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/backmarket": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "20000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/backmarket": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "20000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/youtube-channel-searchGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Stellar, 2026-11-04 18:00 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 22:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 22:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: The regular sweep can pick this listing again since 2026-11-10 18:00 UTC (a listing is bought at most once every 6 days). When it does depends on the daily budget and the order of demand, so there is no booked date.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/youtube-channel-search": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/youtube-channel-search": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/youtube-channel-search": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/youtube-channel-search": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/youtube-edu-channelsGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Stellar, 2026-11-04 15:31 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-10 16:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-15 16:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: The regular sweep can pick this listing again since 2026-11-10 15:31 UTC (a listing is bought at most once every 6 days). When it does depends on the daily budget and the order of demand, so there is no booked date.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/youtube-edu-channels": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/youtube-edu-channels": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/youtube-edu-channels": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/youtube-edu-channels": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/youtube-hashtagGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Stellar, 2026-11-04 12:01 UTC, settled, HTTP 200 transaction
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 16:40 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 16:40 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: The regular sweep can pick this listing again since 2026-11-10 12:01 UTC (a listing is bought at most once every 6 days). When it does depends on the daily budget and the order of demand, so there is no booked date.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/youtube-hashtag": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/youtube-hashtag": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/youtube-hashtag": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/youtube-hashtag": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/chemist-warehouseGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Avalanche C-Chain, 2026-10-28 15:31 UTC, settle_failed, HTTP 400
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 22:30 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 22:30 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: The regular sweep can pick this listing again since 2026-11-03 15:31 UTC (a listing is bought at most once every 6 days). When it does depends on the daily budget and the order of demand, so there is no booked date.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/chemist-warehouse": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "20000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/chemist-warehouse": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "20000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/chemist-warehouse": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "20000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/chemist-warehouse": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "20000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/reddit-posts-commentsGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Celo, 2026-10-26 20:01 UTC, settle_failed, HTTP 402
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 14:31 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 14:31 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: The regular sweep can pick this listing again since 2026-11-01 20:01 UTC (a listing is bought at most once every 6 days). When it does depends on the daily budget and the order of demand, so there is no booked date.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/reddit-posts-comments": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/reddit-posts-comments": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/reddit-posts-comments": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/reddit-posts-comments": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/social/alltrailsGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
- Other chains
- Celo, 2026-10-26 11:30 UTC, settle_failed, HTTP 402
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 00:31 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 00:31 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixNext purchase by vet402: The regular sweep can pick this listing again since 2026-11-01 11:30 UTC (a listing is bought at most once every 6 days). When it does depends on the daily budget and the order of demand, so there is no booked date.Email me when this result changesDispute this purchaseA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/alltrails": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/social/alltrails": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/social/alltrails": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/social/alltrails": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/avantor-vwr-internationalGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 14:31 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 14:31 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixEmail me when this result changesDispute this recordA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/avantor-vwr-international": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/avantor-vwr-international": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/avantor-vwr-international": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/avantor-vwr-international": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/chewy-comGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 14:31 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 14:31 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixEmail me when this result changesDispute this recordA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/chewy-com": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/chewy-com": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/chewy-com": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/chewy-com": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/chrome-web-storeGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 02:31 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 02:31 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixEmail me when this result changesDispute this recordA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/chrome-web-store": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/chrome-web-store": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/chrome-web-store": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/chrome-web-store": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/costcoGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 02:31 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 02:31 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixEmail me when this result changesDispute this recordA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/costco": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/costco": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/costco": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/costco": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/costplusdrugsGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 18:30 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 18:30 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixEmail me when this result changesDispute this recordA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/costplusdrugs": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/costplusdrugs": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/costplusdrugs": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/costplusdrugs": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/cpsc-recallsGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 14:31 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 14:31 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixEmail me when this result changesDispute this recordA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/cpsc-recalls": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/cpsc-recalls": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/cpsc-recalls": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/cpsc-recalls": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/dealstreamGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): fail (no_402) at 2026-11-11 18:31 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 18:31 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixEmail me when this result changesDispute this recordA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/dealstream": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/dealstream": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/dealstream": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/dealstream": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/dealstream-listingsGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): fail (no_402) at 2026-11-11 18:32 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 18:32 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixEmail me when this result changesDispute this recordA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/dealstream-listings": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/dealstream-listings": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/dealstream-listings": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/dealstream-listings": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/digikala-iranGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 18:31 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 18:31 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixEmail me when this result changesDispute this recordA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/digikala-iran": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/digikala-iran": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/digikala-iran": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/digikala-iran": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/eu-safety-gate-rapexGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 18:30 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 18:30 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixEmail me when this result changesDispute this recordA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/eu-safety-gate-rapex": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/eu-safety-gate-rapex": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/eu-safety-gate-rapex": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/eu-safety-gate-rapex": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/faireGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 18:31 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 18:31 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixEmail me when this result changesDispute this recordA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/faire": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "20000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/faire": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "20000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/faire": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "20000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/faire": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "20000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/falabella-latamGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 18:30 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 18:30 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixEmail me when this result changesDispute this recordA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/falabella-latam": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/falabella-latam": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/falabella-latam": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/falabella-latam": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/fisher-scientificGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 18:32 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 18:32 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixEmail me when this result changesDispute this recordA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/fisher-scientific": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/fisher-scientific": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/fisher-scientific": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/fisher-scientific": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/flixbusGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 00:32 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 00:32 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixEmail me when this result changesDispute this recordA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/flixbus": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/flixbus": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/flixbus": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/flixbus": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/gamenationGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 02:31 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 02:31 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixEmail me when this result changesDispute this recordA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/gamenation": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/gamenation": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/gamenation": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/gamenation": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/grubhubGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 18:31 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 18:31 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixEmail me when this result changesDispute this recordA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/grubhub": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/grubhub": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/grubhub": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/grubhub": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next) - api.shopsocial-api.workers.dev/api/ecommerce/hepsiburadaGET
- Latest attempt
- not tried on Base yet
- Result
- not tried on Base yet
- Whose side
- not tried on Base yet
Decision API now: · the full answerLatest L0 check (the 402 to an unpaid request): pass at 2026-11-11 18:31 UTC. Probes run oldest first, so there is no booked time. The next one usually comes by 2026-11-16 18:31 UTC (within 120 hours of the last).No Base purchase is on this listing.After a fixEmail me when this result changesDispute this recordA dispute does not start a purchase. The signed dispute route runs one fresh L0 check, an unpaid request.Fix code for Express, Next.js, Hono and FastAPI
Paste one snippet for the stack you run. vet402 fills payTo, the atomic amount, the CAIP-2 network, and the path from this listing. A value the listing does not have stays <...>.
Express
import { paymentMiddleware, x402ResourceServer } from "@x402/express" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/hepsiburada": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )Next.js (app router)
import { withX402, x402ResourceServer } from "@x402/next" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" import { NextRequest, NextResponse } from "next/server" const server = new x402ResourceServer(new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" })).register("<...>", new ExactEvmScheme()) const handler = async (request: NextRequest) => { return NextResponse.json({ ok: true }) } export const GET = withX402( handler, { "/api/ecommerce/hepsiburada": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, )Hono
import { paymentMiddleware, x402ResourceServer } from "@x402/hono" import { ExactEvmScheme } from "@x402/evm/exact/server" import { HTTPFacilitatorClient } from "@x402/core/server" const facilitatorClient = new HTTPFacilitatorClient({ url: "https://x402.org/facilitator" }) const server = new x402ResourceServer(facilitatorClient).register("<...>", new ExactEvmScheme()) app.use( paymentMiddleware( { "GET /api/ecommerce/hepsiburada": { accepts: { scheme: "exact", payTo: "<...>", price: { amount: "2000", asset: "<...>" }, network: "<...>", }, }, }, server, ), )FastAPI
from fastapi import FastAPI from x402 import x402ResourceServer from x402.http import HTTPFacilitatorClient from x402.http.middleware.fastapi import payment_middleware from x402.mechanisms.evm.exact import ExactEvmServerScheme app = FastAPI() facilitator = HTTPFacilitatorClient() server = x402ResourceServer(facilitator) server.register("<...>", ExactEvmServerScheme()) routes = { "GET /api/ecommerce/hepsiburada": { "accepts": { "scheme": "exact", "payTo": "<...>", "price": {"amount": "2000", "asset": "<...>"}, "network": "<...>", }, }, } @app.middleware("http") async def x402_middleware(request, call_next): return await payment_middleware(routes, server)(request, call_next)
2.How to read this
Each listing shows its latest Base attempt and up to four earlier Base attempts. Result and Whose side follow that Base attempt. A purchase on another chain is listed under Other chains, with the chain name, time, status, HTTP status, and a transaction link when one was recorded. The record page shows that purchase in the Payment chain column. A row where vet402 signed a payment and sent the paid request is an L1 result: “Recorded (L1 paid purchase)” when the payment settled on-chain, and “signed, not settled on-chain” when it did not. A row where vet402 did not sign is marked “not bought” and is not an L1 result. The listing's record page also shows the L0 state (“Published state”), which checks that an unpaid request gets a valid 402, so a listing can pass L0 and still fail here. Whose side puts a failure on the seller's side when the row shows vet402 was not at fault: it signed on the listing's terms, its wallet held the price, it sent the declared input, and the seller answered explicitly or had its declared time. Even then, one such failure is “not sorted: one failure so far”: a failure goes on the seller's side only when the same listing has one on two different days (UTC), and those rows are marked “attribution under review” while that review runs. The review has no set date. A row that cannot show all of that is “not sorted”, and so is a held row (held_reason in the export), a failure where no payment was taken (“no charge”), and a payment that settled before the seller refused an input vet402 had not sent. “Signed payment” and “Answer to the paid request” show what the row recorded, and nothing else: the answer's body and header values are not published. The maxTimeoutSeconds on a row is the listing's value today; a declared price or address on a not-bought row is the value recorded at the time of the attempt. The transaction link opens the settlement on Basescan when the purchase is on Base. “Decision API now” is what the decision API (GET /api/v1/resources/{id}/decision?role=payer, no key) answers for the listing when you open this page; your browser asks it for the first 2 listings, and for the others when you ask. It reads the same sorting as this page: a failure counts against the seller only when this page puts it on the seller's side. A paid attempt that took payment and did not deliver is a WARN, and two or more of them on the seller's side since the last delivery are the only way a failed purchase makes it a BLOCK; a listing whose failures this page leaves not sorted gets at most a WARN from them. An L0 check that is unverified (not probed yet, or not measurable) is a WARN, not a BLOCK. The codes that decided the answer come first, each with the meaning from the reason-code table (reason codes). “After a fix” gives the earliest date vet402's regular sweep can buy the listing again, where the rules let it be worked out, and the links to be told of a change or to dispute a row. Listings removed from the Bazaar, and listings whose catalog network is not Base, are not on this page. The fix-first page groups the same results across sellers (methodology).
3.Think a row is wrong?
Use “Dispute this purchase” on the row: it opens Dispute this record on the listing's record page with the purchase time filled in. The time filled in is the latest Base attempt when that listing has a Base purchase. Say what you saw instead. The row is not deleted on dispute; a correction is published with the same weight.