changedOutput schema / anyOf
Previous value: -[
- {
- "properties": {
- "coverage": {
- "const": "full",
- "title": "Coverage",
- "type": "string"
- },
- "data": {
- "properties": {
- "age_s": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "title": "Age S"
- },
- "authorities": {
- "anyOf": [
- {
- "properties": {
- "freeze_authority": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "true = set (accounts can be frozen), false = none, null = not read.",
- "title": "Freeze Authority"
- },
- "metadata_mutable": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "true = name, symbol or image can still change, false = immutable, null = not read.",
- "title": "Metadata Mutable"
- },
- "mint_authority": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "true = set (more can be minted), false = none, null = not read.",
- "title": "Mint Authority"
- },
- "source": {
- "anyOf": [
- {
- "enum": [
- "onchain",
- "pumpfun_rule"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "pumpfun_rule: pump.fun's program leaves no mint or freeze authority and immutable metadata.",
- "title": "Source"
- }
- },
- "title": "Authorities",
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Mint, freeze and metadata authorities (/v1/labels authorities)."
- },
- "basis": {
- "description": "Rule ids that fired; empty for no_flags_observed. The rule is published at /v1/labels.",
- "items": {
- "type": "string"
- },
- "title": "Basis",
- "type": "array"
- },
- "cohorts": {
- "anyOf": [
- {
- "properties": {
- "basis": {
- "anyOf": [
- {
- "properties": {
- "bundle_max_offset": {
- "description": "N: bundlers are offsets 0-N.",
- "title": "Bundle Max Offset",
- "type": "integer"
- },
- "regime_by": {
- "description": "What the regime was read from.",
- "enum": [
- "create_slot",
- "launch_time",
- "current"
- ],
- "title": "Regime By",
- "type": "string"
- },
- "regime_from": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Block time of that slot (null for the first regime).",
- "title": "Regime From"
- },
- "regime_from_slot": {
- "description": "First slot of that regime.",
- "title": "Regime From Slot",
- "type": "integer"
- },
- "slot_ms": {
- "description": "The protocol's target slot duration in the slot regime of the mint's create slot (/v1/labels cohorts.slot_regime).",
- "title": "Slot Ms",
- "type": "integer"
- },
- "slot_ms_measured": {
- "description": "That regime's measured mean slot duration, from mainnet block times.",
- "title": "Slot Ms Measured",
- "type": "number"
- },
- "sniper_max_offset": {
- "description": "K = round(sniper_window_s / slot_ms): snipers are offsets N+1..K.",
- "title": "Sniper Max Offset",
- "type": "integer"
- },
- "sniper_window_measured_s": {
- "description": "When slot K starts after the create slot at the measured slot duration.",
- "title": "Sniper Window Measured S",
- "type": "number"
- },
- "sniper_window_s": {
- "description": "The sniper time window.",
- "title": "Sniper Window S",
- "type": "number"
- }
- },
- "required": [
- "slot_ms",
- "slot_ms_measured",
- "regime_from_slot",
- "regime_by",
- "bundle_max_offset",
- "sniper_window_s",
- "sniper_max_offset",
- "sniper_window_measured_s"
- ],
- "title": "CohortBasis",
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "The slot regime the windows come from and the numbers derived from it (/v1/labels cohorts.basis)."
- },
- "bundlers": {
- "properties": {
- "buy_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "SOL that entered the curve on the cohort's buys (fees paid outside the curve are not in it).",
- "title": "Buy Sol"
- },
- "n_holding": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Wallets of the cohort still holding tokens.",
- "title": "N Holding"
- },
- "n_wallets": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Wallets in the cohort, sold-out ones included.",
- "title": "N Wallets"
- },
- "net_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "buy_sol - sell_sol: negative when the cohort took out more SOL than it put in; null when sol_complete is false for it.",
- "title": "Net Sol"
- },
- "reason": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Why the cohort's figures are null.",
- "title": "Reason"
- },
- "sell_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "SOL that left the curve on the cohort's sells.",
- "title": "Sell Sol"
- },
- "share_of_supply": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Tokens the cohort's wallets hold now / total supply (1B; 2B on a mayhem launch).",
- "title": "Share Of Supply"
- },
- "source": {
- "enum": [
- "tape",
- "tape+funding_capture",
- "unavailable"
- ],
- "title": "Source",
- "type": "string"
- },
- "wallets": {
- "anyOf": [
- {
- "items": {
- "properties": {
- "first_slot_offset": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Slots after the create slot when the wallet's first tokens of this mint arrived; null when it never received any.",
- "title": "First Slot Offset"
- },
- "history": {
- "anyOf": [
- {
- "description": "One wallet's history on OTHER pump.fun mints in our tape since the seam (the mint answered is never counted).",
- "properties": {
- "bundled": {
- "description": "Of those, mints where its first tokens arrived in the create slot or the next one (the bundlers rule of the cohort block).",
- "minimum": 0,
- "title": "Bundled",
- "type": "integer"
- },
- "graduated": {
- "description": "Of the settled ones, mints that truly graduated.",
- "minimum": 0,
- "title": "Graduated",
- "type": "integer"
- },
- "mints": {
- "description": "Other pump.fun mints this wallet bought in our tape since 2026-09-27T00:18:34Z (the mint answered is never counted).",
- "minimum": 0,
- "title": "Mints",
- "type": "integer"
- },
- "quick_sells": {
- "description": "Of those, mints it sold within 60 s of its first buy.",
- "minimum": 0,
- "title": "Quick Sells",
- "type": "integer"
- },
- "rugged": {
- "description": "Of the settled ones, mints labelled rugged_within_300s by the public rule.",
- "minimum": 0,
- "title": "Rugged",
- "type": "integer"
- },
- "settled": {
- "description": "Of those, mints whose outcome labels have settled (/v1/labels, outcome).",
- "minimum": 0,
- "title": "Settled",
- "type": "integer"
- }
- },
- "required": [
- "mints",
- "bundled",
- "quick_sells",
- "settled",
- "rugged",
- "graduated"
- ],
- "title": "WalletHistory",
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "This wallet's history on other pump.fun mints in our tape (mints, bundled, quick_sells, settled, rugged, graduated); null when the reputation is not ready (/v1/labels, reputation)."
- },
- "net_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "SOL it put into the curve on its buys minus SOL it took out on its sells; null when the tape cannot give it exactly.",
- "title": "Net Sol"
- },
- "share_of_supply": {
- "description": "Tokens this wallet holds now / total supply.",
- "title": "Share Of Supply",
- "type": "number"
- },
- "wallet": {
- "title": "Wallet",
- "type": "string"
- }
- },
- "required": [
- "wallet",
- "share_of_supply"
- ],
- "title": "CohortWallet",
- "type": "object"
- },
- "maxItems": 10,
- "type": "array"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Up to 10 of the cohort's wallets, largest holding first.",
- "title": "Wallets"
- }
- },
- "required": [
- "share_of_supply",
- "source"
- ],
- "title": "Cohort",
- "type": "object"
- },
- "dev": {
- "properties": {
- "buy_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "SOL that entered the curve on the cohort's buys (fees paid outside the curve are not in it).",
- "title": "Buy Sol"
- },
- "n_funded_by_creator": {
- "description": "Wallets in the dev cohort because our funding capture saw the creator fund them.",
- "minimum": 0,
- "title": "N Funded By Creator",
- "type": "integer"
- },
- "n_holding": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Wallets of the cohort still holding tokens.",
- "title": "N Holding"
- },
- "n_wallets": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Wallets in the cohort, sold-out ones included.",
- "title": "N Wallets"
- },
- "net_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "buy_sol - sell_sol: negative when the cohort took out more SOL than it put in; null when sol_complete is false for it.",
- "title": "Net Sol"
- },
- "reason": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Why the cohort's figures are null.",
- "title": "Reason"
- },
- "sell_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "SOL that left the curve on the cohort's sells.",
- "title": "Sell Sol"
- },
- "share_of_supply": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Tokens the cohort's wallets hold now / total supply (1B; 2B on a mayhem launch).",
- "title": "Share Of Supply"
- },
- "source": {
- "enum": [
- "tape",
- "tape+funding_capture",
- "unavailable"
- ],
- "title": "Source",
- "type": "string"
- },
- "wallets": {
- "anyOf": [
- {
- "items": {
- "properties": {
- "first_slot_offset": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Slots after the create slot when the wallet's first tokens of this mint arrived; null when it never received any.",
- "title": "First Slot Offset"
- },
- "history": {
- "anyOf": [
- {
- "description": "One wallet's history on OTHER pump.fun mints in our tape since the seam (the mint answered is never counted).",
- "properties": {
- "bundled": {
- "description": "Of those, mints where its first tokens arrived in the create slot or the next one (the bundlers rule of the cohort block).",
- "minimum": 0,
- "title": "Bundled",
- "type": "integer"
- },
- "graduated": {
- "description": "Of the settled ones, mints that truly graduated.",
- "minimum": 0,
- "title": "Graduated",
- "type": "integer"
- },
- "mints": {
- "description": "Other pump.fun mints this wallet bought in our tape since 2026-09-27T00:18:34Z (the mint answered is never counted).",
- "minimum": 0,
- "title": "Mints",
- "type": "integer"
- },
- "quick_sells": {
- "description": "Of those, mints it sold within 60 s of its first buy.",
- "minimum": 0,
- "title": "Quick Sells",
- "type": "integer"
- },
- "rugged": {
- "description": "Of the settled ones, mints labelled rugged_within_300s by the public rule.",
- "minimum": 0,
- "title": "Rugged",
- "type": "integer"
- },
- "settled": {
- "description": "Of those, mints whose outcome labels have settled (/v1/labels, outcome).",
- "minimum": 0,
- "title": "Settled",
- "type": "integer"
- }
- },
- "required": [
- "mints",
- "bundled",
- "quick_sells",
- "settled",
- "rugged",
- "graduated"
- ],
- "title": "WalletHistory",
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "This wallet's history on other pump.fun mints in our tape (mints, bundled, quick_sells, settled, rugged, graduated); null when the reputation is not ready (/v1/labels, reputation)."
- },
- "net_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "SOL it put into the curve on its buys minus SOL it took out on its sells; null when the tape cannot give it exactly.",
- "title": "Net Sol"
- },
- "share_of_supply": {
- "description": "Tokens this wallet holds now / total supply.",
- "title": "Share Of Supply",
- "type": "number"
- },
- "wallet": {
- "title": "Wallet",
- "type": "string"
- }
- },
- "required": [
- "wallet",
- "share_of_supply"
- ],
- "title": "CohortWallet",
- "type": "object"
- },
- "maxItems": 10,
- "type": "array"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Up to 10 of the cohort's wallets, largest holding first.",
- "title": "Wallets"
- }
- },
- "required": [
- "share_of_supply",
- "source",
- "n_funded_by_creator"
- ],
- "title": "DevCohort",
- "type": "object"
- },
- "fresh_wallets": {
- "properties": {
- "buy_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "SOL that entered the curve on the cohort's buys (fees paid outside the curve are not in it).",
- "title": "Buy Sol"
- },
- "n_holding": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Wallets of the cohort still holding tokens.",
- "title": "N Holding"
- },
- "n_wallets": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Wallets in the cohort, sold-out ones included.",
- "title": "N Wallets"
- },
- "net_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "buy_sol - sell_sol: negative when the cohort took out more SOL than it put in; null when sol_complete is false for it.",
- "title": "Net Sol"
- },
- "reason": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Why the cohort's figures are null.",
- "title": "Reason"
- },
- "sell_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "SOL that left the curve on the cohort's sells.",
- "title": "Sell Sol"
- },
- "share_of_supply": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Tokens the cohort's wallets hold now / total supply (1B; 2B on a mayhem launch).",
- "title": "Share Of Supply"
- },
- "source": {
- "enum": [
- "tape",
- "tape+funding_capture",
- "unavailable"
- ],
- "title": "Source",
- "type": "string"
- },
- "wallets": {
- "anyOf": [
- {
- "items": {
- "properties": {
- "first_slot_offset": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Slots after the create slot when the wallet's first tokens of this mint arrived; null when it never received any.",
- "title": "First Slot Offset"
- },
- "history": {
- "anyOf": [
- {
- "description": "One wallet's history on OTHER pump.fun mints in our tape since the seam (the mint answered is never counted).",
- "properties": {
- "bundled": {
- "description": "Of those, mints where its first tokens arrived in the create slot or the next one (the bundlers rule of the cohort block).",
- "minimum": 0,
- "title": "Bundled",
- "type": "integer"
- },
- "graduated": {
- "description": "Of the settled ones, mints that truly graduated.",
- "minimum": 0,
- "title": "Graduated",
- "type": "integer"
- },
- "mints": {
- "description": "Other pump.fun mints this wallet bought in our tape since 2026-09-27T00:18:34Z (the mint answered is never counted).",
- "minimum": 0,
- "title": "Mints",
- "type": "integer"
- },
- "quick_sells": {
- "description": "Of those, mints it sold within 60 s of its first buy.",
- "minimum": 0,
- "title": "Quick Sells",
- "type": "integer"
- },
- "rugged": {
- "description": "Of the settled ones, mints labelled rugged_within_300s by the public rule.",
- "minimum": 0,
- "title": "Rugged",
- "type": "integer"
- },
- "settled": {
- "description": "Of those, mints whose outcome labels have settled (/v1/labels, outcome).",
- "minimum": 0,
- "title": "Settled",
- "type": "integer"
- }
- },
- "required": [
- "mints",
- "bundled",
- "quick_sells",
- "settled",
- "rugged",
- "graduated"
- ],
- "title": "WalletHistory",
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "This wallet's history on other pump.fun mints in our tape (mints, bundled, quick_sells, settled, rugged, graduated); null when the reputation is not ready (/v1/labels, reputation)."
- },
- "net_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "SOL it put into the curve on its buys minus SOL it took out on its sells; null when the tape cannot give it exactly.",
- "title": "Net Sol"
- },
- "share_of_supply": {
- "description": "Tokens this wallet holds now / total supply.",
- "title": "Share Of Supply",
- "type": "number"
- },
- "wallet": {
- "title": "Wallet",
- "type": "string"
- }
- },
- "required": [
- "wallet",
- "share_of_supply"
- ],
- "title": "CohortWallet",
- "type": "object"
- },
- "maxItems": 10,
- "type": "array"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Up to 10 of the cohort's wallets, largest holding first.",
- "title": "Wallets"
- }
- },
- "required": [
- "share_of_supply",
- "source"
- ],
- "title": "Cohort",
- "type": "object"
- },
- "omitted": {
- "additionalProperties": {
- "type": "string"
- },
- "description": "Cohorts not served, with the reason.",
- "title": "Omitted",
- "type": "object"
- },
- "reputation": {
- "anyOf": [
- {
- "properties": {
- "basis": {
- "properties": {
- "gaps": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Interruptions of the store's intake longer than 120 s (a server restart after more than ~25 min down): trades in them are missing.",
- "title": "Gaps"
- },
- "history_from": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "First trade time the store holds (UTC).",
- "title": "History From"
- },
- "history_hours": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Hours of tape the store holds since tape_since, gaps excluded.",
- "title": "History Hours"
- },
- "history_to": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Newest trade time the store holds (UTC).",
- "title": "History To"
- },
- "labels": {
- "title": "Labels",
- "type": "string"
- },
- "min_prior_mints": {
- "title": "Min Prior Mints",
- "type": "integer"
- },
- "quick_sell_s": {
- "title": "Quick Sell S",
- "type": "integer"
- },
- "retention": {
- "title": "Retention",
- "type": "string"
- },
- "store_lag_s": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Our newest ingested trade minus the store's newest trade.",
- "title": "Store Lag S"
- },
- "tape_since": {
- "description": "Start of the history: the capture seam; no earlier trade is in the store.",
- "title": "Tape Since",
- "type": "string"
- }
- },
- "required": [
- "tape_since",
- "quick_sell_s",
- "min_prior_mints",
- "retention",
- "labels"
- ],
- "title": "ReputationBasis",
- "type": "object"
- },
- "known_dumpers_share": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Share of supply held by wallets that sold within 60 s of their first buy on at least 3 other mints.",
- "title": "Known Dumpers Share"
- },
- "n_holders": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Holders read (every wallet of the ledger holding tokens now).",
- "title": "N Holders"
- },
- "n_known_dumpers": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "title": "N Known Dumpers"
- },
- "n_new_wallets": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "title": "N New Wallets"
- },
- "n_repeat_bundlers": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "title": "N Repeat Bundlers"
- },
- "new_wallets_share": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Share of supply held by wallets with no other mint in our tape since 2026-09-27T00:18:34Z: new to our tape, not necessarily fresh wallets.",
- "title": "New Wallets Share"
- },
- "reason": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Why the figures are null (status other than ready).",
- "title": "Reason"
- },
- "repeat_bundlers_share": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Share of supply held by wallets whose first tokens arrived in the create slot or the next one on at least 3 other mints.",
- "title": "Repeat Bundlers Share"
- },
- "status": {
- "enum": [
- "ready",
- "warming_up",
- "behind",
- "unavailable",
- "not_enabled",
- "failed"
- ],
- "title": "Status",
- "type": "string"
- },
- "version": {
- "const": "reputation-1",
- "title": "Version",
- "type": "string"
- }
- },
- "required": [
- "version",
- "status",
- "basis"
- ],
- "title": "Reputation",
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Cross-token history of the wallets holding this mint now, from our own trade tape since 2026-09-27T00:18:34Z: known_dumpers_share, repeat_bundlers_share and new_wallets_share of supply, with counts and the basis (hours of tape, gaps); null figures with status and reason when the history store is not ready. Definitions at /v1/labels (reputation)."
- },
- "shares_complete": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "True when the booked trades account for the curve's SOL (within 0.001 SOL); false when trades are missing, so every share here is a lower bound; null when it cannot be checked.",
- "title": "Shares Complete"
- },
- "slot_windows": {
- "properties": {
- "bundlers": {
- "description": "Inclusive slot offsets from the create slot.",
- "items": {
- "type": "integer"
- },
- "maxItems": 2,
- "minItems": 2,
- "title": "Bundlers",
- "type": "array"
- },
- "snipers": {
- "description": "Inclusive slot offsets from the create slot; the upper end is basis.sniper_max_offset.",
- "items": {
- "type": "integer"
- },
- "maxItems": 2,
- "minItems": 2,
- "title": "Snipers",
- "type": "array"
- }
- },
- "required": [
- "bundlers",
- "snipers"
- ],
- "title": "SlotWindows",
- "type": "object"
- },
- "snipers": {
- "properties": {
- "buy_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "SOL that entered the curve on the cohort's buys (fees paid outside the curve are not in it).",
- "title": "Buy Sol"
- },
- "n_holding": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Wallets of the cohort still holding tokens.",
- "title": "N Holding"
- },
- "n_wallets": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Wallets in the cohort, sold-out ones included.",
- "title": "N Wallets"
- },
- "net_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "buy_sol - sell_sol: negative when the cohort took out more SOL than it put in; null when sol_complete is false for it.",
- "title": "Net Sol"
- },
- "reason": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Why the cohort's figures are null.",
- "title": "Reason"
- },
- "sell_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "SOL that left the curve on the cohort's sells.",
- "title": "Sell Sol"
- },
- "share_of_supply": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Tokens the cohort's wallets hold now / total supply (1B; 2B on a mayhem launch).",
- "title": "Share Of Supply"
- },
- "source": {
- "enum": [
- "tape",
- "tape+funding_capture",
- "unavailable"
- ],
- "title": "Source",
- "type": "string"
- },
- "wallets": {
- "anyOf": [
- {
- "items": {
- "properties": {
- "first_slot_offset": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Slots after the create slot when the wallet's first tokens of this mint arrived; null when it never received any.",
- "title": "First Slot Offset"
- },
- "history": {
- "anyOf": [
- {
- "description": "One wallet's history on OTHER pump.fun mints in our tape since the seam (the mint answered is never counted).",
- "properties": {
- "bundled": {
- "description": "Of those, mints where its first tokens arrived in the create slot or the next one (the bundlers rule of the cohort block).",
- "minimum": 0,
- "title": "Bundled",
- "type": "integer"
- },
- "graduated": {
- "description": "Of the settled ones, mints that truly graduated.",
- "minimum": 0,
- "title": "Graduated",
- "type": "integer"
- },
- "mints": {
- "description": "Other pump.fun mints this wallet bought in our tape since 2026-09-27T00:18:34Z (the mint answered is never counted).",
- "minimum": 0,
- "title": "Mints",
- "type": "integer"
- },
- "quick_sells": {
- "description": "Of those, mints it sold within 60 s of its first buy.",
- "minimum": 0,
- "title": "Quick Sells",
- "type": "integer"
- },
- "rugged": {
- "description": "Of the settled ones, mints labelled rugged_within_300s by the public rule.",
- "minimum": 0,
- "title": "Rugged",
- "type": "integer"
- },
- "settled": {
- "description": "Of those, mints whose outcome labels have settled (/v1/labels, outcome).",
- "minimum": 0,
- "title": "Settled",
- "type": "integer"
- }
- },
- "required": [
- "mints",
- "bundled",
- "quick_sells",
- "settled",
- "rugged",
- "graduated"
- ],
- "title": "WalletHistory",
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "This wallet's history on other pump.fun mints in our tape (mints, bundled, quick_sells, settled, rugged, graduated); null when the reputation is not ready (/v1/labels, reputation)."
- },
- "net_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "SOL it put into the curve on its buys minus SOL it took out on its sells; null when the tape cannot give it exactly.",
- "title": "Net Sol"
- },
- "share_of_supply": {
- "description": "Tokens this wallet holds now / total supply.",
- "title": "Share Of Supply",
- "type": "number"
- },
- "wallet": {
- "title": "Wallet",
- "type": "string"
- }
- },
- "required": [
- "wallet",
- "share_of_supply"
- ],
- "title": "CohortWallet",
- "type": "object"
- },
- "maxItems": 10,
- "type": "array"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Up to 10 of the cohort's wallets, largest holding first.",
- "title": "Wallets"
- }
- },
- "required": [
- "share_of_supply",
- "source"
- ],
- "title": "Cohort",
- "type": "object"
- },
- "sol_complete": {
- "description": "True when every cohort SOL figure is exact; false names the reason in sol_reason.",
- "title": "Sol Complete",
- "type": "boolean"
- },
- "sol_reason": {
- "anyOf": [
- {
- "enum": [
- "tape_truncated",
- "quote_not_sol",
- "trades_unbooked",
- "create_sol_unknown"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "title": "Sol Reason"
- },
- "top10_share": {
- "description": "Share of total supply held by the 10 largest wallets in our ledger (the bonding curve and the mayhem agent are not holders).",
- "title": "Top10 Share",
- "type": "number"
- },
- "top1_share": {
- "description": "Share of total supply held by the largest wallet in our ledger (the bonding curve and the mayhem agent are not holders).",
- "title": "Top1 Share",
- "type": "number"
- },
- "unbooked_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "The curve's own SOL after the last booked trade minus the net SOL of every booked trade since launch: SOL that moved in trades our tape does not hold; null when it cannot be checked.",
- "title": "Unbooked Sol"
- },
- "union_share": {
- "description": "Share of supply held by wallets in at least one cohort, each wallet counted once.",
- "title": "Union Share",
- "type": "number"
- },
- "version": {
- "const": "cohorts-1",
- "title": "Version",
- "type": "string"
- }
- },
- "required": [
- "version",
- "top1_share",
- "top10_share",
- "union_share",
- "slot_windows",
- "sol_complete",
- "dev",
- "bundlers",
- "snipers",
- "fresh_wallets",
- "omitted"
- ],
- "title": "CohortBlock",
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Context for the reasons, not part of the rule: who holds the supply now by launch-time role (dev, bundlers, snipers, top-1 and top-10 share), as the holders answer reports it; definitions at /v1/labels (cohorts). Null when it could not be built; the verdict stands."
- },
- "coverage": {
- "const": "full",
- "title": "Coverage",
- "type": "string"
- },
- "disclaimer": {
- "title": "Disclaimer",
- "type": "string"
- },
- "fresh_verdict_url": {
- "title": "Fresh Verdict Url",
- "type": "string"
- },
- "generated_at": {
- "title": "Generated At",
- "type": "string"
- },
- "lifecycle": {
- "title": "Lifecycle",
- "type": "string"
- },
- "links": {
- "anyOf": [
- {
- "properties": {
- "axiom": {
- "title": "Axiom",
- "type": "string"
- },
- "dexscreener": {
- "title": "Dexscreener",
- "type": "string"
- },
- "gmgn": {
- "title": "Gmgn",
- "type": "string"
- },
- "jupiter": {
- "title": "Jupiter",
- "type": "string"
- },
- "note": {
- "title": "Note",
- "type": "string"
- },
- "photon": {
- "title": "Photon",
- "type": "string"
- },
- "pumpfun": {
- "title": "Pumpfun",
- "type": "string"
- }
- },
- "required": [
- "pumpfun",
- "dexscreener",
- "jupiter",
- "gmgn",
- "axiom",
- "photon",
- "note"
- ],
- "title": "TradeLinks",
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Open this mint on pump.fun, DexScreener, Jupiter, GMGN, Axiom or Photon through a free redirect; no referral code, no fee."
- },
- "market": {
- "anyOf": [
- {
- "properties": {
- "as_of": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Unix seconds of that sol_usd read.",
- "title": "As Of"
- },
- "curve_liquidity_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Real SOL held by the bonding curve.",
- "title": "Curve Liquidity Sol"
- },
- "curve_liquidity_usd": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "title": "Curve Liquidity Usd"
- },
- "market_cap_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "title": "Market Cap Sol"
- },
- "market_cap_usd": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "price_usd x total supply (1B tokens, 2B on a mayhem launch): the pump.fun and DexScreener convention, equal to FDV.",
- "title": "Market Cap Usd"
- },
- "price_sol": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "SOL per whole token at the bonding curve's marginal price.",
- "title": "Price Sol"
- },
- "price_usd": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "title": "Price Usd"
- },
- "reason": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Why fields are null; codes at /v1/labels market.reason.",
- "title": "Reason"
- },
- "sol_usd": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "The Coinbase SOL-USD spot the USD fields use.",
- "title": "Sol Usd"
- }
- },
- "title": "Market",
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "USD price, market cap and curve liquidity (/v1/labels market)."
- },
- "mint": {
- "title": "Mint",
- "type": "string"
- },
- "odds_caveat": {
- "title": "Odds Caveat",
- "type": "string"
- },
- "probabilities": {
- "anyOf": [
- {
- "properties": {
- "base_rate_same_age": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "title": "Base Rate Same Age"
- },
- "calibration": {
- "title": "Calibration",
- "type": "string"
- },
- "diagnostics": {
- "anyOf": [
- {
- "additionalProperties": true,
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "title": "Diagnostics"
- },
- "features_used": {
- "anyOf": [
- {
- "additionalProperties": true,
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "title": "Features Used"
- },
- "horizon_s": {
- "title": "Horizon S",
- "type": "integer"
- },
- "model": {
- "title": "Model",
- "type": "string"
- },
- "reason": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "title": "Reason"
- },
- "recalibration": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "title": "Recalibration"
- },
- "rug_within_300s": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "title": "Rug Within 300S"
- },
- "rug_within_300s_basis": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "title": "Rug Within 300S Basis"
- },
- "rug_within_300s_reason": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "title": "Rug Within 300S Reason"
- },
- "true_graduation": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "title": "True Graduation"
- },
- "true_graduation_reason": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "title": "True Graduation Reason"
- }
- },
- "required": [
- "model",
- "calibration",
- "horizon_s"
- ],
- "title": "Probabilities",
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "description": "The calibrated numbers exactly as the compact check publishes them."
- },
- "quote": {
- "anyOf": [
- {
- "properties": {
- "asset": {
- "description": "The curve's quote asset: sol, usdc, pyusd, stock (an xStocks tokenized equity), other, or unknown (not read from the curve account; is_sol says what our tape shows).",
- "enum": [
- "sol",
- "usdc",
- "pyusd",
- "stock",
- "other",
- "unknown"
- ],
- "title": "Asset",
- "type": "string"
- },
- "basis": {
- "description": "curve_account = read from the bonding-curve account; tape = our capture's evidence; launch_date = launched before pump.fun Custom Pairs opened (2026-09-10), when every curve was SOL-quoted (the outcome labels); none = no evidence yet.",
- "enum": [
- "curve_account",
- "tape",
- "launch_date",
- "none"
- ],
- "title": "Basis",
- "type": "string"
- },
- "evidence": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "The tape evidence behind is_sol (/v1/labels quote.evidence).",
- "title": "Evidence"
- },
- "holder_rewards": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "The curve's is_holder_reward flag (pump.fun Holder Rewards: the creator fee goes to holders); null when the account was not read.",
- "title": "Holder Rewards"
- },
- "is_sol": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "true = SOL-quoted, false = quoted in another asset, null = not established yet.",
- "title": "Is Sol"
- },
- "mint": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "The quote_mint the bonding-curve account holds (the all-zero default 11111111111111111111111111111111 on SOL curves); null when not read.",
- "title": "Mint"
- },
- "modelled": {
- "description": "True only for a curve shown to be SOL-quoted: our flags, labels, verdict and odds are measured in SOL. False = those are withheld (reason quote_not_modelled).",
- "title": "Modelled",
- "type": "boolean"
- },
- "reason": {
- "anyOf": [
- {
- "const": "quote_not_modelled",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Set when modelled is false.",
- "title": "Reason"
- }
- },
- "required": [
- "asset",
- "modelled",
- "basis"
- ],
- "title": "Quote",
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "The curve's quote asset (/v1/labels quote); a verdict is sold only for a SOL-quoted curve, any other is refused unpaid (quote_not_modelled)."
- },
- "reason": {
- "title": "Reason",
- "type": "string"
- },
- "reasons": {
- "description": "Up to three observed flags, earliest first.",
- "items": {
- "properties": {
- "code": {
- "title": "Code",
- "type": "string"
- },
- "evidence": {
- "additionalProperties": true,
- "title": "Evidence",
- "type": "object"
- },
- "first_seen_after_launch_s": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "title": "First Seen After Launch S"
- },
- "first_seen_at": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "title": "First Seen At"
- },
- "text": {
- "title": "Text",
- "type": "string"
- }
- },
- "required": [
- "code",
- "text",
- "first_seen_at",
- "first_seen_after_launch_s",
- "evidence"
- ],
- "title": "VerdictReason",
- "type": "object"
- },
- "maxItems": 3,
- "title": "Reasons",
- "type": "array"
- },
- "reasons_total": {
- "minimum": 0,
- "title": "Reasons Total",
- "type": "integer"
- },
- "result_id": {
- "title": "Result Id",
- "type": "string"
- },
- "risk_label": {
- "title": "Risk Label",
- "type": "string"
- },
- "rule": {
- "title": "Rule",
- "type": "string"
- },
- "share_url": {
- "description": "Free card page signed at purchase time; renders this verdict without recomputing or paying.",
- "title": "Share Url",
- "type": "string"
- },
- "t": {
- "title": "T",
- "type": "number"
- },
- "verdict": {
- "enum": [
- "avoid",
- "caution",
- "no_flags_observed"
- ],
- "title": "Verdict",
- "type": "string"
- }
- },
- "required": [
- "mint",
- "verdict",
- "basis",
- "reason",
- "probabilities",
- "odds_caveat",
- "reasons",
- "reasons_total",
- "lifecycle",
- "risk_label",
- "coverage",
- "age_s",
- "generated_at",
- "t",
- "result_id",
- "share_url",
- "fresh_verdict_url",
- "rule",
- "disclaimer"
- ],
- "title": "VerdictData",
- "type": "object"
- },
- "generated_at": {
- "title": "Generated At",
- "type": "string"
- },
- "meta": {
- "additionalProperties": true,
- "title": "Meta",
- "type": "object"
- },
- "ok": {
- "const": true,
- "title": "Ok",
- "type": "boolean"
- },
- "schema_version": {
- "const": "2.0",
- "title": "Schema Version",
- "type": "string"
- },
- "t": {
- "title": "T",
- "type": "number"
- }
- },
- "required": [
- "ok",
- "schema_version",
- "generated_at",
- "t",
- "coverage",
- "data",
- "meta"
- ],
- "title": "VerdictEnvelope",
- "type": "object"
- },
- {
- "description": "isError: the x402 v2 payment requirements. Pay one accepts entry and call again with _meta['x402/payment']. error says why when a payment was sent and rejected; a failed settlement adds x402/payment-response. Nothing is charged.",
- "properties": {
- "accepts": {
- "items": {
- "properties": {
- "amount": {
- "type": "string"
- },
- "asset": {
- "type": "string"
- },
- "extra": {
- "type": "object"
- },
- "maxTimeoutSeconds": {
- "type": "integer"
- },
- "network": {
- "type": "string"
- },
- "payTo": {
- "type": "string"
- },
- "scheme": {
- "type": "string"
- }
- },
- "required": [
- "scheme",
- "network",
- "amount",
- "asset",
- "payTo"
- ],
- "type": "object"
- },
- "minItems": 1,
- "type": "array"
- },
- "error": {
- "type": "string"
- },
- "extensions": {
- "type": "object"
- },
- "resource": {
- "properties": {
- "description": {
- "type": "string"
- },
- "mimeType": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "required": [
- "url"
- ],
- "type": "object"
- },
- "x402/payment-response": {
- "properties": {
- "errorReason": {
- "type": "string"
- },
- "network": {
- "type": "string"
- },
- "success": {
- "type": "boolean"
- },
- "transaction": {
- "type": "string"
- }
- },
- "required": [
- "success"
- ],
- "type": "object"
- },
- "x402Version": {
- "const": 2
- }
- },
- "required": [
- "x402Version",
- "resource",
- "accepts"
- ],
- "title": "PaymentRequired",
- "type": "object"
- },
- {
- "description": "isError: a refusal answered without charging (invalid or uncovered arguments, stale feed, nothing new since the cursor, a payment that cannot be matched to this request). error is a stable code; live_examples name mints covered now.",
- "properties": {
- "address": {
- "type": "string"
- },
- "avoid_skipped": {
- "type": "integer"
- },
- "case_mangled_mints": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "charged": {
- "type": [
- "boolean",
- "null"
- ]
- },
- "curve": {
- "type": "string"
- },
- "error": {
- "type": "string"
- },
- "feed_lag_s": {
- "type": [
- "number",
- "null"
- ]
- },
- "free_check": {
- "type": "string"
- },
- "got": {
- "type": [
- "string",
- "integer"
- ]
- },
- "hint": {
- "type": "string"
- },
- "invalid": {
- "type": "object"
- },
- "live_examples": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "max_feed_lag_s": {
- "type": "number"
- },
- "max_mints": {
- "type": "integer"
- },
- "max_table_lag_s": {
- "type": "number"
- },
- "message": {
- "type": "string"
- },
- "mint": {
- "type": "string"
- },
- "missing": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "newest_cursor": {
- "type": "string"
- },
- "ok": {
- "const": false
- },
- "payment_status": {
- "type": "string"
- },
- "scanned": {
- "type": "integer"
- },
- "schema": {
- "type": "object"
- },
- "since": {
- "type": [
- "string",
- "null"
- ]
- },
- "table_lag_s": {
- "type": [
- "number",
- "null"
- ]
- },
- "tool": {
- "type": "string"
- },
- "unavailable_mints": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "unverified_event": {
- "type": [
- "object",
- "null"
- ]
- },
- "window_s": {
- "type": "number"
- }
- },
- "required": [
- "ok",
- "error"
- ],
- "title": "Refusal",
- "type": "object"
- }
-]New value: +[
+ {
+ "properties": {
+ "coverage": {
+ "const": "full",
+ "title": "Coverage",
+ "type": "string"
+ },
+ "data": {
+ "properties": {
+ "age_s": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Age S"
+ },
+ "authorities": {
+ "anyOf": [
+ {
+ "properties": {
+ "freeze_authority": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "true = set (accounts can be frozen), false = none, null = not read.",
+ "title": "Freeze Authority"
+ },
+ "metadata_mutable": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "true = name, symbol or image can still change, false = immutable, null = not read.",
+ "title": "Metadata Mutable"
+ },
+ "mint_authority": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "true = set (more can be minted), false = none, null = not read.",
+ "title": "Mint Authority"
+ },
+ "source": {
+ "anyOf": [
+ {
+ "enum": [
+ "onchain",
+ "pumpfun_rule"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "pumpfun_rule: pump.fun's program leaves no mint or freeze authority and immutable metadata.",
+ "title": "Source"
+ }
+ },
+ "title": "Authorities",
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Mint, freeze and metadata authorities (/v1/labels authorities)."
+ },
+ "basis": {
+ "description": "Rule ids that fired; empty for no_flags_observed. The rule is published at /v1/labels.",
+ "items": {
+ "type": "string"
+ },
+ "title": "Basis",
+ "type": "array"
+ },
+ "cohorts": {
+ "anyOf": [
+ {
+ "properties": {
+ "basis": {
+ "anyOf": [
+ {
+ "properties": {
+ "bundle_max_offset": {
+ "description": "N: bundlers are offsets 0-N.",
+ "title": "Bundle Max Offset",
+ "type": "integer"
+ },
+ "regime_by": {
+ "description": "What the regime was read from.",
+ "enum": [
+ "create_slot",
+ "launch_time",
+ "current"
+ ],
+ "title": "Regime By",
+ "type": "string"
+ },
+ "regime_from": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Block time of that slot (null for the first regime).",
+ "title": "Regime From"
+ },
+ "regime_from_slot": {
+ "description": "First slot of that regime.",
+ "title": "Regime From Slot",
+ "type": "integer"
+ },
+ "slot_ms": {
+ "description": "The protocol's target slot duration in the slot regime of the mint's create slot (/v1/labels cohorts.slot_regime).",
+ "title": "Slot Ms",
+ "type": "integer"
+ },
+ "slot_ms_measured": {
+ "description": "That regime's measured mean slot duration, from mainnet block times.",
+ "title": "Slot Ms Measured",
+ "type": "number"
+ },
+ "sniper_max_offset": {
+ "description": "K = round(sniper_window_s / slot_ms): snipers are offsets N+1..K.",
+ "title": "Sniper Max Offset",
+ "type": "integer"
+ },
+ "sniper_window_measured_s": {
+ "description": "When slot K starts after the create slot at the measured slot duration.",
+ "title": "Sniper Window Measured S",
+ "type": "number"
+ },
+ "sniper_window_s": {
+ "description": "The sniper time window.",
+ "title": "Sniper Window S",
+ "type": "number"
+ }
+ },
+ "required": [
+ "slot_ms",
+ "slot_ms_measured",
+ "regime_from_slot",
+ "regime_by",
+ "bundle_max_offset",
+ "sniper_window_s",
+ "sniper_max_offset",
+ "sniper_window_measured_s"
+ ],
+ "title": "CohortBasis",
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "The slot regime the windows come from and the numbers derived from it (/v1/labels cohorts.basis)."
+ },
+ "bundlers": {
+ "properties": {
+ "buy_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "SOL that entered the curve on the cohort's buys (fees paid outside the curve are not in it).",
+ "title": "Buy Sol"
+ },
+ "n_holding": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Wallets of the cohort still holding tokens.",
+ "title": "N Holding"
+ },
+ "n_wallets": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Wallets in the cohort, sold-out ones included.",
+ "title": "N Wallets"
+ },
+ "net_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "buy_sol - sell_sol: negative when the cohort took out more SOL than it put in; null when sol_complete is false for it.",
+ "title": "Net Sol"
+ },
+ "reason": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Why the cohort's figures are null.",
+ "title": "Reason"
+ },
+ "sell_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "SOL that left the curve on the cohort's sells.",
+ "title": "Sell Sol"
+ },
+ "share_of_supply": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Tokens the cohort's wallets hold now / total supply (1B; 2B on a mayhem launch).",
+ "title": "Share Of Supply"
+ },
+ "source": {
+ "enum": [
+ "tape",
+ "tape+funding_capture",
+ "unavailable"
+ ],
+ "title": "Source",
+ "type": "string"
+ },
+ "wallets": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "first_slot_offset": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Slots after the create slot when the wallet's first tokens of this mint arrived; null when it never received any.",
+ "title": "First Slot Offset"
+ },
+ "history": {
+ "anyOf": [
+ {
+ "description": "One wallet's history on OTHER pump.fun mints in our tape since the seam (the mint answered is never counted).",
+ "properties": {
+ "bundled": {
+ "description": "Of those, mints where its first tokens arrived in the create slot or the next one (the bundlers rule of the cohort block).",
+ "minimum": 0,
+ "title": "Bundled",
+ "type": "integer"
+ },
+ "graduated": {
+ "description": "Of the settled ones, mints that truly graduated.",
+ "minimum": 0,
+ "title": "Graduated",
+ "type": "integer"
+ },
+ "mints": {
+ "description": "Other pump.fun mints this wallet bought in our tape since 2026-09-27T00:18:34Z (the mint answered is never counted).",
+ "minimum": 0,
+ "title": "Mints",
+ "type": "integer"
+ },
+ "quick_sells": {
+ "description": "Of those, mints it sold within 60 s of its first buy.",
+ "minimum": 0,
+ "title": "Quick Sells",
+ "type": "integer"
+ },
+ "rugged": {
+ "description": "Of the settled ones, mints labelled rugged_within_300s by the public rule.",
+ "minimum": 0,
+ "title": "Rugged",
+ "type": "integer"
+ },
+ "settled": {
+ "description": "Of those, mints whose outcome labels have settled (/v1/labels, outcome).",
+ "minimum": 0,
+ "title": "Settled",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "mints",
+ "bundled",
+ "quick_sells",
+ "settled",
+ "rugged",
+ "graduated"
+ ],
+ "title": "WalletHistory",
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "This wallet's history on other pump.fun mints in our tape (mints, bundled, quick_sells, settled, rugged, graduated); null when the reputation is not ready (/v1/labels, reputation)."
+ },
+ "net_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "SOL it put into the curve on its buys minus SOL it took out on its sells; null when the tape cannot give it exactly.",
+ "title": "Net Sol"
+ },
+ "share_of_supply": {
+ "description": "Tokens this wallet holds now / total supply.",
+ "title": "Share Of Supply",
+ "type": "number"
+ },
+ "wallet": {
+ "title": "Wallet",
+ "type": "string"
+ }
+ },
+ "required": [
+ "wallet",
+ "share_of_supply"
+ ],
+ "title": "CohortWallet",
+ "type": "object"
+ },
+ "maxItems": 10,
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Up to 10 of the cohort's wallets, largest holding first.",
+ "title": "Wallets"
+ }
+ },
+ "required": [
+ "share_of_supply",
+ "source"
+ ],
+ "title": "Cohort",
+ "type": "object"
+ },
+ "dev": {
+ "properties": {
+ "buy_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "SOL that entered the curve on the cohort's buys (fees paid outside the curve are not in it).",
+ "title": "Buy Sol"
+ },
+ "n_funded_by_creator": {
+ "description": "Wallets in the dev cohort because our funding capture saw the creator fund them.",
+ "minimum": 0,
+ "title": "N Funded By Creator",
+ "type": "integer"
+ },
+ "n_holding": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Wallets of the cohort still holding tokens.",
+ "title": "N Holding"
+ },
+ "n_wallets": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Wallets in the cohort, sold-out ones included.",
+ "title": "N Wallets"
+ },
+ "net_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "buy_sol - sell_sol: negative when the cohort took out more SOL than it put in; null when sol_complete is false for it.",
+ "title": "Net Sol"
+ },
+ "reason": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Why the cohort's figures are null.",
+ "title": "Reason"
+ },
+ "sell_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "SOL that left the curve on the cohort's sells.",
+ "title": "Sell Sol"
+ },
+ "share_of_supply": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Tokens the cohort's wallets hold now / total supply (1B; 2B on a mayhem launch).",
+ "title": "Share Of Supply"
+ },
+ "source": {
+ "enum": [
+ "tape",
+ "tape+funding_capture",
+ "unavailable"
+ ],
+ "title": "Source",
+ "type": "string"
+ },
+ "wallets": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "first_slot_offset": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Slots after the create slot when the wallet's first tokens of this mint arrived; null when it never received any.",
+ "title": "First Slot Offset"
+ },
+ "history": {
+ "anyOf": [
+ {
+ "description": "One wallet's history on OTHER pump.fun mints in our tape since the seam (the mint answered is never counted).",
+ "properties": {
+ "bundled": {
+ "description": "Of those, mints where its first tokens arrived in the create slot or the next one (the bundlers rule of the cohort block).",
+ "minimum": 0,
+ "title": "Bundled",
+ "type": "integer"
+ },
+ "graduated": {
+ "description": "Of the settled ones, mints that truly graduated.",
+ "minimum": 0,
+ "title": "Graduated",
+ "type": "integer"
+ },
+ "mints": {
+ "description": "Other pump.fun mints this wallet bought in our tape since 2026-09-27T00:18:34Z (the mint answered is never counted).",
+ "minimum": 0,
+ "title": "Mints",
+ "type": "integer"
+ },
+ "quick_sells": {
+ "description": "Of those, mints it sold within 60 s of its first buy.",
+ "minimum": 0,
+ "title": "Quick Sells",
+ "type": "integer"
+ },
+ "rugged": {
+ "description": "Of the settled ones, mints labelled rugged_within_300s by the public rule.",
+ "minimum": 0,
+ "title": "Rugged",
+ "type": "integer"
+ },
+ "settled": {
+ "description": "Of those, mints whose outcome labels have settled (/v1/labels, outcome).",
+ "minimum": 0,
+ "title": "Settled",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "mints",
+ "bundled",
+ "quick_sells",
+ "settled",
+ "rugged",
+ "graduated"
+ ],
+ "title": "WalletHistory",
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "This wallet's history on other pump.fun mints in our tape (mints, bundled, quick_sells, settled, rugged, graduated); null when the reputation is not ready (/v1/labels, reputation)."
+ },
+ "net_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "SOL it put into the curve on its buys minus SOL it took out on its sells; null when the tape cannot give it exactly.",
+ "title": "Net Sol"
+ },
+ "share_of_supply": {
+ "description": "Tokens this wallet holds now / total supply.",
+ "title": "Share Of Supply",
+ "type": "number"
+ },
+ "wallet": {
+ "title": "Wallet",
+ "type": "string"
+ }
+ },
+ "required": [
+ "wallet",
+ "share_of_supply"
+ ],
+ "title": "CohortWallet",
+ "type": "object"
+ },
+ "maxItems": 10,
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Up to 10 of the cohort's wallets, largest holding first.",
+ "title": "Wallets"
+ }
+ },
+ "required": [
+ "share_of_supply",
+ "source",
+ "n_funded_by_creator"
+ ],
+ "title": "DevCohort",
+ "type": "object"
+ },
+ "fresh_wallets": {
+ "properties": {
+ "buy_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "SOL that entered the curve on the cohort's buys (fees paid outside the curve are not in it).",
+ "title": "Buy Sol"
+ },
+ "n_holding": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Wallets of the cohort still holding tokens.",
+ "title": "N Holding"
+ },
+ "n_wallets": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Wallets in the cohort, sold-out ones included.",
+ "title": "N Wallets"
+ },
+ "net_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "buy_sol - sell_sol: negative when the cohort took out more SOL than it put in; null when sol_complete is false for it.",
+ "title": "Net Sol"
+ },
+ "reason": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Why the cohort's figures are null.",
+ "title": "Reason"
+ },
+ "sell_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "SOL that left the curve on the cohort's sells.",
+ "title": "Sell Sol"
+ },
+ "share_of_supply": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Tokens the cohort's wallets hold now / total supply (1B; 2B on a mayhem launch).",
+ "title": "Share Of Supply"
+ },
+ "source": {
+ "enum": [
+ "tape",
+ "tape+funding_capture",
+ "unavailable"
+ ],
+ "title": "Source",
+ "type": "string"
+ },
+ "wallets": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "first_slot_offset": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Slots after the create slot when the wallet's first tokens of this mint arrived; null when it never received any.",
+ "title": "First Slot Offset"
+ },
+ "history": {
+ "anyOf": [
+ {
+ "description": "One wallet's history on OTHER pump.fun mints in our tape since the seam (the mint answered is never counted).",
+ "properties": {
+ "bundled": {
+ "description": "Of those, mints where its first tokens arrived in the create slot or the next one (the bundlers rule of the cohort block).",
+ "minimum": 0,
+ "title": "Bundled",
+ "type": "integer"
+ },
+ "graduated": {
+ "description": "Of the settled ones, mints that truly graduated.",
+ "minimum": 0,
+ "title": "Graduated",
+ "type": "integer"
+ },
+ "mints": {
+ "description": "Other pump.fun mints this wallet bought in our tape since 2026-09-27T00:18:34Z (the mint answered is never counted).",
+ "minimum": 0,
+ "title": "Mints",
+ "type": "integer"
+ },
+ "quick_sells": {
+ "description": "Of those, mints it sold within 60 s of its first buy.",
+ "minimum": 0,
+ "title": "Quick Sells",
+ "type": "integer"
+ },
+ "rugged": {
+ "description": "Of the settled ones, mints labelled rugged_within_300s by the public rule.",
+ "minimum": 0,
+ "title": "Rugged",
+ "type": "integer"
+ },
+ "settled": {
+ "description": "Of those, mints whose outcome labels have settled (/v1/labels, outcome).",
+ "minimum": 0,
+ "title": "Settled",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "mints",
+ "bundled",
+ "quick_sells",
+ "settled",
+ "rugged",
+ "graduated"
+ ],
+ "title": "WalletHistory",
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "This wallet's history on other pump.fun mints in our tape (mints, bundled, quick_sells, settled, rugged, graduated); null when the reputation is not ready (/v1/labels, reputation)."
+ },
+ "net_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "SOL it put into the curve on its buys minus SOL it took out on its sells; null when the tape cannot give it exactly.",
+ "title": "Net Sol"
+ },
+ "share_of_supply": {
+ "description": "Tokens this wallet holds now / total supply.",
+ "title": "Share Of Supply",
+ "type": "number"
+ },
+ "wallet": {
+ "title": "Wallet",
+ "type": "string"
+ }
+ },
+ "required": [
+ "wallet",
+ "share_of_supply"
+ ],
+ "title": "CohortWallet",
+ "type": "object"
+ },
+ "maxItems": 10,
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Up to 10 of the cohort's wallets, largest holding first.",
+ "title": "Wallets"
+ }
+ },
+ "required": [
+ "share_of_supply",
+ "source"
+ ],
+ "title": "Cohort",
+ "type": "object"
+ },
+ "omitted": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Cohorts not served, with the reason.",
+ "title": "Omitted",
+ "type": "object"
+ },
+ "reputation": {
+ "anyOf": [
+ {
+ "properties": {
+ "basis": {
+ "properties": {
+ "gaps": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Interruptions of the store's intake longer than 120 s (a server restart after more than ~25 min down): trades in them are missing.",
+ "title": "Gaps"
+ },
+ "history_from": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "First trade time the store holds (UTC).",
+ "title": "History From"
+ },
+ "history_hours": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Hours of tape the store holds since tape_since, gaps excluded.",
+ "title": "History Hours"
+ },
+ "history_to": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Newest trade time the store holds (UTC).",
+ "title": "History To"
+ },
+ "labels": {
+ "title": "Labels",
+ "type": "string"
+ },
+ "min_prior_mints": {
+ "title": "Min Prior Mints",
+ "type": "integer"
+ },
+ "quick_sell_s": {
+ "title": "Quick Sell S",
+ "type": "integer"
+ },
+ "retention": {
+ "title": "Retention",
+ "type": "string"
+ },
+ "store_lag_s": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Our newest ingested trade minus the store's newest trade.",
+ "title": "Store Lag S"
+ },
+ "tape_since": {
+ "description": "Start of the history: the capture seam; no earlier trade is in the store.",
+ "title": "Tape Since",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tape_since",
+ "quick_sell_s",
+ "min_prior_mints",
+ "retention",
+ "labels"
+ ],
+ "title": "ReputationBasis",
+ "type": "object"
+ },
+ "known_dumpers_share": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Share of supply held by wallets that sold within 60 s of their first buy on at least 3 other mints.",
+ "title": "Known Dumpers Share"
+ },
+ "n_holders": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Holders read (every wallet of the ledger holding tokens now).",
+ "title": "N Holders"
+ },
+ "n_known_dumpers": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "N Known Dumpers"
+ },
+ "n_new_wallets": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "N New Wallets"
+ },
+ "n_repeat_bundlers": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "N Repeat Bundlers"
+ },
+ "new_wallets_share": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Share of supply held by wallets with no other mint in our tape since 2026-09-27T00:18:34Z: new to our tape, not necessarily fresh wallets.",
+ "title": "New Wallets Share"
+ },
+ "reason": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Why the figures are null (status other than ready).",
+ "title": "Reason"
+ },
+ "repeat_bundlers_share": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Share of supply held by wallets whose first tokens arrived in the create slot or the next one on at least 3 other mints.",
+ "title": "Repeat Bundlers Share"
+ },
+ "status": {
+ "enum": [
+ "ready",
+ "warming_up",
+ "behind",
+ "unavailable",
+ "not_enabled",
+ "failed"
+ ],
+ "title": "Status",
+ "type": "string"
+ },
+ "version": {
+ "const": "reputation-1",
+ "title": "Version",
+ "type": "string"
+ }
+ },
+ "required": [
+ "version",
+ "status",
+ "basis"
+ ],
+ "title": "Reputation",
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Cross-token history of the wallets holding this mint now, from our own trade tape since 2026-09-27T00:18:34Z: known_dumpers_share, repeat_bundlers_share and new_wallets_share of supply, with counts and the basis (hours of tape, gaps); null figures with status and reason when the history store is not ready. Definitions at /v1/labels (reputation)."
+ },
+ "shares_complete": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "True when the booked trades account for the curve's SOL (within 0.001 SOL); false when trades are missing, so every share here is a lower bound; null when it cannot be checked.",
+ "title": "Shares Complete"
+ },
+ "slot_windows": {
+ "properties": {
+ "bundlers": {
+ "description": "Inclusive slot offsets from the create slot.",
+ "items": {
+ "type": "integer"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "title": "Bundlers",
+ "type": "array"
+ },
+ "snipers": {
+ "description": "Inclusive slot offsets from the create slot; the upper end is basis.sniper_max_offset.",
+ "items": {
+ "type": "integer"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "title": "Snipers",
+ "type": "array"
+ }
+ },
+ "required": [
+ "bundlers",
+ "snipers"
+ ],
+ "title": "SlotWindows",
+ "type": "object"
+ },
+ "snipers": {
+ "properties": {
+ "buy_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "SOL that entered the curve on the cohort's buys (fees paid outside the curve are not in it).",
+ "title": "Buy Sol"
+ },
+ "n_holding": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Wallets of the cohort still holding tokens.",
+ "title": "N Holding"
+ },
+ "n_wallets": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Wallets in the cohort, sold-out ones included.",
+ "title": "N Wallets"
+ },
+ "net_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "buy_sol - sell_sol: negative when the cohort took out more SOL than it put in; null when sol_complete is false for it.",
+ "title": "Net Sol"
+ },
+ "reason": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Why the cohort's figures are null.",
+ "title": "Reason"
+ },
+ "sell_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "SOL that left the curve on the cohort's sells.",
+ "title": "Sell Sol"
+ },
+ "share_of_supply": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Tokens the cohort's wallets hold now / total supply (1B; 2B on a mayhem launch).",
+ "title": "Share Of Supply"
+ },
+ "source": {
+ "enum": [
+ "tape",
+ "tape+funding_capture",
+ "unavailable"
+ ],
+ "title": "Source",
+ "type": "string"
+ },
+ "wallets": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "first_slot_offset": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Slots after the create slot when the wallet's first tokens of this mint arrived; null when it never received any.",
+ "title": "First Slot Offset"
+ },
+ "history": {
+ "anyOf": [
+ {
+ "description": "One wallet's history on OTHER pump.fun mints in our tape since the seam (the mint answered is never counted).",
+ "properties": {
+ "bundled": {
+ "description": "Of those, mints where its first tokens arrived in the create slot or the next one (the bundlers rule of the cohort block).",
+ "minimum": 0,
+ "title": "Bundled",
+ "type": "integer"
+ },
+ "graduated": {
+ "description": "Of the settled ones, mints that truly graduated.",
+ "minimum": 0,
+ "title": "Graduated",
+ "type": "integer"
+ },
+ "mints": {
+ "description": "Other pump.fun mints this wallet bought in our tape since 2026-09-27T00:18:34Z (the mint answered is never counted).",
+ "minimum": 0,
+ "title": "Mints",
+ "type": "integer"
+ },
+ "quick_sells": {
+ "description": "Of those, mints it sold within 60 s of its first buy.",
+ "minimum": 0,
+ "title": "Quick Sells",
+ "type": "integer"
+ },
+ "rugged": {
+ "description": "Of the settled ones, mints labelled rugged_within_300s by the public rule.",
+ "minimum": 0,
+ "title": "Rugged",
+ "type": "integer"
+ },
+ "settled": {
+ "description": "Of those, mints whose outcome labels have settled (/v1/labels, outcome).",
+ "minimum": 0,
+ "title": "Settled",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "mints",
+ "bundled",
+ "quick_sells",
+ "settled",
+ "rugged",
+ "graduated"
+ ],
+ "title": "WalletHistory",
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "This wallet's history on other pump.fun mints in our tape (mints, bundled, quick_sells, settled, rugged, graduated); null when the reputation is not ready (/v1/labels, reputation)."
+ },
+ "net_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "SOL it put into the curve on its buys minus SOL it took out on its sells; null when the tape cannot give it exactly.",
+ "title": "Net Sol"
+ },
+ "share_of_supply": {
+ "description": "Tokens this wallet holds now / total supply.",
+ "title": "Share Of Supply",
+ "type": "number"
+ },
+ "wallet": {
+ "title": "Wallet",
+ "type": "string"
+ }
+ },
+ "required": [
+ "wallet",
+ "share_of_supply"
+ ],
+ "title": "CohortWallet",
+ "type": "object"
+ },
+ "maxItems": 10,
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Up to 10 of the cohort's wallets, largest holding first.",
+ "title": "Wallets"
+ }
+ },
+ "required": [
+ "share_of_supply",
+ "source"
+ ],
+ "title": "Cohort",
+ "type": "object"
+ },
+ "sol_complete": {
+ "description": "True when every cohort SOL figure is exact; false names the reason in sol_reason.",
+ "title": "Sol Complete",
+ "type": "boolean"
+ },
+ "sol_reason": {
+ "anyOf": [
+ {
+ "enum": [
+ "tape_truncated",
+ "quote_not_sol",
+ "trades_unbooked",
+ "create_sol_unknown"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Sol Reason"
+ },
+ "top10_share": {
+ "description": "Share of total supply held by the 10 largest wallets in our ledger (the bonding curve and the mayhem agent are not holders).",
+ "title": "Top10 Share",
+ "type": "number"
+ },
+ "top1_share": {
+ "description": "Share of total supply held by the largest wallet in our ledger (the bonding curve and the mayhem agent are not holders).",
+ "title": "Top1 Share",
+ "type": "number"
+ },
+ "unbooked_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "The curve's own SOL after the last booked trade minus the net SOL of every booked trade since launch: SOL that moved in trades our tape does not hold; null when it cannot be checked.",
+ "title": "Unbooked Sol"
+ },
+ "union_share": {
+ "description": "Share of supply held by wallets in at least one cohort, each wallet counted once.",
+ "title": "Union Share",
+ "type": "number"
+ },
+ "version": {
+ "const": "cohorts-1",
+ "title": "Version",
+ "type": "string"
+ }
+ },
+ "required": [
+ "version",
+ "top1_share",
+ "top10_share",
+ "union_share",
+ "slot_windows",
+ "sol_complete",
+ "dev",
+ "bundlers",
+ "snipers",
+ "fresh_wallets",
+ "omitted"
+ ],
+ "title": "CohortBlock",
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Context for the reasons, not part of the rule: who holds the supply now by launch-time role (dev, bundlers, snipers, top-1 and top-10 share), as the holders answer reports it; definitions at /v1/labels (cohorts). Null when it could not be built; the verdict stands."
+ },
+ "coverage": {
+ "const": "full",
+ "title": "Coverage",
+ "type": "string"
+ },
+ "disclaimer": {
+ "title": "Disclaimer",
+ "type": "string"
+ },
+ "fresh_verdict_url": {
+ "title": "Fresh Verdict Url",
+ "type": "string"
+ },
+ "generated_at": {
+ "title": "Generated At",
+ "type": "string"
+ },
+ "lifecycle": {
+ "title": "Lifecycle",
+ "type": "string"
+ },
+ "links": {
+ "anyOf": [
+ {
+ "properties": {
+ "axiom": {
+ "title": "Axiom",
+ "type": "string"
+ },
+ "dexscreener": {
+ "title": "Dexscreener",
+ "type": "string"
+ },
+ "gmgn": {
+ "title": "Gmgn",
+ "type": "string"
+ },
+ "jupiter": {
+ "title": "Jupiter",
+ "type": "string"
+ },
+ "note": {
+ "title": "Note",
+ "type": "string"
+ },
+ "photon": {
+ "title": "Photon",
+ "type": "string"
+ },
+ "pumpfun": {
+ "title": "Pumpfun",
+ "type": "string"
+ }
+ },
+ "required": [
+ "pumpfun",
+ "dexscreener",
+ "jupiter",
+ "gmgn",
+ "axiom",
+ "photon",
+ "note"
+ ],
+ "title": "TradeLinks",
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Open this mint on pump.fun, DexScreener, Jupiter, GMGN, Axiom or Photon through a free redirect; no referral code, no fee."
+ },
+ "market": {
+ "anyOf": [
+ {
+ "properties": {
+ "as_of": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Unix seconds of that sol_usd read.",
+ "title": "As Of"
+ },
+ "curve_liquidity_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Real SOL held by the bonding curve.",
+ "title": "Curve Liquidity Sol"
+ },
+ "curve_liquidity_usd": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Curve Liquidity Usd"
+ },
+ "market_cap_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Market Cap Sol"
+ },
+ "market_cap_usd": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "price_usd x total supply (1B tokens, 2B on a mayhem launch): the pump.fun and DexScreener convention, equal to FDV.",
+ "title": "Market Cap Usd"
+ },
+ "price_sol": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "SOL per whole token at the bonding curve's marginal price.",
+ "title": "Price Sol"
+ },
+ "price_usd": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Price Usd"
+ },
+ "reason": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Why fields are null; codes at /v1/labels market.reason.",
+ "title": "Reason"
+ },
+ "sol_usd": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "The Coinbase SOL-USD spot the USD fields use.",
+ "title": "Sol Usd"
+ }
+ },
+ "title": "Market",
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "USD price, market cap and curve liquidity (/v1/labels market)."
+ },
+ "mint": {
+ "title": "Mint",
+ "type": "string"
+ },
+ "odds_caveat": {
+ "title": "Odds Caveat",
+ "type": "string"
+ },
+ "probabilities": {
+ "anyOf": [
+ {
+ "properties": {
+ "base_rate_same_age": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Base Rate Same Age"
+ },
+ "calibration": {
+ "title": "Calibration",
+ "type": "string"
+ },
+ "diagnostics": {
+ "anyOf": [
+ {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Diagnostics"
+ },
+ "features_used": {
+ "anyOf": [
+ {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Features Used"
+ },
+ "horizon_s": {
+ "title": "Horizon S",
+ "type": "integer"
+ },
+ "model": {
+ "title": "Model",
+ "type": "string"
+ },
+ "reason": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Reason"
+ },
+ "recalibration": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Recalibration"
+ },
+ "rug_within_300s": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Rug Within 300S"
+ },
+ "rug_within_300s_basis": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Rug Within 300S Basis"
+ },
+ "rug_within_300s_reason": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Rug Within 300S Reason"
+ },
+ "true_graduation": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "True Graduation"
+ },
+ "true_graduation_reason": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "True Graduation Reason"
+ }
+ },
+ "required": [
+ "model",
+ "calibration",
+ "horizon_s"
+ ],
+ "title": "Probabilities",
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The calibrated numbers exactly as the compact check publishes them."
+ },
+ "quote": {
+ "anyOf": [
+ {
+ "properties": {
+ "asset": {
+ "description": "The curve's quote asset: sol, usdc, pyusd, stock (an xStocks tokenized equity), other, or unknown (not read from the curve account; is_sol says what our tape shows).",
+ "enum": [
+ "sol",
+ "usdc",
+ "pyusd",
+ "stock",
+ "other",
+ "unknown"
+ ],
+ "title": "Asset",
+ "type": "string"
+ },
+ "basis": {
+ "description": "curve_account = read from the bonding-curve account over RPC; curve_stream = the same account fields as our capture streams them; tape = our capture's evidence; launch_date = launched before pump.fun Custom Pairs opened (2026-09-10), when every curve was SOL-quoted (the outcome labels); none = no evidence yet.",
+ "enum": [
+ "curve_account",
+ "curve_stream",
+ "tape",
+ "launch_date",
+ "none"
+ ],
+ "title": "Basis",
+ "type": "string"
+ },
+ "evidence": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "The tape evidence behind is_sol (/v1/labels quote.evidence).",
+ "title": "Evidence"
+ },
+ "holder_rewards": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "The curve's is_holder_reward flag (pump.fun Holder Rewards: the creator fee goes to holders); null when the account was not read.",
+ "title": "Holder Rewards"
+ },
+ "is_sol": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "true = SOL-quoted, false = quoted in another asset, null = not established yet.",
+ "title": "Is Sol"
+ },
+ "mint": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "The quote_mint the bonding-curve account holds (the all-zero default 11111111111111111111111111111111 on SOL curves); null when not read.",
+ "title": "Mint"
+ },
+ "modelled": {
+ "description": "True only for a curve shown to be SOL-quoted: our flags, labels, verdict and odds are measured in SOL. False = those are withheld (reason quote_not_modelled).",
+ "title": "Modelled",
+ "type": "boolean"
+ },
+ "reason": {
+ "anyOf": [
+ {
+ "const": "quote_not_modelled",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Set when modelled is false.",
+ "title": "Reason"
+ }
+ },
+ "required": [
+ "asset",
+ "modelled",
+ "basis"
+ ],
+ "title": "Quote",
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "The curve's quote asset (/v1/labels quote); a verdict is sold only for a SOL-quoted curve, any other is refused unpaid (quote_not_modelled)."
+ },
+ "reason": {
+ "title": "Reason",
+ "type": "string"
+ },
+ "reasons": {
+ "description": "Up to three observed flags, earliest first.",
+ "items": {
+ "properties": {
+ "code": {
+ "title": "Code",
+ "type": "string"
+ },
+ "evidence": {
+ "additionalProperties": true,
+ "title": "Evidence",
+ "type": "object"
+ },
+ "first_seen_after_launch_s": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "First Seen After Launch S"
+ },
+ "first_seen_at": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "First Seen At"
+ },
+ "text": {
+ "title": "Text",
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "text",
+ "first_seen_at",
+ "first_seen_after_launch_s",
+ "evidence"
+ ],
+ "title": "VerdictReason",
+ "type": "object"
+ },
+ "maxItems": 3,
+ "title": "Reasons",
+ "type": "array"
+ },
+ "reasons_total": {
+ "minimum": 0,
+ "title": "Reasons Total",
+ "type": "integer"
+ },
+ "result_id": {
+ "title": "Result Id",
+ "type": "string"
+ },
+ "risk_label": {
+ "title": "Risk Label",
+ "type": "string"
+ },
+ "rule": {
+ "title": "Rule",
+ "type": "string"
+ },
+ "share_url": {
+ "description": "Free card page signed at purchase time; renders this verdict without recomputing or paying.",
+ "title": "Share Url",
+ "type": "string"
+ },
+ "t": {
+ "title": "T",
+ "type": "number"
+ },
+ "verdict": {
+ "enum": [
+ "avoid",
+ "caution",
+ "no_flags_observed"
+ ],
+ "title": "Verdict",
+ "type": "string"
+ }
+ },
+ "required": [
+ "mint",
+ "verdict",
+ "basis",
+ "reason",
+ "probabilities",
+ "odds_caveat",
+ "reasons",
+ "reasons_total",
+ "lifecycle",
+ "risk_label",
+ "coverage",
+ "age_s",
+ "generated_at",
+ "t",
+ "result_id",
+ "share_url",
+ "fresh_verdict_url",
+ "rule",
+ "disclaimer"
+ ],
+ "title": "VerdictData",
+ "type": "object"
+ },
+ "generated_at": {
+ "title": "Generated At",
+ "type": "string"
+ },
+ "meta": {
+ "additionalProperties": true,
+ "title": "Meta",
+ "type": "object"
+ },
+ "ok": {
+ "const": true,
+ "title": "Ok",
+ "type": "boolean"
+ },
+ "schema_version": {
+ "const": "2.0",
+ "title": "Schema Version",
+ "type": "string"
+ },
+ "t": {
+ "title": "T",
+ "type": "number"
+ }
+ },
+ "required": [
+ "ok",
+ "schema_version",
+ "generated_at",
+ "t",
+ "coverage",
+ "data",
+ "meta"
+ ],
+ "title": "VerdictEnvelope",
+ "type": "object"
+ },
+ {
+ "description": "isError: the x402 v2 payment requirements. Pay one accepts entry and call again with _meta['x402/payment']. error says why when a payment was sent and rejected; a failed settlement adds x402/payment-response. Nothing is charged.",
+ "properties": {
+ "accepts": {
+ "items": {
+ "properties": {
+ "amount": {
+ "type": "string"
+ },
+ "asset": {
+ "type": "string"
+ },
+ "extra": {
+ "type": "object"
+ },
+ "maxTimeoutSeconds": {
+ "type": "integer"
+ },
+ "network": {
+ "type": "string"
+ },
+ "payTo": {
+ "type": "string"
+ },
+ "scheme": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "scheme",
+ "network",
+ "amount",
+ "asset",
+ "payTo"
+ ],
+ "type": "object"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "error": {
+ "type": "string"
+ },
+ "extensions": {
+ "type": "object"
+ },
+ "resource": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "mimeType": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "type": "object"
+ },
+ "x402/payment-response": {
+ "properties": {
+ "errorReason": {
+ "type": "string"
+ },
+ "network": {
+ "type": "string"
+ },
+ "success": {
+ "type": "boolean"
+ },
+ "transaction": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "success"
+ ],
+ "type": "object"
+ },
+ "x402Version": {
+ "const": 2
+ }
+ },
+ "required": [
+ "x402Version",
+ "resource",
+ "accepts"
+ ],
+ "title": "PaymentRequired",
+ "type": "object"
+ },
+ {
+ "description": "isError: a refusal answered without charging (invalid or uncovered arguments, stale feed, nothing new since the cursor, a payment that cannot be matched to this request). error is a stable code; live_examples name mints covered now.",
+ "properties": {
+ "address": {
+ "type": "string"
+ },
+ "avoid_skipped": {
+ "type": "integer"
+ },
+ "case_mangled_mints": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "charged": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "curve": {
+ "type": "string"
+ },
+ "error": {
+ "type": "string"
+ },
+ "feed_lag_s": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "free_check": {
+ "type": "string"
+ },
+ "got": {
+ "type": [
+ "string",
+ "integer"
+ ]
+ },
+ "hint": {
+ "type": "string"
+ },
+ "invalid": {
+ "type": "object"
+ },
+ "live_examples": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "max_feed_lag_s": {
+ "type": "number"
+ },
+ "max_mints": {
+ "type": "integer"
+ },
+ "max_table_lag_s": {
+ "type": "number"
+ },
+ "message": {
+ "type": "string"
+ },
+ "mint": {
+ "type": "string"
+ },
+ "missing": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "newest_cursor": {
+ "type": "string"
+ },
+ "ok": {
+ "const": false
+ },
+ "payment_status": {
+ "type": "string"
+ },
+ "scanned": {
+ "type": "integer"
+ },
+ "schema": {
+ "type": "object"
+ },
+ "since": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "table_lag_s": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "tool": {
+ "type": "string"
+ },
+ "unavailable_mints": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "unverified_event": {
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "window_s": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "ok",
+ "error"
+ ],
+ "title": "Refusal",
+ "type": "object"
+ }
+]