Independent x402 intelligence · Base

The evidence layer for machine payments.

SmartFlow measures x402 payments on Base. The numbers are public, reproducible, signed. You can inspect the market, screen payers, and verify endpoints.

No gating. No black-box formulas. Public SQL. Signed snapshots.

Live API · checking Latest block · loading Latest payment · loading
Latest sealed snapshot Ed25519 signed

Sealed snapshot · 2026-06-21 18:41 UTC. Live metrics move separately.

Transactions0
Payer wallets0
Endpoints mapped0
Clean payment share0%

Scope: x402 payments on Base · ledger 12 Apr – 21 Jun 2026

Canonical metrics

Four numbers with their proof attached.

Every figure carries the exact SQL that produced it and an Ed25519-signed snapshot.

On-chain payments
0
sealed snapshotView SQL →
Payer wallets
0
sealed snapshotView SQL →
Endpoint catalogue
0
sealed snapshotView SQL →
Wash-adjusted flow
0%
heuristic · sealedView SQL →
Payments pulse

30 days of live ledger flow.

Daily x402 flow on Base with transactions, volume, and clean-share context. Recent days carry preliminary wash classification (~48h lag).

M3 · Dashboard terminal

One filter bus, linked evidence views.

Settlement coverage, network catalogue shape, and conformance debt in one dense operator panel. Every chart opens the source trail.

SmartFlow terminal · live API scope
loading /v1/stats + /v1/breakdown
network
facilitator
wash class

Facilitator Sankey

Direct, facilitator-mediated, and unclassified settlement paths.

Conformance heatmap

Current x402 v2 validity vs compatibility debt.

transactions
...
loading
clean share
...
classifier lag noted
valid v2
...
catalogue conformance
top network
...
from breakdown
M4 · Endpoint catalogue

58k-row catalogue, live paginated.

Sortable table over the public endpoint feed. Pagination is server-backed; search and filters apply to the loaded page.

/v1/endpoints
host network registry_source first_seen last_seen http_status payment_required_valid
Loading endpoint page...
loading
M5 · Payer quality

Signed quality call before paid work.

The public demo scores an endpoint URL today; the wallet-quality feature slots are exposed only when the API response carries those fields.

Quality request

Free `/v1/quality` verdict plus a live 402 challenge check on `/quality`.

Open source
score
...
sample size
...
tx
not in demo response
wash %
not in demo response
top1 concentration
not in demo response
recipients
not in demo response
Waiting for /v1/quality...
M6 · Proof room

Browser verification, not a trust-me badge.

The browser fetches the public Ed25519 key from `.well-known`, hashes the report body, and verifies the signature locally.

Signed sample report

Endpoint verification report generated from mapper + payments ledger.

.well-known

      

Ed25519 verifier

Signature over the SHA-256 hex digest of the report body.

expected hash
46fabfc8be08f717eddd62320e10561569da0898d98a30bea1e46d955372c79d
computed hash
not computed
public key source
waiting for .well-known
Verification has not run yet.
What SmartFlow measures

Three lenses on the same ledger.

Payment ledger

39.6M x402 transactions since April 2026, read live from Base.

Settlement forensics

Half the volume is wash, decomposed by a transparent 4-rule heuristic — not an accusation.

Endpoint integrity

58,903 endpoints mapped across registries; ~77% still declare the legacy network identifier.

Catalogue & settlement

Where endpoints live, how value settles.

Hover any segment. „unclassified" is classification coverage, not unknown garbage.

Evidence chain

From raw chain to re-derivable verdict.

This is the part a conventional analytics dashboard does not carry: query, methodology, snapshot, signature, and local verification.

Developer API

Call before paid work.

No signup. No dashboard account. Machine-readable evidence over x402.

POST /qualitymetered x402

Returns a signed payer trust score derived from on-chain behavior. Heuristic, reproducible, Ed25519-signed.

// screen a payer before doing paid work
const res = await fetch("https://api.smartflowproai.com/quality", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({ payer: "0x…", endpoint: "https://…" })
});
// 402 → x402 client pays and retries
const verdict = await res.json();
// { verdict, score, flags, snapshot, signature }