x402 List

x402 Protocol Service Directory

apix402 — Onchain Verified Data

Blockchain PAYMENT-READY

payment-ready until 2026-09-18

Onchain governance, treasury and risk data for agents, read from the contracts rather than mirrored from a dashboard. DAO proposals cross-checked between Snapshot and each DAO's own Governor contract; whether a known proposal actually executed rather than merely succeeded; Hedgey and Sablier vesting plans read from the contract; a beneficiary's outgoing transfers before their cliff; Gnosis Safe owner, threshold and module drift compared against the same Safe's configuration at an earlier block; Chainlink and Pyth staleness judged per feed against each feed's own measured cadence; and Aave wstETH depeg exposure recomputed independently of the published health factor. $0.01-$0.05 USDC per call on Base, x402 v2, free /preview on every paid route, no signup and no API key.

Pay from $0.001 to $5000000000.00 in USDC on Base, settled onchain via the x402 protocol, no signup, no API key needed.

measured since 2026-08-08 (start of our harvest window) · $0.41 all-time · settled via payAI

BASE URL https://api402x.com WEBSITE https://api402x.com ENDPOINTS 8 NETWORK Base ASSET USDC MEMBER SINCE 2026-08-09 MONITORED SINCE 2026-08-09

VERDICT

ranking generation 3

solid 78/100 #34 of 41 in Blockchain by measured score

What the score read on this service: status online, 99.6% uptime 30d, 679ms response p95, x402 compliance 13 of 14, $0.001 price against the category, on-chain traction measured. Each of those is measured, and each is published in full below.

The score comes from our own monitoring, never from reviews, operator claims, or a language model: reliability, x402 compliance, price against the category, a deterministic risk flag, and a small on-chain traction term, weighted by ranking generation 3. It is not placement anyone can buy: the paid verify tier is reported beside it and is not one of its inputs. Every component below stays published and read-only.

It is a score inside Blockchain, and only there: price and speed are scored against the whole category field, every listing in it that carries no danger flag, the scored service included, which here means 41 listings, this one among them. That set is wider than the 41 the position above is counted against, because a listing we have measured too little of to rank still sits in the field the price and the speed are normalized over. The same service in a different field would read differently. The same engine answers GET /api/v1/best, and asked for a different pool (the whole directory, or another filter) it returns a different number for this service under this same ranking generation. Neither is more correct: they answer different questions, and the methodology states which is which.

Bands on the 0 to 100 measured score: strong at 93 and above, solid from 75, mixed from 55, weak below 55. Price and speed are scored against the whole category field, every listing in it that carries no danger flag, the scored service included, so the score places a service in its own field.

ALTERNATIVES IN BLOCKCHAIN

Other Blockchain services in this directory, ordered by the same measured score. The figures are ours: 30-day uptime from our own probes, 30-day settlement volume read on-chain (a conservative undercount, and null where we cannot measure it, never a zero).

Ranked alternative x402 services in the same category, with band, measured score, 30-day uptime and 30-day on-chain settlement volume
SERVICE BAND SCORE UPTIME 30D VOL 30D
Loyal Spark strong 96 100% $138.45
OneSource strong 96 100% $71.09
true402 solid 89 97.2% $0.92
SolSigs solid 89 100% $0
Base Agent Evidence & Route API solid 88 100% $0
5 of 40 other ranked services in Blockchain · see the whole category

ASSESSMENT

updated 2m ago

The parts the verdict above is computed from, each with its proof. Click any chip. Measured values stay read-only; unknown is honest, and an unknown is never counted as a zero.

reliability 99.6%
uptime 24h
100%
uptime 7d
100%
uptime 30d
99.6%
uptime 90d
99.6%
response p95
679ms
avg response
353ms
total checks
2,711

Measured on the unpaid 402 handshake, not the paid call. A service can 402 correctly and still fail after payment.

compliance C (13/14): EIP-712 domain parameters present on every EVM entry

13 of 14 x402 conformance checks pass; failing: EIP-712 domain parameters present on every EVM entry. Full checklist below.

jump to compliance checklist

signability route not signable

At least one EVM route on this service returns its 402 without the EIP-712 domain parameters (extra.name and extra.version), so a standard x402 client cannot build the signature for that route.

Measured on the last 402 envelope captured from this service. It is a fact about the envelope, not a judgement on the service or its operator.

This is the only conformance check that caps the compliance grade, at C.

jump to compliance checklist

price $0.001 to $5000000000.00 (p19 in Blockchain)
price (min)
$0.001
price (max)
$5000000000.00
category percentile (min)
p19 in Blockchain
category percentile (max)
p99 in Blockchain
endpoints / prices
8 / 7
model
tiered
stability
73%
risk clean

No deterministic risk flag. Risk fires only on an exact blocklist match, or a reserved-brand name with a mismatched verified payTo. Never from low uptime, a high price, or a model guess.

domain age
29d
registrar
Tucows Domains Inc.
hosting
custom
domain created
2026-08-09

Identity facts, not a risk score.

traction $0.029 30d · 3 buyers
volume 30d
$0.029
buyers 30d
3
settlements 30d
11
measured since
2026-08-08 (start of our harvest window)
last settlement
2026-08-28
top buyer share
48% of 30d volume
trend 7d vs 30d
0.00x the 30d daily rate
networks
eip155:8453
volume all-time
$0.41
settlements all-time
35
median settlement 30d
$0.002
max settlement 30d
$0.01
settled via
payAI ($0.03, 11 tx)

Conservative undercount: only USDC settlements via facilitators we measure are counted. A measured floor, not an estimate.

Top buyer share is a concentration signal, not part of the ranking score.

CHANGES

5 in 30d

Payout, price, and schema changes detected on this service's x402 wire. A payout rotation at an unchanged price shows up here even when nothing else moves. Full feed at /changes.

changes payout address changed 10d ago (5 in 30d)

payout address changed · 10d ago

payout removed 0xE606AE66542D4F1A56AA551841db41e3ECd26816

payout added 0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f

schema changed · 16d ago

schema added GET /dao-proposals exact eip155:8453 0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb UNKNOWN 2 300 {"assetTransferMethod":"permit2","supportsEip2612":true}

schema added GET /dao-proposals exact eip155:8453 0xfde4C96c8593536E31F229ea8F37b2Ada2699bb2 UNKNOWN 2 300 {"assetTransferMethod":"permit2"}

schema added GET /echo exact eip155:8453 0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb UNKNOWN 2 300 {"assetTransferMethod":"permit2","supportsEip2612":true}

schema added GET /echo exact eip155:8453 0xfde4C96c8593536E31F229ea8F37b2Ada2699bb2 UNKNOWN 2 300 {"assetTransferMethod":"permit2"}

schema added GET /insider-early-sale-check exact eip155:8453 0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb UNKNOWN 2 300 {"assetTransferMethod":"permit2","supportsEip2612":true}

schema added GET /insider-early-sale-check exact eip155:8453 0xfde4C96c8593536E31F229ea8F37b2Ada2699bb2 UNKNOWN 2 300 {"assetTransferMethod":"permit2"}

schema added GET /lending-depeg-exposure exact eip155:8453 0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb UNKNOWN 2 300 {"assetTransferMethod":"permit2","supportsEip2612":true}

schema added GET /lending-depeg-exposure exact eip155:8453 0xfde4C96c8593536E31F229ea8F37b2Ada2699bb2 UNKNOWN 2 300 {"assetTransferMethod":"permit2"}

schema added GET /oracle-staleness exact eip155:8453 0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb UNKNOWN 2 300 {"assetTransferMethod":"permit2","supportsEip2612":true}

schema added GET /oracle-staleness exact eip155:8453 0xfde4C96c8593536E31F229ea8F37b2Ada2699bb2 UNKNOWN 2 300 {"assetTransferMethod":"permit2"}

schema added GET /proposal-status exact eip155:8453 0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb UNKNOWN 2 300 {"assetTransferMethod":"permit2","supportsEip2612":true}

schema added GET /proposal-status exact eip155:8453 0xfde4C96c8593536E31F229ea8F37b2Ada2699bb2 UNKNOWN 2 300 {"assetTransferMethod":"permit2"}

schema added GET /safe-signer-drift exact eip155:8453 0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb UNKNOWN 2 300 {"assetTransferMethod":"permit2","supportsEip2612":true}

schema added GET /safe-signer-drift exact eip155:8453 0xfde4C96c8593536E31F229ea8F37b2Ada2699bb2 UNKNOWN 2 300 {"assetTransferMethod":"permit2"}

schema added GET /vesting-status exact eip155:8453 0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb UNKNOWN 2 300 {"assetTransferMethod":"permit2","supportsEip2612":true}

schema added GET /vesting-status exact eip155:8453 0xfde4C96c8593536E31F229ea8F37b2Ada2699bb2 UNKNOWN 2 300 {"assetTransferMethod":"permit2"}

price changed · 23d ago

GET /safe-signer-drift · eip155:8453 · USDC: 300005000

schema changed · 25d ago

endpoint added GET /insider-early-sale-check

endpoint added GET /lending-depeg-exposure

endpoint added GET /oracle-staleness

endpoint added GET /proposal-status

endpoint added GET /safe-signer-drift

endpoint added GET /vesting-status

schema added GET /insider-early-sale-check exact eip155:8453 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 USDC 2 300 {"name":"USD Coin","version":"2"}

schema added GET /lending-depeg-exposure exact eip155:8453 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 USDC 2 300 {"name":"USD Coin","version":"2"}

schema added GET /oracle-staleness exact eip155:8453 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 USDC 2 300 {"name":"USD Coin","version":"2"}

schema added GET /proposal-status exact eip155:8453 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 USDC 2 300 {"name":"USD Coin","version":"2"}

schema added GET /safe-signer-drift exact eip155:8453 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 USDC 2 300 {"name":"USD Coin","version":"2"}

schema added GET /vesting-status exact eip155:8453 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 USDC 2 300 {"name":"USD Coin","version":"2"}

price changed · 28d ago

GET /dao-proposals · eip155:8453 · USDC: 200005000

GET /echo · eip155:8453 · USDC: 100001000

Amounts are on-wire atomic units in the named asset.

see all changes for this service

WHAT IT DOES

ai-derived

No AI synthesis has been produced for this service yet.

ENDPOINTS

Service endpoints with HTTP method, path, description, pricing, and network
METHOD PATH DESCRIPTION PRICE NETWORK ASSET 402 CHANNEL
GET /dao-proposals $0.005 Base USDC header
GET /echo $0.001 Base USDC header
GET /insider-early-sale-check $0.05 Base USDC header
GET /lending-depeg-exposure $0.005 Base USDC header
GET /oracle-staleness $0.003 Base USDC header
GET /proposal-status $0.003 Base USDC header
GET /safe-signer-drift $0.005 Base USDC header
GET /vesting-status $0.003 Base USDC header
8 endpoints

REQUEST / RESPONSE EXAMPLE

An unpaid request to GET /dao-proposals returns HTTP 402 with the payment terms. Settle onchain via your facilitator, then retry with the X-Payment header.

// request
curl -i 'https://api402x.com/dao-proposals'
// 402 response (captured by monitor) · 8 payloads · click to expand
[
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "5000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0xfde4C96c8593536E31F229ea8F37b2Ada2699bb2",
        "extra": {
          "assetTransferMethod": "permit2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "5000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
        "extra": {
          "supportsEip2612": true,
          "assetTransferMethod": "permit2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "5000000000000000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "http://api402x.com/safe-signer-drift",
      "tags": [
        "governance",
        "vesting",
        "defi-risk",
        "oracles",
        "onchain-data"
      ],
      "iconUrl": "https://api402x.com/icon.png",
      "mimeType": "application/json",
      "description": "Reads a Gnosis Safe's live spending authority straight from the chain -- current owner set, threshold, enabled modules and transaction guard -- and compares it against the same Safe's state at an earlier block, flagging added/removed owners, added/removed modules and threshold changes. Needs no stored baseline and no subscription: the earlier state is read from chain history on the same call, so the very first request already answers 'has this changed'. Why pay instead of reading it yourself: the historical reads only work on archive-capable endpoints (several common public RPCs refuse them outright or serve pruned state), an enabled module can move funds with no owner signatures at all, and the block where the change landed is narrowed by binary search over chain history rather than assumed. Modules are expanded recursively, not listed flat: a module is often an EIP-1167 minimal proxy, and a module can itself be a Safe with its own owners and threshold. The canonical Safe transaction service returns 404 for a module address, so nothing below the first level is available from it. Worked example in the declared response: a Safe that reads as 1-of-1 with no guard is in fact governed through a module by a separate 2-of-8 Safe. No verdicts are attached — an enabled module is not an alarm by itself. Required query parameters: chain_id and address.",
      "serviceName": "APIX402"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "address": "0x91c32893216dE3eA0a55ABb9851f581d4503d39b",
              "chain_id": "1"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "chain": "eip155:1",
              "drift": {
                "status": "changed",
                "guard_after": null,
                "guard_before": null,
                "owners_added": [
                  "0x7bd3ab8fa37d63c04a8d0bee3298088c0f366709",
                  "0x7d7e46bef5064cfae2ced5cc627141005d1cde76",
                  "0xfe89cc7abb2c4183683ab71653c4cdc9b02d44b7"
                ],
                "version_after": "1.3.0",
                "owners_removed": [
                  "0x0b8b1ed2594b36aedbf44dd17674f4686edfee6b",
                  "0x70b8769b09af7447886620c20854c8b9119b5fee",
                  "0xc02771315d0958f23a64140160e78ecb9bb8614e"
                ],
                "version_before": "1.3.0",
                "modules_enabled": [],
                "threshold_after": 2,
                "modules_disabled": [],
                "threshold_before": 3,
                "change_block_method": "binary_search_verified",
                "changed_to_current_at": {
                  "block_number": "25647884",
                  "block_timestamp": "2026-07-30T19:53:11.000Z"
                },
                "change_block_search_calls": 20
              },
              "address": "0x91c32893216dE3eA0a55ABb9851f581d4503d39b",
              "current": {
                "guard": {
                  "note": null,
                  "status": "none",
                  "address": null
                },
                "nonce": "243",
                "owners": [
                  "0x75d91395cd36f24f990bbde69993cb20b96ecfa6",
                  "0x7bd3ab8fa37d63c04a8d0bee3298088c0f366709",
                  "0x7d7e46bef5064cfae2ced5cc627141005d1cde76",
                  "0xfe89cc7abb2c4183683ab71653c4cdc9b02d44b7"
                ],
                "modules": [],
                "version": "1.3.0",
                "singleton": "0xd9db270c1b5e3bd161e8c8503c55ceabee709552",
                "threshold": 2,
                "owner_count": 4,
                "block_number": "25744383",
                "module_count": 0,
                "block_timestamp": "2026-08-13T06:44:47.000Z"
              },
              "baseline": {
                "guard": {
                  "note": null,
                  "status": "none",
                  "address": null
                },
                "nonce": "235",
                "owners": [
                  "0x0b8b1ed2594b36aedbf44dd17674f4686edfee6b",
                  "0x70b8769b09af7447886620c20854c8b9119b5fee",
                  "0x75d91395cd36f24f990bbde69993cb20b96ecfa6",
                  "0xc02771315d0958f23a64140160e78ecb9bb8614e"
                ],
                "modules": [],
                "version": "1.3.0",
                "singleton": "0xd9db270c1b5e3bd161e8c8503c55ceabee709552",
                "threshold": 3,
                "owner_count": 4,
                "block_number": "25529179",
                "module_count": 0,
                "block_timestamp": "2026-07-14T06:46:23.000Z"
              },
              "chain_id": 1,
              "fetched_at": "2026-08-13T06:44:52.937Z",
              "discrepancy": null,
              "power_graph": {
                "root": "0x4f2083f5fbede34c2714affb3105539775f7fe64",
                "nodes": [
                  {
                    "kind": "safe",
                    "depth": 1,
                    "address": "0x4f2083f5fbede34c2714affb3105539775f7fe64",
                    "modules": [
                      "0x703806e61847984346d2d7ddd853049627e50a40",
                      "0xcfbfac74c26f8647cbdb8c5caf80bb5b32e43134"
                    ],
                    "enabledBy": null,
                    "threshold": 1,
                    "ownerCount": 1
                  },
                  {
                    "kind": "module_manager",
                    "depth": 2,
                    "address": "0x703806e61847984346d2d7ddd853049627e50a40",
                    "modules": [
                      "0xb423e0f6e7430fa29500c5cc9bd83d28c8bd8978"
                    ],
                    "enabledBy": "0x4f2083f5fbede34c2714affb3105539775f7fe64",
                    "eip1167Implementation": "0x9646fdad06d3e24444381f44362a3b0eb343d337"
                  },
                  {
                    "kind": "contract",
                    "depth": 2,
                    "address": "0xcfbfac74c26f8647cbdb8c5caf80bb5b32e43134",
                    "modules": [],
                    "enabledBy": "0x4f2083f5fbede34c2714affb3105539775f7fe64"
                  },
                  {
                    "kind": "safe",
                    "depth": 3,
                    "address": "0xb423e0f6e7430fa29500c5cc9bd83d28c8bd8978",
                    "modules": [],
                    "enabledBy": "0x703806e61847984346d2d7ddd853049627e50a40",
                    "threshold": 2,
                    "ownerCount": 8
                  }
                ],
                "truncated": false,
                "maxDepthReached": 3,
                "nestedSafeCount": 1
              },
              "archive_proof": {
                "endpoint": "tenderly-mainnet",
                "verified_at": "2026-08-13T06:44:53.713Z",
                "canary_absent_block": "12504267",
                "canary_present_block": "12504268"
              },
              "address_status": "safe",
              "spending_authority": {
                "guard": {
                  "note": null,
                  "status": "none",
                  "address": null
                },
                "owners": [
                  "0x75d91395cd36f24f990bbde69993cb20b96ecfa6",
                  "0x7bd3ab8fa37d63c04a8d0bee3298088c0f366709",
                  "0x7d7e46bef5064cfae2ced5cc627141005d1cde76",
                  "0xfe89cc7abb2c4183683ab71653c4cdc9b02d44b7"
                ],
                "threshold": 2,
                "owner_count": 4,
                "unilateral_modules": [],
                "threshold_is_bypassable_by_module": false
              },
              "onchain_verified_at": "2026-08-13T06:44:52.937Z"
            }
          }
        },
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "chain_id",
                    "address"
                  ],
                  "properties": {
                    "address": {
                      "type": "string",
                      "description": "REQUIRED. The Safe proxy address (0x + 40 hex) on that chain."
                    },
                    "chain_id": {
                      "type": "string",
                      "description": "REQUIRED. Numeric EVM chain id as a string, e.g. 1 (Ethereum), 8453 (Base), 42161 (Arbitrum), 10 (Optimism). A Safe proxy is often deployed at the same address on several chains but is a DIFFERENT Safe on each, so this is never guessed."
                    },
                    "lookback_blocks": {
                      "type": "string",
                      "description": "Optional. How far back the baseline is read, in blocks. Defaults to roughly 30 days for the given chain."
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object",
                  "description": "Full JSON Schema for this response is at /openapi.json, and the free /preview sibling returns the same shape on live data. It is not inlined here because response headers have a hard 16 KB limit in common HTTP clients (Node's default) and this response is large. The example alongside is complete and real."
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0xfde4C96c8593536E31F229ea8F37b2Ada2699bb2",
        "extra": {
          "assetTransferMethod": "permit2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
        "extra": {
          "supportsEip2612": true,
          "assetTransferMethod": "permit2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "3000000000000000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "http://api402x.com/proposal-status",
      "tags": [
        "governance",
        "vesting",
        "defi-risk",
        "oracles",
        "onchain-data"
      ],
      "iconUrl": "https://api402x.com/icon.png",
      "mimeType": "application/json",
      "description": "The fate of ONE already-known proposal after the vote: executed / queued in Timelock / expired / canceled. A follow-on to /dao-proposals — that route shows whether a vote is active or has passed; this one shows whether a passed vote actually reached real execution (the same class of off-chain-tracker blind spot as the Arbitrum/48M ARB case, just one step later, after the vote). Required query parameters: dao (ENS, Arbitrum, Uniswap, Compound) and proposal_id. Optimism is not yet on this list (2026-08-11 incident — its Agora fork emits ProposalCreated with a different event structure, discovery for it not yet decoded; already supported in GET /dao-proposals).",
      "serviceName": "APIX402"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "dao": "ENS",
              "proposal_id": "80619211450810140112687536515944199882433060764177806587986222097717655810120"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "dao": "ENS",
              "chain": "eip155:1",
              "links": {
                "explorer": "https://etherscan.io/address/0x323A76393544d5ecca80cd6ef2A560C6a395b7E3"
              },
              "detail": "Executed onchain. On this contract family execution_eta is not retained after execution and comes back null — compare with the 'bravo' example in GET /proposal-status/preview, where it stays a historical value.",
              "status": "executed",
              "checked_at": "2026-08-14T00:00:00.000Z",
              "proposal_id": "80619211450810140112687536515944199882433060764177806587986222097717655810120",
              "execution_eta": null
            }
          }
        },
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "dao",
                    "proposal_id"
                  ],
                  "properties": {
                    "dao": {
                      "type": "string",
                      "description": "DAO name: ENS, Arbitrum, Uniswap, Compound."
                    },
                    "proposal_id": {
                      "type": "string",
                      "description": "Decimal proposal_id from that DAO (e.g. from the /dao-proposals response)."
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object",
                  "required": [
                    "dao",
                    "proposal_id",
                    "status",
                    "execution_eta",
                    "detail",
                    "chain",
                    "links",
                    "checked_at"
                  ],
                  "properties": {
                    "dao": {
                      "type": "string"
                    },
                    "chain": {
                      "type": "string"
                    },
                    "links": {
                      "type": "object",
                      "required": [
                        "explorer"
                      ],
                      "properties": {
                        "explorer": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    },
                    "detail": {
                      "type": "string"
                    },
                    "status": {
                      "enum": [
                        "pending",
                        "active",
                        "defeated",
                        "succeeded",
                        "queued",
                        "executed",
                        "expired",
                        "canceled"
                      ],
                      "type": "string"
                    },
                    "checked_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "proposal_id": {
                      "type": "string"
                    },
                    "execution_eta": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "date-time"
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "5000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0xfde4C96c8593536E31F229ea8F37b2Ada2699bb2",
        "extra": {
          "assetTransferMethod": "permit2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "5000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
        "extra": {
          "supportsEip2612": true,
          "assetTransferMethod": "permit2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "5000000000000000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "http://api402x.com/dao-proposals",
      "tags": [
        "governance",
        "vesting",
        "defi-risk",
        "oracles",
        "onchain-data"
      ],
      "iconUrl": "https://api402x.com/icon.png",
      "mimeType": "application/json",
      "description": "Active DAO governance proposals (ENS, Arbitrum, Uniswap, Compound, Optimism, Lido, Curve (Ownership), Curve (Parameter), Aave): Snapshot (off-chain signal) cross-checked against a direct read of the onchain Governor contract (source of truth). Not an aggregation of one third-party dashboard — a cross-check. The discrepancy field flags cases where the off-chain signal stays silent about something real happening onchain (confirmed on Arbitrum: a public tracker showed the DAO as archived while its contract had an active vote on 48M ARB). Optional dao query parameter filters to a single DAO.",
      "serviceName": "APIX402"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "dao": "Arbitrum"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "count": 1,
              "degraded": false,
              "proposals": [
                {
                  "dao": "ENS",
                  "chain": "eip155:1",
                  "links": {
                    "explorer": "https://etherscan.io/address/0x323A76393544d5ecca80cd6ef2A560C6a395b7E3"
                  },
                  "title": "Proposal #806192114508…",
                  "votes": {
                    "for": "1146479.618632655947352941",
                    "unit": "ENS",
                    "abstain": "0",
                    "against": "387647.529426331501519092"
                  },
                  "status": "active",
                  "sources": [
                    "onchain"
                  ],
                  "opens_at": null,
                  "proposer": "0xb8c2C29ee19D8307cb7255e1Cd9CbDE883A267d5",
                  "closes_at": "2026-08-08T21:10:20.879Z",
                  "vote_type": "onchain_binding",
                  "fetched_at": "2026-08-05T21:23:08.879Z",
                  "after_close": {
                    "code": "onchain_timelock",
                    "detail": "Onchain vote. If it passes, it moves into the Timelock queue and becomes executable after the contract's delay."
                  },
                  "discrepancy": "This ENS onchain vote is currently active, but Snapshot shows zero active or pending proposals for this DAO — the off-chain signal stays silent about it.",
                  "proposal_id": "80619211450810140112687536515944199882433060764177806587986222097717655810120",
                  "quorum_required": null,
                  "discrepancy_check": {
                    "detail": "Cross-checked against ENS's off-chain venue, which is live and currently shows no active or pending proposal for this DAO — so the onchain vote above is not mirrored off-chain.",
                    "status": "checked"
                  },
                  "onchain_verified_at": "2026-08-05T21:23:08.879Z",
                  "time_remaining_seconds": 258430
                }
              ],
              "generated_at": "2026-08-05T21:23:08.879Z",
              "sources_status": {
                "ENS": {
                  "onchain": "ok",
                  "snapshot": "ok"
                },
                "Uniswap": {
                  "onchain": "ok",
                  "snapshot": "ok"
                },
                "Arbitrum": {
                  "onchain": "ok",
                  "snapshot": "ok"
                }
              }
            }
          }
        },
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "type": "object",
                  "properties": {
                    "dao": {
                      "type": "string",
                      "description": "DAO name to filter by: ENS, Arbitrum, Uniswap, Compound, Optimism, Lido, Curve (Ownership), Curve (Parameter), Aave. Omit for all."
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object",
                  "required": [
                    "count",
                    "generated_at",
                    "degraded",
                    "sources_status",
                    "proposals"
                  ],
                  "properties": {
                    "count": {
                      "type": "number"
                    },
                    "degraded": {
                      "type": "boolean"
                    },
                    "proposals": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "dao",
                          "proposal_id",
                          "sources",
                          "title",
                          "vote_type",
                          "status",
                          "opens_at",
                          "closes_at",
                          "after_close",
                          "links",
                          "onchain_verified_at",
                          "discrepancy",
                          "discrepancy_check",
                          "fetched_at"
                        ],
                        "properties": {
                          "dao": {
                            "type": "string"
                          },
                          "chain": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "links": {
                            "type": "object",
                            "properties": {
                              "explorer": {
                                "type": "string"
                              },
                              "snapshot": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          },
                          "title": {
                            "type": "string"
                          },
                          "votes": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "required": [
                              "for",
                              "against",
                              "abstain",
                              "unit"
                            ],
                            "properties": {
                              "for": {
                                "type": "string"
                              },
                              "unit": {
                                "type": "string"
                              },
                              "abstain": {
                                "type": "string"
                              },
                              "against": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          },
                          "status": {
                            "enum": [
                              "pending",
                              "active",
                              "closed_advisory",
                              "defeated",
                              "succeeded",
                              "queued",
                              "executed",
                              "expired",
                              "canceled"
                            ],
                            "type": "string"
                          },
                          "sources": {
                            "type": "array",
                            "items": {
                              "enum": [
                                "snapshot",
                                "onchain"
                              ],
                              "type": "string"
                            }
                          },
                          "opens_at": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date-time"
                          },
                          "proposer": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "closes_at": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date-time"
                          },
                          "vote_type": {
                            "enum": [
                              "offchain_signal",
                              "onchain_binding"
                            ],
                            "type": "string"
                          },
                          "fetched_at": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "after_close": {
                            "type": "object",
                            "required": [
                              "code",
                              "detail"
                            ],
                            "properties": {
                              "code": {
                                "enum": [
                                  "offchain_advisory",
                                  "onchain_timelock",
                                  "onchain_direct_execution",
                                  "closed"
                                ],
                                "type": "string"
                              },
                              "detail": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          },
                          "discrepancy": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "proposal_id": {
                            "type": "string"
                          },
                          "quorum_required": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "discrepancy_check": {
                            "type": "object",
                            "required": [
                              "status",
                              "detail"
                            ],
                            "properties": {
                              "detail": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "checked",
                                  "not_applicable"
                                ],
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          },
                          "onchain_verified_at": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date-time"
                          },
                          "time_remaining_seconds": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "generated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "sources_status": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "required": [
                          "snapshot",
                          "onchain"
                        ],
                        "properties": {
                          "onchain": {
                            "enum": [
                              "ok",
                              "degraded",
                              "unavailable",
                              "not_applicable"
                            ],
                            "type": "string"
                          },
                          "snapshot": {
                            "enum": [
                              "ok",
                              "degraded",
                              "unavailable",
                              "not_applicable"
                            ],
                            "type": "string"
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0xfde4C96c8593536E31F229ea8F37b2Ada2699bb2",
        "extra": {
          "assetTransferMethod": "permit2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
        "extra": {
          "supportsEip2612": true,
          "assetTransferMethod": "permit2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "1000000000000000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "http://api402x.com/echo",
      "tags": [
        "governance",
        "vesting",
        "defi-risk",
        "oracles",
        "onchain-data"
      ],
      "iconUrl": "https://api402x.com/icon.png",
      "mimeType": "application/json",
      "description": "x402 protocol check: confirms payment and returns a timestamp. Returns no data — for real data see GET /dao-proposals.",
      "serviceName": "APIX402"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {}
          },
          "output": {
            "type": "json",
            "example": {
              "ok": true,
              "ts": "2026-08-05T12:00:00.000Z"
            }
          }
        },
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "type": "object",
                  "properties": {}
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object",
                  "required": [
                    "ok",
                    "ts"
                  ],
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "ts": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "5000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0xfde4C96c8593536E31F229ea8F37b2Ada2699bb2",
        "extra": {
          "assetTransferMethod": "permit2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "5000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
        "extra": {
          "supportsEip2612": true,
          "assetTransferMethod": "permit2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "5000000000000000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "http://api402x.com/lending-depeg-exposure",
      "tags": [
        "governance",
        "vesting",
        "defi-risk",
        "oracles",
        "onchain-data"
      ],
      "iconUrl": "https://api402x.com/icon.png",
      "mimeType": "application/json",
      "description": "Measures an Aave V3 position's exposure to a risk Aave's own health factor structurally cannot show. Aave prices wstETH as (wstETH/stETH rate) x (ETH/USD) with stETH pinned to ETH at exactly 1:1, so a stETH secondary-market depeg does not move the published health factor at all. This route reads the position, independently recomputes the health factor from per-asset collateral, debt and liquidation thresholds (including any e-mode override), verifies that recomputation reproduces Aave's own number, and then answers the question Aave does not: at what stETH depeg does this position reach liquidation. Why pay instead of reading it yourself: getUserAccountData alone cannot answer it -- the aggregate hides which assets back the position -- and a naive recompute that ignores e-mode or the collateral flags produces a confidently wrong number. Positions holding no wstETH are reported as not exposed rather than forced into a score. Required query parameters: chain and borrower.",
      "serviceName": "APIX402"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "chain": "ethereum",
              "borrower": "0x1C1795bffeDa25De01A7C21c88b49D9592B0598D"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "debt": [
                {
                  "asset": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                  "symbol": "USDC",
                  "balance": "4456.633226",
                  "decimals": 6,
                  "is_wsteth": false,
                  "price_base": "99976696",
                  "value_base": "445559465220",
                  "balance_raw": "4456633226"
                }
              ],
              "pool": "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2",
              "chain": "eip155:1",
              "status": "wsteth_exposed",
              "borrower": "0x1C1795bffeDa25De01A7C21c88b49D9592B0598D",
              "protocol": "aave-v3",
              "scenarios": [
                {
                  "liquidatable": false,
                  "health_factor": "1269539095992521220",
                  "steth_depeg_bps": 100,
                  "wsteth_price_base": "232514666591"
                },
                {
                  "liquidatable": false,
                  "health_factor": "1250303655143075449",
                  "steth_depeg_bps": 250,
                  "wsteth_price_base": "228991717097"
                }
              ],
              "blind_spot": "Aave prices wstETH as (wstETH/stETH rate) x (ETH/USD) with stETH pinned to ETH at exactly 1:1, so a stETH secondary-market depeg does not move Aave's published health factor at all. 100.00% of this position's collateral is wstETH. This position would be liquidatable at a stETH depeg of 21.88% against ETH. That threshold is computed from Aave's own accounting at oracle prices: it says when the position becomes eligible for liquidation, not whether liquidators could actually execute at that price. Secondary-market depth is not modelled here and typically thins out during exactly the kind of depeg that would trigger this.",
              "collateral": [
                {
                  "asset": "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",
                  "symbol": "wstETH",
                  "balance": "3.003422170265307695",
                  "decimals": 18,
                  "is_wsteth": true,
                  "price_base": "234863299587",
                  "value_base": "705393640961",
                  "balance_raw": "3003422170265307695",
                  "emode_override_applied": false,
                  "liquidation_threshold_bps": 8100,
                  "asset_liquidation_threshold_bps": 8100
                }
              ],
              "fetched_at": "2026-08-13T06:45:01.581Z",
              "emode_label": null,
              "block_number": "25744383",
              "aave_reported": {
                "ltv_bps": 7850,
                "health_factor": "1282362723225485067",
                "total_debt_base": "445559465220",
                "total_collateral_base": "705393640961",
                "available_borrows_base": "108174542934",
                "health_factor_is_max_uint": false,
                "current_liquidation_threshold_bps": 8100
              },
              "wsteth_pricing": {
                "asset": "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",
                "ratio": "1241514859119434274",
                "eth_usd_base": "189174779393",
                "oracle_adapter": "0xe1D97bF61901B075E9626c8A2340a7De385861Ef",
                "ratio_decimals": 18,
                "ratio_provider": "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84",
                "wsteth_usd_base": "234863299587",
                "adapter_description": "Capped wstETH / stETH(ETH) / USD",
                "decomposition_exact": true,
                "steth_priced_at_par_with_eth": true
              },
              "block_timestamp": "2026-08-13T06:44:47.000Z",
              "emode_category_id": 0,
              "onchain_verified_at": "2026-08-13T06:45:01.581Z",
              "independent_recompute": {
                "ltv_bps": 7850,
                "health_factor": "1282362723225485067",
                "total_debt_base": "445559465220",
                "matches_aave_exactly": true,
                "total_collateral_base": "705393640961",
                "available_borrows_base": "108174542934",
                "current_liquidation_threshold_bps": 8100
              },
              "liquidation_depeg_bps": 2202,
              "wsteth_collateral_share_bps": 10000,
              "liquidation_depeg_unreachable": false
            }
          }
        },
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "chain",
                    "borrower"
                  ],
                  "properties": {
                    "chain": {
                      "enum": [
                        "ethereum",
                        "base"
                      ],
                      "type": "string",
                      "description": "REQUIRED. Chain key, not a chain id: \"ethereum\" or \"base\"."
                    },
                    "borrower": {
                      "type": "string",
                      "description": "REQUIRED. The borrower address (0x + 40 hex) whose Aave V3 position is analysed."
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object",
                  "description": "Full JSON Schema for this response is at /openapi.json, and the free /preview sibling returns the same shape on live data. It is not inlined here because response headers have a hard 16 KB limit in common HTTP clients (Node's default) and this response is large. The example alongside is complete and real."
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "50000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0xfde4C96c8593536E31F229ea8F37b2Ada2699bb2",
        "extra": {
          "assetTransferMethod": "permit2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "50000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
        "extra": {
          "supportsEip2612": true,
          "assetTransferMethod": "permit2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "50000000000000000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "http://api402x.com/insider-early-sale-check",
      "tags": [
        "governance",
        "vesting",
        "defi-risk",
        "oracles",
        "onchain-data"
      ],
      "iconUrl": "https://api402x.com/icon.png",
      "mimeType": "application/json",
      "description": "Composes two checks: first resolves a vesting plan/stream by provider + plan_id (same lookup as GET /vesting-status, hedgey TokenVestingPlans or sablier SablierLockup) to get its beneficiary, token, and start/cliff/end schedule, then scans that beneficiary's FULL onchain transfer history for that token (chunked eth_getLogs against Base, all the way back to genesis) and flags any outgoing transfer that happened before the plan's cliff date -- the only fully onchain-provable early-sale signal (see the early_flag field: before_cliff is provable, unknown means the window between cliff and vesting end was not evaluated precisely, after_vesting_end is not suspicious by construction). This is a HEAVY, deep check, not a quick point-read like the other routes here: a cold run typically takes 60-150+ seconds. Required query parameters: provider and plan_id (same meaning and same values as GET /vesting-status).",
      "serviceName": "APIX402"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "plan_id": "2",
              "provider": "hedgey"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "plan_id": "2",
              "protocol": "hedgey",
              "plan_status": "fully_vested",
              "insider_check": {
                "chain": "eip155:8453",
                "token": "0xdf00fdE26A6819507649904Ca52FE5062eF75Ba7",
                "status": "clean",
                "fetched_at": "2026-08-12T21:01:07.369Z",
                "beneficiary": "0x05A1ff0a32bc24265BCB39499d0c5D9A6cb2011c",
                "transfer_count": 63,
                "vesting_reference": {
                  "ends_at": "2024-05-02T18:00:01.000Z",
                  "cliff_at": "2024-02-01T12:00:00.000Z",
                  "starts_at": "2024-03-26T18:39:45.000Z"
                },
                "before_cliff_count": 0,
                "outgoing_transfers": [
                  {
                    "to": "0x0000000000000000000000000000000000000000",
                    "from": "0x05A1ff0a32bc24265BCB39499d0c5D9A6cb2011c",
                    "hash": "0x808c19964061d6c0828d9f361eecfa3050a7e122ff0a78b4e87a4a77fc6a066d",
                    "amount": "0.00000000000000332",
                    "timestamp": "2024-02-25T04:30:17.000Z",
                    "amount_raw": "3320",
                    "early_flag": "unknown",
                    "asset_symbol": "TRASH",
                    "block_number": 11023035
                  },
                  {
                    "to": "0xaFB9924cEAAfE5E7AC3a2C8d8C213edA8940c937",
                    "from": "0x05A1ff0a32bc24265BCB39499d0c5D9A6cb2011c",
                    "hash": "0xa38d44d7372087fdc79f04c87e44932a8e3ba38c23a17925fd242b5a8b88f642",
                    "amount": "0.000000000000001377",
                    "timestamp": "2024-03-04T00:52:01.000Z",
                    "amount_raw": "1377",
                    "early_flag": "unknown",
                    "asset_symbol": "TRASH",
                    "block_number": 11362087
                  },
                  {
                    "to": "0x0000000000000000000000000000000000000000",
                    "from": "0x05A1ff0a32bc24265BCB39499d0c5D9A6cb2011c",
                    "hash": "0x79685fb9eefef36f9adb2495eb8b1cd946470f46198bb143846324a3d612f026",
                    "amount": "0.000000000000004968",
                    "timestamp": "2024-06-04T01:14:19.000Z",
                    "amount_raw": "4968",
                    "early_flag": "after_vesting_end",
                    "asset_symbol": "TRASH",
                    "block_number": 15337156
                  }
                ],
                "onchain_verified_at": "2026-08-12T21:01:07.369Z",
                "unknown_window_count": 62,
                "earliest_before_cliff_at": null
              }
            }
          }
        },
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "provider",
                    "plan_id"
                  ],
                  "properties": {
                    "plan_id": {
                      "type": "string",
                      "description": "Hedgey plan_id or Sablier stream_id (depending on provider), on Base -- same value GET /vesting-status accepts."
                    },
                    "provider": {
                      "enum": [
                        "hedgey",
                        "sablier"
                      ],
                      "type": "string",
                      "description": "REQUIRED. Same meaning as GET /vesting-status's provider: hedgey (TokenVestingPlans) or sablier (SablierLockup V2/v4). No default."
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object",
                  "required": [
                    "plan_id",
                    "protocol",
                    "plan_status",
                    "insider_check"
                  ],
                  "properties": {
                    "plan_id": {
                      "type": "string"
                    },
                    "protocol": {
                      "type": "string"
                    },
                    "plan_status": {
                      "enum": [
                        "not_started",
                        "cliff_pending",
                        "vesting",
                        "fully_vested"
                      ],
                      "type": "string"
                    },
                    "insider_check": {
                      "type": "object",
                      "required": [
                        "beneficiary",
                        "token",
                        "chain",
                        "vesting_reference",
                        "outgoing_transfers",
                        "transfer_count",
                        "before_cliff_count",
                        "unknown_window_count",
                        "earliest_before_cliff_at",
                        "status",
                        "onchain_verified_at",
                        "fetched_at"
                      ],
                      "properties": {
                        "chain": {
                          "type": "string"
                        },
                        "token": {
                          "type": "string"
                        },
                        "status": {
                          "enum": [
                            "clean",
                            "flagged",
                            "no_transfers",
                            "no_vesting_reference"
                          ],
                          "type": "string"
                        },
                        "fetched_at": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "beneficiary": {
                          "type": "string"
                        },
                        "transfer_count": {
                          "type": "number"
                        },
                        "vesting_reference": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "required": [
                            "starts_at",
                            "cliff_at",
                            "ends_at"
                          ],
                          "properties": {
                            "ends_at": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "cliff_at": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "starts_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          },
                          "additionalProperties": false
                        },
                        "before_cliff_count": {
                          "type": "number"
                        },
                        "outgoing_transfers": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "hash",
                              "block_number",
                              "timestamp",
                              "from",
                              "to",
                              "amount",
                              "amount_raw",
                              "asset_symbol",
                              "early_flag"
                            ],
                            "properties": {
                              "to": {
                                "type": "string"
                              },
                              "from": {
                                "type": "string"
                              },
                              "hash": {
                                "type": "string"
                              },
                              "amount": {
                                "type": "string"
                              },
                              "timestamp": {
                                "type": "string",
                                "format": "date-time"
                              },
                              "amount_raw": {
                                "type": "string"
                              },
                              "early_flag": {
                                "enum": [
                                  "before_cliff",
                                  "unknown",
                                  "after_vesting_end"
                                ],
                                "type": "string"
                              },
                              "asset_symbol": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "block_number": {
                                "type": "number"
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "onchain_verified_at": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "unknown_window_count": {
                          "type": "number"
                        },
                        "earliest_before_cliff_at": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "format": "date-time"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0xfde4C96c8593536E31F229ea8F37b2Ada2699bb2",
        "extra": {
          "assetTransferMethod": "permit2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
        "extra": {
          "supportsEip2612": true,
          "assetTransferMethod": "permit2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "3000000000000000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "http://api402x.com/oracle-staleness",
      "tags": [
        "governance",
        "vesting",
        "defi-risk",
        "oracles",
        "onchain-data"
      ],
      "iconUrl": "https://api402x.com/icon.png",
      "mimeType": "application/json",
      "description": "Answers how stale each oracle price actually is on Base right now, and whether a standard consumer staleness guard would reject it. Reads Chainlink's aggregator proxy and Pyth's on-chain price for the same asset in the same block, and reports each feed's age against a per-feed bound derived from its own measured update cadence -- not one global threshold, because those cadences differ by more than an order of magnitude on the same chain (Chainlink's USDC/USD on Base runs a 24-hour heartbeat by design, while ETH/USD updates in minutes). Why pay instead of reading it yourself: the trap is not fetching a price, it is knowing which address is the real proxy (a raw aggregator answers description() identically and then silently freezes when Chainlink rotates it) and what 'stale' means for that specific feed. The Chainlink-vs-Pyth spread is included, but always next to Pyth's own confidence interval, so a difference inside the oracle's stated uncertainty is not mistaken for disagreement. Optional assets query parameter; all supported assets by default.",
      "serviceName": "APIX402"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "assets": "ETH/USD,BTC/USD"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "count": 1,
              "assets": [
                {
                  "pyth": {
                    "expo": -8,
                    "price": "1890.77072612",
                    "feed_id": "0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace",
                    "contract": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a",
                    "price_raw": "189077072612",
                    "confidence": "1.65561399",
                    "guard_rule": "Pyth's own recommended guard is getPriceNoOlderThan(id, 60), where 60s is this contract's live getValidTimePeriod(). It reverts when now - publishTime exceeds that bound. This value is derived from getPriceUnsafe(), not by calling the guard: on-chain Pyth is pull-based and the guard does revert in production, so a read path that used it would fail precisely when the answer is interesting.",
                    "age_seconds": 125,
                    "publish_time": "2026-08-13T06:42:55.000Z",
                    "confidence_raw": "165561399",
                    "implementation": "0x41c9e39574f40ad34c79f1c99b66a45efb830d4c",
                    "would_revert_with_error": "StalePrice()",
                    "valid_time_period_seconds": 60,
                    "would_revert_with_selector": "0x19abf40e",
                    "would_standard_guard_reject": true,
                    "implementation_matches_pinned": true
                  },
                  "asset": "ETH/USD",
                  "chain": "eip155:8453",
                  "spread": {
                    "bps": 12.1,
                    "interpretation": "Chainlink and Pyth differ by 12.1 bps. Pyth's own confidence interval on this price is 8.75 bps, so this single reading sits OUTSIDE Pyth's stated uncertainty. That is not by itself evidence the oracles disagree: one sample outside a stated band is unremarkable, and a sustained pattern rather than one reading would be needed to call it a real divergence. Note also that the two prices are stamped 1070s apart (Chainlink is the older of the two), so part of any gap is simply the market moving between the two observations, not the oracles disagreeing.",
                    "unavailable_reason": null,
                    "pyth_confidence_bps": 8.75,
                    "exceeds_pyth_confidence": true
                  },
                  "verdict": "ETH/USD: Chainlink is 1195s (0.33h) old against a measured 1200s heartbeat, which is inside its own 1320s bound — a consumer guard built on this feed's heartbeat would accept it. A consumer applying one uniform 60s bound to every feed would wrongly reject it: this feed is behaving exactly as designed. On-chain Pyth is 125s old against its own 60s validity window — Pyth's recommended guard getPriceNoOlderThan(id, 60) WOULD REVERT right now with StalePrice() (0x19abf40e). On-chain Pyth is pull-based: it holds whatever was last pushed, so this is a normal state, not an outage.",
                  "chainlink": {
                    "price": "1893.0617",
                    "proxy": "0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70",
                    "decimals": 8,
                    "phase_id": 2,
                    "round_id": "36893488147419129672",
                    "price_raw": "189306170000",
                    "aggregator": "0x1e0B2C3896338FBb201C4f0A27C6904801Dca06B",
                    "guard_rule": "A consumer guard for this feed rejects when now - updatedAt > 1320s (measured heartbeat 1200s + 120s grace for block-time jitter). This bound is specific to this feed: on this same chain the heartbeats differ by 72x.",
                    "updated_at": "2026-08-13T06:25:05.000Z",
                    "age_seconds": 1195,
                    "description": "ETH / USD",
                    "proxy_verified": true,
                    "heartbeat_seconds": 1200,
                    "stale_after_seconds": 1320,
                    "naive_uniform_guard_seconds": 60,
                    "would_standard_guard_reject": false,
                    "naive_uniform_guard_would_reject": true
                  },
                  "fetched_at": "2026-08-13T06:45:00.523Z",
                  "sources_status": {
                    "pyth": "ok",
                    "chainlink": "ok"
                  },
                  "observed_at_block": "49907075",
                  "observed_at_block_time": "2026-08-13T06:44:57.000Z",
                  "any_source_would_be_rejected": true
                }
              ],
              "degraded": false,
              "asset_status": {
                "BTC/USD": "ok",
                "ETH/USD": "ok",
                "USDC/USD": "ok"
              },
              "generated_at": "2026-08-13T06:45:00.523Z"
            }
          }
        },
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "type": "object",
                  "required": [],
                  "properties": {
                    "assets": {
                      "type": "string",
                      "description": "Optional. Comma-separated asset list, e.g. \"ETH/USD,BTC/USD\". Supported: ETH/USD, BTC/USD, USDC/USD. Omit for all three. An unsupported asset is refused rather than served with a generic threshold."
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object",
                  "description": "Full JSON Schema for this response is at /openapi.json, and the free /preview sibling returns the same shape on live data. It is not inlined here because response headers have a hard 16 KB limit in common HTTP clients (Node's default) and this response is large. The example alongside is complete and real."
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0xfde4C96c8593536E31F229ea8F37b2Ada2699bb2",
        "extra": {
          "assetTransferMethod": "permit2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
        "extra": {
          "supportsEip2612": true,
          "assetTransferMethod": "permit2"
        },
        "payTo": "0x63bc58472a8449eDd1d1af0B0c03cFc7c832Da2f",
        "amount": "3000000000000000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "http://api402x.com/vesting-status",
      "tags": [
        "governance",
        "vesting",
        "defi-risk",
        "oracles",
        "onchain-data"
      ],
      "iconUrl": "https://api402x.com/icon.png",
      "mimeType": "application/json",
      "description": "Reads a vesting plan/stream directly from an on-chain contract on Base — total amount, claimed/unclaimed balance, remaining lockup, current owner/recipient. A direct contract read instead of a dashboard's cached view: the vesting math is verified against the contract on every call, not assumed from an indexer. Two providers, selected by the required provider query parameter: hedgey (TokenVestingPlans) or sablier (SablierLockup, V2/v4). provider is REQUIRED — plan_id/stream_id numbering overlaps between the two contracts (e.g. id 2 is a real, distinct plan on both at once), so there is no safe default or auto-detection; a missing or invalid provider returns 400, never a guess.",
      "serviceName": "APIX402"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "plan_id": "2334",
              "provider": "hedgey"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "chain": "eip155:8453",
              "token": "0x080D43c2164AFdBc3712422CE78Ab902ccaB5CA1",
              "status": "not_started",
              "amounts": {
                "raw": {
                  "total": "2500000000000000000000000",
                  "claimable_now": "0",
                  "unvested_remainder": "2500000000000000000000000"
                },
                "unit": "SPON",
                "total": "2500000",
                "claimable_now": "0",
                "unvested_remainder": "2500000"
              },
              "ends_at": "2030-07-27T18:30:01.000Z",
              "plan_id": "2334",
              "cliff_at": "2027-07-28T18:30:00.000Z",
              "contract": "0x2CDE9919e81b20B4B33DD562a48a84b54C48F00C",
              "protocol": "hedgey",
              "starts_at": "2027-07-28T18:30:00.000Z",
              "fetched_at": "2026-08-12T17:39:11.454Z",
              "beneficiary": "0x30eb1fA8fcd9DefB9be63B5fE0B805dE2F972fA9",
              "discrepancy": null,
              "onchain_verified_at": "2026-08-12T17:39:11.454Z"
            }
          }
        },
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "provider",
                    "plan_id"
                  ],
                  "properties": {
                    "plan_id": {
                      "type": "string",
                      "description": "Hedgey plan_id (ERC-721 token id) when provider=hedgey, or Sablier stream_id when provider=sablier. Both on Base."
                    },
                    "provider": {
                      "enum": [
                        "hedgey",
                        "sablier"
                      ],
                      "type": "string",
                      "description": "REQUIRED. Which contract to read: hedgey (TokenVestingPlans) or sablier (SablierLockup V2/v4). No default — plan_id/stream_id ranges overlap between the two contracts."
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object",
                  "required": [
                    "protocol",
                    "plan_id",
                    "chain",
                    "contract",
                    "token",
                    "beneficiary",
                    "status",
                    "amounts",
                    "starts_at",
                    "cliff_at",
                    "ends_at",
                    "discrepancy",
                    "onchain_verified_at",
                    "fetched_at"
                  ],
                  "properties": {
                    "chain": {
                      "type": "string"
                    },
                    "token": {
                      "type": "string"
                    },
                    "status": {
                      "enum": [
                        "not_started",
                        "cliff_pending",
                        "vesting",
                        "fully_vested",
                        "canceled"
                      ],
                      "type": "string"
                    },
                    "amounts": {
                      "type": "object",
                      "required": [
                        "total",
                        "claimable_now",
                        "unvested_remainder",
                        "unit",
                        "raw"
                      ],
                      "properties": {
                        "raw": {
                          "type": "object",
                          "required": [
                            "total",
                            "claimable_now",
                            "unvested_remainder"
                          ],
                          "properties": {
                            "total": {
                              "type": "string"
                            },
                            "refunded": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "claimable_now": {
                              "type": "string"
                            },
                            "already_withdrawn": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "unvested_remainder": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        },
                        "unit": {
                          "type": "string"
                        },
                        "total": {
                          "type": "string"
                        },
                        "refunded": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "claimable_now": {
                          "type": "string"
                        },
                        "already_withdrawn": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "unvested_remainder": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    },
                    "ends_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "plan_id": {
                      "type": "string"
                    },
                    "cliff_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "contract": {
                      "type": "string"
                    },
                    "protocol": {
                      "type": "string"
                    },
                    "starts_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "fetched_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "beneficiary": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "discrepancy": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "onchain_verified_at": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  }
]

OVER TIME

All charts use the 30d selector; each series spans only the dates it has data for. Every series is also served as JSON at /api/v1/services/dao-proposals-onchain-verified/price, /scores, /volume and /buyers. On-chain volume and distinct buyers are measured over the service's settlement address and are a conservative undercount (only settlements that reach a measured facilitator are counted). The on-chain series roll up hourly, so the latest day can be up to about an hour behind; distinct buyers are counted per payout address, so a service that settles to more than one address is an upper bound.

UPTIME
08-25 · uptime 92.2% · 358ms avg08-26 · uptime 90.9% · 147ms avg08-13 · uptime 100.0% · 449ms avg08-14 · uptime 100.0% · 568ms avg08-15 · uptime 100.0% · 541ms avg08-16 · uptime 100.0% · 548ms avg08-17 · uptime 100.0% · 386ms avg08-18 · uptime 100.0% · 252ms avg08-19 · uptime 100.0% · 241ms avg08-20 · uptime 100.0% · 279ms avg08-21 · uptime 100.0% · 242ms avg08-22 · uptime 100.0% · 245ms avg08-23 · uptime 100.0% · 229ms avg08-24 · uptime 100.0% · 273ms avg08-25 · uptime 92.2% · 358ms avg08-26 · uptime 90.9% · 147ms avg08-27 · uptime 100.0% · 222ms avg08-28 · uptime 100.0% · 355ms avg08-29 · uptime 100.0% · 231ms avg08-30 · uptime 100.0% · 269ms avg08-31 · uptime 100.0% · 391ms avg09-01 · uptime 100.0% · 185ms avg09-02 · uptime 100.0% · 492ms avg09-03 · uptime 100.0% · 432ms avg09-04 · uptime 100.0% · 411ms avg09-05 · uptime 100.0% · 399ms avg09-06 · uptime 100.0% · 325ms avg09-07 · uptime 100.0% · 462ms avg09-08 · uptime 100.0% · 461ms avg09-09 · uptime 100.0% · 313ms avg09-10 · uptime 100.0% · 342ms avg09-11 · uptime 100.0% · 319ms avg08-1309-11
30d UPTIME 99.6%
RESPONSE TIME
08-13 · 449ms avg08-13 · 449ms avg08-14 · 568ms avg08-14 · 568ms avg08-15 · 541ms avg08-15 · 541ms avg08-16 · 548ms avg08-16 · 548ms avg08-17 · 386ms avg08-17 · 386ms avg08-18 · 252ms avg08-18 · 252ms avg08-19 · 241ms avg08-19 · 241ms avg08-20 · 279ms avg08-20 · 279ms avg08-21 · 242ms avg08-21 · 242ms avg08-22 · 245ms avg08-22 · 245ms avg08-23 · 229ms avg08-23 · 229ms avg08-24 · 273ms avg08-24 · 273ms avg08-25 · 358ms avg08-25 · 358ms avg08-26 · 147ms avg08-26 · 147ms avg08-27 · 222ms avg08-27 · 222ms avg08-28 · 355ms avg08-28 · 355ms avg08-29 · 231ms avg08-29 · 231ms avg08-30 · 269ms avg08-30 · 269ms avg08-31 · 391ms avg08-31 · 391ms avg09-01 · 185ms avg09-01 · 185ms avg09-02 · 492ms avg09-02 · 492ms avg09-03 · 432ms avg09-03 · 432ms avg09-04 · 411ms avg09-04 · 411ms avg09-05 · 399ms avg09-05 · 399ms avg09-06 · 325ms avg09-06 · 325ms avg09-07 · 462ms avg09-07 · 462ms avg09-08 · 461ms avg09-08 · 461ms avg09-09 · 313ms avg09-09 · 313ms avg09-10 · 342ms avg09-10 · 342ms avg09-11 · 319ms avg09-11 · 319ms avg08-1309-11
AVG RESP 353ms
PRICE (captured 402, USD)
08-12 · $0.01508-14 · $0.00308-17 · $0.00408-19 · $0.00408-26 · $0.00409-11 · $0.004$0.00408-1209-11

Median across 8 endpoints. Use the selector to isolate one.

SUB-SCORES (uptime + x402 compliance)
08-13 uptime: 100.0% compliance: 100% checks08-14 uptime: 100.0% compliance: 100% checks08-15 uptime: 100.0% compliance: 100% checks08-16 uptime: 100.0% compliance: 100% checks08-17 uptime: 100.0% compliance: 100% checks08-18 uptime: 100.0% compliance: 100% checks08-19 uptime: 100.0% compliance: 100% checks08-20 uptime: 100.0% compliance: 100% checks08-21 uptime: 100.0% compliance: 100% checks08-22 uptime: 100.0% compliance: 100% checks08-23 uptime: 100.0% compliance: 100% checks08-24 uptime: 100.0% compliance: 100% checks08-25 uptime: 100.0% compliance: 100% checks08-26 uptime: 99.3% compliance: 93% checks08-27 uptime: 99.3% compliance: 93% checks08-28 uptime: 99.3% compliance: 93% checks08-29 uptime: 99.4% compliance: 93% checks08-30 uptime: 99.4% compliance: 93% checks08-31 uptime: 99.4% compliance: 93% checks09-01 uptime: 99.5% compliance: 93% checks09-02 uptime: 99.5% compliance: 93% checks09-03 uptime: 99.5% compliance: 93% checks09-04 uptime: 99.5% compliance: 93% checks09-05 uptime: 99.5% compliance: 93% checks09-06 uptime: 99.6% compliance: 93% checks09-07 uptime: 99.6% compliance: 93% checks09-08 uptime: 99.6% compliance: 93% checks09-09 uptime: 99.6% compliance: 93% checks09-10 uptime: 99.6% compliance: 93% checks09-11 uptime: 99.6% compliance: 93% checksuptimecompliance08-1309-11

checklist grew 11->14 on 2026-07-28; a step here is a metric change, not a regression

PILLARS OVER TIME (measured)

Measured site and economics pillars from the assessment history, so the latest value shown elsewhere on this page reads as a point on a trend rather than a permanent state.

VOLUME (on-chain settlement, USD)
08-13 · $0.1808-14 · $0.1508-17 · $0.0008-20 · $0.0108-23 · $0.0008-26 · $0.0008-28 · $0.00peak $0.1808-1308-28
DISTINCT BUYERS
08-13 · 2 buyers08-14 · 2 buyers08-17 · 1 buyer08-20 · 1 buyer08-23 · 1 buyer08-26 · 1 buyer08-28 · 2 buyerspeak 2 buyers08-1308-28

COMPLIANCE

13/14 checks pass · grade C · failing: EIP-712 domain parameters present on every EVM entry

last 402 captured 2026-09-01 · last up 2026-09-11

  • 402 payload captured
  • accepts[] array present
  • payTo address recoverable
  • payTo at accepts[0].payTo (conformant shape)
  • payTo is a valid on-chain address
  • atomic price declared
  • atomic price in a sane range
  • asset (token) address declared
  • network resolves to CAIP-2
  • payment scheme declared
  • served over HTTPS
  • declares the current x402 version (2)
  • EIP-712 domain parameters present on every EVM entry
  • x402 v2 envelope delivered in the payment-required header

SITE PILLARS

  • homepage reachable
  • openapi doc
  • pricing page
  • llms.txt
  • robots.txt
  • terms page
recent checks (18) live · click to expand
TIME STATUS RESP CAUSE
● OK 354ms
● OK 376ms
● OK 480ms
● OK 407ms
● OK 285ms
● OK 228ms
● OK 213ms
● OK 374ms
● OK 234ms
● OK 236ms
● OK 272ms
● OK 254ms
● OK 252ms
● OK 329ms
● OK 341ms
● OK 357ms
● OK 293ms
● OK 194ms

EMBED THIS BADGE

Show that apix402 — Onchain Verified Data is monitored on x402-list. Paste this on your site or README, it links back to this live listing.

apix402 — Onchain Verified Data listed on x402-list
status
apix402 — Onchain Verified Data uptime on x402-list
live uptime
// HTML
<a href="https://x402-list.com/services/dao-proposals-onchain-verified?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/dao-proposals-onchain-verified.svg" alt="apix402 — Onchain Verified Data listed on x402-list" height="28">
</a>
// Markdown
[![apix402 — Onchain Verified Data on x402-list](https://x402-list.com/badge/dao-proposals-onchain-verified.svg)](https://x402-list.com/services/dao-proposals-onchain-verified?utm_source=badge&utm_medium=referral&utm_campaign=embed)
// HTML · live uptime variant
<a href="https://x402-list.com/services/dao-proposals-onchain-verified?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/dao-proposals-onchain-verified.svg?data=uptime" alt="apix402 — Onchain Verified Data uptime on x402-list" height="28">
</a>

RUN THIS SERVICE?

Keep this listing accurate: propose changes to the name, description, website, category or add new endpoints to monitor. Ownership is verified with a domain proof and every change is reviewed manually; measured data stays read-only.

[ update this listing ]

Earn the verified tier: x402list pays a real call to this endpoint and, if it delivers, the service is delivery-verified. The fee covers the cost of the probe, not the badge; there is no refund if the call does not deliver. Agent and API only, no in-browser signing. See /api.

[ verify this service ($0.25) ]

To request delisting, email info@x402-list.com or update your listing at /services/dao-proposals-onchain-verified/update.