HostDeFi x402 (machine-payable) API
Pay-per-call lane for AI agents (x402 protocol): no key, no account - pay USDC per request and get the same A+-F Safety Read. Free tier and API-key plans are unchanged and remain the better per-call price for steady use.
GET
/v1/x402/token-risk/{chain}/{address}
Token risk verdict, paid per call via x402
GET
/v1/x402/token-risk/history/{chain}/{address}
Token safety history (dated daily rows), paid per call via x402
POST
/v1/x402/token-risk
Token risk verdict by free-form query, paid per call via x402
POST
/v1/x402/token-risk/batch
Batch token risk verdicts, paid per call via x402
GET
/v1/x402/pricing
x402 price sheet and resource catalog
GET
/v1/x402/signals/solana/{mint}
Pre-graduation signals for a Solana mint, paid per call via x402
GET
/v1/x402/authority/solana/{mint}
Authority quick-check for a Solana mint, paid per call via x402
POST
/v1/x402/portfolio
Solana wallet portfolio audit, paid per call via x402
GET
/v1/x402/radar
Recent trend-radar alerts, paid per call via x402
POST
/v1/x402/keys
Buy a 30-day API key with one x402 payment
GET
/v1/x402/obituaries
Rug/collapse ledger (dated gate-exit records), paid per call via x402
GET
/v1/x402/listings/{chain}
Graded token listing for one chain, paid per call via x402
GET
/v1/x402/datasets/safety-snapshot
The full weekly safety-snapshot dataset, paid per call via x402
GET
/v1/x402/radar/history
Full trend-radar alert history, paid per call via x402
GET
/v1/x402/provider-risk
Risk grade for one x402 seller, paid per call via x402
GET
/v1/x402/provider-risk/all
The full x402 provider-risk dataset, paid per call via x402
GET
/v1/x402/swap/evm/quote
Executable EVM swap quote (ready-to-sign tx), paid per call via x402
GET
/v1/x402/swap/evm/price
EVM swap price preview, paid per call via x402
GET
/v1/x402/token-risk/deep/{chain}/{address}
Deep token report (verdict + full history + trend), paid per call via x402
GET
/v1/x402/token-risk/report/{chain}/{address}
Full due-diligence report (verdict + signals + history + cross-checks), paid per call via x402
POST
/v1/x402/wallet
Wallet risk-exposure read (Solana), paid per call via x402
GET
/v1/x402/launches
Fresh token launches with safety pre-reads, paid per call via x402
GET
/v1/x402/predict/markets
Tracked Polymarket prediction markets with latest odds, paid per call via x402
GET
/v1/x402/predict/history
24h odds history for one tracked Polymarket market, paid per call via x402
Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: HostDeFi Token Risk x402 (machine-payable) API
version: 1.0.0
description: 'Public product surface of the scam-check-api service: the /v1 Token Risk API (same proprietary A+–F Safety
Read rendered on the HostDeFi token pages, plus pre-graduation on-chain signals for Solana), key purchase/usage endpoints,
and the free contract scanner at POST /analyze-token. Keyless callers get a per-IP fair-use tier of 100 calls/day on the
verdict endpoints; paid API keys (bought with SOL via POST /v1/keys) raise the quota and unlock batch. Send an API key
as the `x-api-key` header.'
contact:
url: https://hostdefi.com/docs/api/
email: trustdex.app@gmail.com
servers:
- url: https://hostdefi.com/api
description: 'Canonical branded base — /v1/* served via the hostdefi.com edge (use this in new integrations). Note: /analyze-token
is exposed here as POST /api/scan.'
- url: https://awake-integrity-production-faa0.up.railway.app
description: Origin host (Railway) — keeps working for existing integrations; all paths incl. /analyze-token.
security:
- {}
- ApiKeyHeader: []
tags:
- name: x402 (machine-payable)
description: 'Pay-per-call lane for AI agents (x402 protocol): no key, no account - pay USDC per request and get the same
A+-F Safety Read. Free tier and API-key plans are unchanged and remain the better per-call price for steady use.'
paths:
/v1/x402/token-risk/{chain}/{address}:
get:
summary: Token risk verdict, paid per call via x402
description: 'Machine-payable twin of the standard route for AI agents and bots: no key, no account, no signup. First
call returns HTTP 402 with payment options (x402 protocol v1, USDC on Solana via an accountless facilitator); pay
and retry with the X-PAYMENT header to receive the verdict. You are charged only when a verdict is actually returned:
server errors are never charged, and a failed settlement withholds the response. Prices: see GET /v1/x402/pricing.
The free tier (100/day/IP) and API keys remain the better deal for humans and steady integrations.'
tags:
- x402 (machine-payable)
parameters:
- name: chain
in: path
required: true
schema:
type: string
description: Chain id, e.g. solana, ethereum, bsc, base, arbitrum, optimism, polygon, avalanche.
example: solana
- name: address
in: path
required: true
schema:
type: string
description: Token contract address (Solana mint or 0x EVM address).
example: DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263
responses:
'200':
description: 'Verdict. Settled payment is confirmed by the X-PAYMENT-RESPONSE header (base64 JSON: payer, transaction
signature, network) and meta.x402.'
headers:
X-PAYMENT-RESPONSE:
schema:
type: string
description: base64-encoded JSON settlement receipt.
content:
application/json:
schema:
$ref: '#/components/schemas/Verdict'
'402':
$ref: '#/components/responses/X402PaymentRequired'
'503':
description: x402 lane disabled or facilitator unreachable - the free tier and API keys are unaffected.
x-payment-info:
price:
currency: USD
mode: fixed
amount: '0.01'
protocols:
- x402: {}
security: []
/v1/x402/token-risk/history/{chain}/{address}:
get:
summary: Token safety history (dated daily rows), paid per call via x402
description: 'Longitudinal safety series for one token: dated daily grade/score/liquidity/volume/price rows, oldest
first — how the risk picture changed, not just where it stands. Rows are recorded whenever a verdict is computed anywhere
on the API (recording began 2026-08-16), so any verdict call on a token starts its series. Machine-payable: first
call returns HTTP 402 with payment options; pay and retry with the X-PAYMENT header. Charged only when a non-empty
series is returned — a token with no recorded history answers an uncharged 404, and server errors are never charged.'
tags:
- x402 (machine-payable)
parameters:
- name: chain
in: path
required: true
schema:
type: string
description: Chain id, e.g. solana, ethereum, base, arbitrum.
example: solana
- name: address
in: path
required: true
schema:
type: string
description: Token contract address (Solana mint or 0x EVM address; EVM matches case-insensitively).
example: DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263
- name: limit
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 365
description: 'Daily rows returned: the most recent N days, oldest first (default 90).'
example: 90
responses:
'200':
description: The dated series. Settled payment is confirmed by the X-PAYMENT-RESPONSE header and meta.x402. Each
row carries the ts it was computed at.
headers:
X-PAYMENT-RESPONSE:
schema:
type: string
description: base64-encoded JSON settlement receipt.
content:
application/json:
schema:
type: object
properties:
ok:
type: boolean
chain:
type: string
address:
type: string
count:
type: integer
rows:
type: array
items:
type: object
properties:
ts:
type: string
grade:
type: string
nullable: true
score:
type: number
nullable: true
liquidityUsd:
type: number
nullable: true
volume24h:
type: number
nullable: true
priceUsd:
type: number
nullable: true
'402':
$ref: '#/components/responses/X402PaymentRequired'
'404':
description: No recorded history for this token yet - nothing was charged. Any verdict call on it starts the series.
'503':
description: x402 lane disabled or facilitator unreachable - the free tier and API keys are unaffected.
x-payment-info:
price:
currency: USD
mode: fixed
amount: '0.02'
protocols:
- x402: {}
security: []
/v1/x402/token-risk:
post:
summary: Token risk verdict by free-form query, paid per call via x402
description: 'Machine-payable twin of the standard route for AI agents and bots: no key, no account, no signup. First
call returns HTTP 402 with payment options (x402 protocol v1, USDC on Solana via an accountless facilitator); pay
and retry with the X-PAYMENT header to receive the verdict. You are charged only when a verdict is actually returned:
server errors are never charged, and a failed settlement withholds the response. Prices: see GET /v1/x402/pricing.
The free tier (100/day/IP) and API keys remain the better deal for humans and steady integrations.'
tags:
- x402 (machine-payable)
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
query:
type: string
description: A token contract address, or a name/ticker (resolved to the deepest-liquidity match). `address`
is accepted as an alias.
address:
type: string
description: Alias for `query`.
example:
query: BONK
responses:
'200':
description: 'Verdict. Settled payment is confirmed by the X-PAYMENT-RESPONSE header (base64 JSON: payer, transaction
signature, network) and meta.x402.'
headers:
X-PAYMENT-RESPONSE:
schema:
type: string
description: base64-encoded JSON settlement receipt.
content:
application/json:
schema:
$ref: '#/components/schemas/Verdict'
'402':
$ref: '#/components/responses/X402PaymentRequired'
'503':
description: x402 lane disabled or facilitator unreachable - the free tier and API keys are unaffected.
x-payment-info:
price:
currency: USD
mode: fixed
amount: '0.01'
protocols:
- x402: {}
security: []
/v1/x402/token-risk/batch:
post:
summary: Batch token risk verdicts, paid per call via x402
description: 'Machine-payable twin of the standard route for AI agents and bots: no key, no account, no signup. First
call returns HTTP 402 with payment options (x402 protocol v1, USDC on Solana via an accountless facilitator); pay
and retry with the X-PAYMENT header to receive the verdict. You are charged only when a verdict is actually returned:
server errors are never charged, and a failed settlement withholds the response. Prices: see GET /v1/x402/pricing.
The free tier (100/day/IP) and API keys remain the better deal for humans and steady integrations. Batch is a flat
price per call for up to 10 items - no Pro/Scale plan needed on this lane.'
tags:
- x402 (machine-payable)
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- items
properties:
items:
type: array
minItems: 1
maxItems: 10
items:
type: object
required:
- address
properties:
chain:
type:
- string
- 'null'
description: Optional chain id; inferred from the address/market data when omitted.
address:
type: string
description: Token contract address.
example:
items:
- chain: solana
address: DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263
- chain: ethereum
address: '0x6982508145454Ce325dDbE47a25d4ec3d2311933'
responses:
'200':
description: Batch results in input order; a bad item is a per-item error object. Settlement receipt in X-PAYMENT-RESPONSE.
headers:
X-PAYMENT-RESPONSE:
schema:
type: string
description: base64-encoded JSON settlement receipt.
content:
application/json:
schema:
type: object
'402':
$ref: '#/components/responses/X402PaymentRequired'
'503':
description: x402 lane disabled or facilitator unreachable - the free tier and API keys are unaffected.
x-payment-info:
price:
currency: USD
mode: fixed
amount: '0.08'
protocols:
- x402: {}
security: []
/v1/x402/pricing:
get:
summary: x402 price sheet and resource catalog
description: 'Machine-readable catalog of every x402-payable resource: price in USD, asset, scheme, and resource URL.
Also served as the discovery manifest at /.well-known/x402. No payment or auth required.'
tags:
- x402 (machine-payable)
responses:
'200':
description: Catalog.
content:
application/json:
schema:
type: object
security: []
/v1/x402/signals/solana/{mint}:
get:
summary: Pre-graduation signals for a Solana mint, paid per call via x402
description: 'The standalone premium signal set most risk APIs are blind to: bundled-launch detection, curve-aware top-holder
concentration, dangerous Token-2022 extensions, and mint/freeze authority state. You are charged only when data is
actually returned - 4xx/5xx outcomes are never settled. Pay-per-call via x402 (see the token-risk twin routes for
the flow).'
tags:
- x402 (machine-payable)
parameters:
- name: mint
in: path
required: true
schema:
type: string
description: Solana mint address (base58).
responses:
'200':
description: Result. Settlement receipt in the X-PAYMENT-RESPONSE header.
content:
application/json:
schema:
type: object
'402':
$ref: '#/components/responses/X402PaymentRequired'
'404':
description: No data for that input - nothing was charged.
'503':
description: Backend not configured / temporarily unavailable - nothing was charged.
x-payment-info:
price:
currency: USD
mode: fixed
amount: '0.03'
protocols:
- x402: {}
security: []
/v1/x402/authority/solana/{mint}:
get:
summary: Authority quick-check for a Solana mint, paid per call via x402
description: 'Cheap subset: mint/freeze authority state, dangerous Token-2022 extensions, top-10 holder concentration.
You are charged only when data is actually returned - 4xx/5xx outcomes are never settled. Pay-per-call via x402 (see
the token-risk twin routes for the flow).'
tags:
- x402 (machine-payable)
parameters:
- name: mint
in: path
required: true
schema:
type: string
description: Solana mint address (base58).
responses:
'200':
description: Result. Settlement receipt in the X-PAYMENT-RESPONSE header.
content:
application/json:
schema:
type: object
'402':
$ref: '#/components/responses/X402PaymentRequired'
'404':
description: No data for that input - nothing was charged.
'503':
description: Backend not configured / temporarily unavailable - nothing was charged.
x-payment-info:
price:
currency: USD
mode: fixed
amount: '0.005'
protocols:
- x402: {}
security: []
/v1/x402/portfolio:
post:
summary: Solana wallet portfolio audit, paid per call via x402
description: Pass { wallet } (a Solana address); the wallet's largest token holdings (up to 10, by token balance) each
get the full risk verdict. Flat price per audit. You are charged only when data is actually returned - 4xx/5xx outcomes
are never settled. Pay-per-call via x402 (see the token-risk twin routes for the flow).
tags:
- x402 (machine-payable)
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- wallet
properties:
wallet:
type: string
description: Solana wallet address (base58).
responses:
'200':
description: Result. Settlement receipt in the X-PAYMENT-RESPONSE header.
content:
application/json:
schema:
type: object
'402':
$ref: '#/components/responses/X402PaymentRequired'
'404':
description: No data for that input - nothing was charged.
'503':
description: Backend not configured / temporarily unavailable - nothing was charged.
x-payment-info:
price:
currency: USD
mode: fixed
amount: '0.08'
protocols:
- x402: {}
security: []
/v1/x402/radar:
get:
summary: Recent trend-radar alerts, paid per call via x402
description: Structured JSON of the most recent HostDeFi trend-radar alerts (big dated movers with real market cap -
the same public alerts posted to the owned Telegram/Bluesky lanes). Query param limit (1-100, default 50). You are
charged only when data is actually returned - 4xx/5xx outcomes are never settled. Pay-per-call via x402 (see the token-risk
twin routes for the flow).
tags:
- x402 (machine-payable)
responses:
'200':
description: Result. Settlement receipt in the X-PAYMENT-RESPONSE header.
content:
application/json:
schema:
type: object
'402':
$ref: '#/components/responses/X402PaymentRequired'
'404':
description: No data for that input - nothing was charged.
'503':
description: Backend not configured / temporarily unavailable - nothing was charged.
x-payment-info:
price:
currency: USD
mode: fixed
amount: '0.01'
protocols:
- x402: {}
security: []
/v1/x402/keys:
post:
summary: Buy a 30-day API key with one x402 payment
description: Mints a 30-day HostDeFi Agent-plan API key (5,000 calls, batch enabled) in exchange for a single x402 payment
- no account, no signup. The key arrives in the paid response body and is shown only once; send it as the x-api-key
header on /v1/* routes. Priced so raw per-call x402 stays the trial and the key is the volume deal.
tags:
- x402 (machine-payable)
x-payment-info:
price:
currency: USD
mode: fixed
amount: '5.00'
protocols:
- x402: {}
responses:
'200':
description: The freshly minted API key, plan, quota and expiry. Settlement receipt in the X-PAYMENT-RESPONSE header.
content:
application/json:
schema:
type: object
'402':
$ref: '#/components/responses/X402PaymentRequired'
'500':
description: Key issuance failed - nothing was charged.
security: []
/v1/x402/obituaries:
get:
summary: Rug/collapse ledger (dated gate-exit records), paid per call via x402
description: 'HostDeFi''s rug/collapse ledger: tokens that fell out of the liquidity/holder data gate, with peak stats
and dated exit records, newest first. Every figure carries its snapshot date. You are charged only when data is actually
returned - 4xx/5xx outcomes are never settled.'
tags:
- x402 (machine-payable)
x-payment-info:
price:
currency: USD
mode: fixed
amount: '0.02'
protocols:
- x402: {}
parameters:
- in: query
name: limit
schema:
type: integer
minimum: 1
maximum: 500
description: Max records (1-500, default 100).
- in: query
name: chain
schema:
type: string
description: Optional chain filter (e.g. solana).
responses:
'200':
description: The dated gate-exit ledger. Settlement receipt in the X-PAYMENT-RESPONSE header.
content:
application/json:
schema:
type: object
'402':
$ref: '#/components/responses/X402PaymentRequired'
'503':
description: Data backend unavailable - nothing was charged.
security: []
/v1/x402/listings/{chain}:
get:
summary: Graded token listing for one chain, paid per call via x402
description: 'The graded token listing for one chain from HostDeFi''s dated weekly safety snapshot: score, grade, reasons
and market structure per token, best-scored first. Unknown chains answer 400 before any payment starts.'
tags:
- x402 (machine-payable)
x-payment-info:
price:
currency: USD
mode: fixed
amount: '0.05'
protocols:
- x402: {}
parameters:
- in: path
name: chain
required: true
schema:
type: string
enum:
- solana
- ethereum
- base
- arbitrum
description: 'One of: solana, ethereum, base, arbitrum.'
- in: query
name: limit
schema:
type: integer
minimum: 1
maximum: 500
description: Max tokens (1-500, default 100).
responses:
'200':
description: The graded listing from the dated weekly snapshot. Settlement receipt in the X-PAYMENT-RESPONSE header.
content:
application/json:
schema:
type: object
'402':
$ref: '#/components/responses/X402PaymentRequired'
'400':
description: Unknown chain - nothing was charged.
'503':
description: Data backend unavailable - nothing was charged.
security: []
/v1/x402/datasets/safety-snapshot:
get:
summary: The full weekly safety-snapshot dataset, paid per call via x402
description: 'The entire dated weekly safety-snapshot dataset in one call: every graded token across 4 chains plus authority
states, holder concentration and the gate-exit ledger. Large by design; the response carries its asOf date.'
tags:
- x402 (machine-payable)
x-payment-info:
price:
currency: USD
mode: fixed
amount: '0.25'
protocols:
- x402: {}
parameters:
- in: query
name: chain
schema:
type: string
description: Optional chain filter.
responses:
'200':
description: The full dated dataset. Settlement receipt in the X-PAYMENT-RESPONSE header.
content:
application/json:
schema:
type: object
'402':
$ref: '#/components/responses/X402PaymentRequired'
'503':
description: Data backend unavailable - nothing was charged.
security: []
/v1/x402/radar/history:
get:
summary: Full trend-radar alert history, paid per call via x402
description: The full retained trend-radar alert history (up to 100 dated entries), newest first - the same public alerts
posted to the owned distribution lanes, as structured JSON.
tags:
- x402 (machine-payable)
x-payment-info:
price:
currency: USD
mode: fixed
amount: '0.03'
protocols:
- x402: {}
responses:
'200':
description: The retained alert history. Settlement receipt in the X-PAYMENT-RESPONSE header.
content:
application/json:
schema:
type: object
'402':
$ref: '#/components/responses/X402PaymentRequired'
'503':
description: Radar backend unavailable - nothing was charged.
security: []
/v1/x402/provider-risk:
get:
summary: Risk grade for one x402 seller, paid per call via x402
description: 'Vet an x402 seller BEFORE paying it: an A-F grade for one seller origin or resource URL, computed from
observable unpaid signals only (402-offer spec fidelity, price sanity, payTo presence, TLS, latency, reachability).
Answers from a dated crawl snapshot; unknown resources answer 404 uncharged - honest not-graded over fake confidence.'
tags:
- x402 (machine-payable)
x-payment-info:
price:
currency: USD
mode: fixed
amount: '0.02'
protocols:
- x402: {}
parameters:
- in: query
name: resource
schema:
type: string
description: The seller resource URL or origin to grade.
required: true
responses:
'200':
description: The grade, score and reasons, with the crawl's asOf date. Settlement receipt in the X-PAYMENT-RESPONSE
header.
content:
application/json:
schema:
type: object
'402':
$ref: '#/components/responses/X402PaymentRequired'
'400':
description: Missing ?resource - nothing was charged.
'404':
description: Not in the latest crawl - nothing was charged.
'503':
description: Dataset not ready yet - nothing was charged.
security: []
/v1/x402/provider-risk/all:
get:
summary: The full x402 provider-risk dataset, paid per call via x402
description: 'The full dated x402 provider-risk crawl in one call: every crawled seller and resource with grade, score
and reasons - the trust layer for agents spending across the x402 ecosystem.'
tags:
- x402 (machine-payable)
x-payment-info:
price:
currency: USD
mode: fixed
amount: '0.10'
protocols:
- x402: {}
responses:
'200':
description: The full dated dataset. Settlement receipt in the X-PAYMENT-RESPONSE header.
content:
application/json:
schema:
type: object
'402':
$ref: '#/components/responses/X402PaymentRequired'
'503':
description: Dataset not ready yet - nothing was charged.
security: []
/v1/x402/swap/evm/quote:
get:
summary: Executable EVM swap quote (ready-to-sign tx), paid per call via x402
security: []
x-payment-info:
price:
currency: USD
mode: fixed
amount: '0.01'
protocols:
- x402: {}
description: 'Firm KyberSwap-routed quote plus a ready-to-sign transaction for the taker''s own wallet - non-custodial,
no key, no account. Query params: chainId, sellToken and buyToken (''native'' or a 0x 40-hex address), sellAmount
(integer, base units), taker (0x address), optional ref (referrer 0x address). The returned transaction includes a
3% platform fee in the chain''s native coin, on top of the swap. Bad params answer 400 before any payment starts;
no-route and upstream errors pass through as 4xx/5xx and are never settled.'
tags:
- x402 (machine-payable)
responses:
'200':
description: Quote with executable tx (to, data, value), feeMode, allowanceTarget, gas figures. Settlement receipt
in the X-PAYMENT-RESPONSE header.
content:
application/json:
schema:
type: object
'400':
description: Bad or missing params / chain not enabled - nothing was charged.
'402':
$ref: '#/components/responses/X402PaymentRequired'
'404':
description: No route available for this pair - nothing was charged.
'503':
description: Backend not configured / temporarily unavailable - nothing was charged.
/v1/x402/swap/evm/price:
get:
summary: EVM swap price preview, paid per call via x402
security: []
x-payment-info:
price:
currency: USD
mode: fixed
amount: '0.002'
protocols:
- x402: {}
description: 'Expected and minimum output for a pair/amount before committing to a firm quote. Query params: chainId,
sellToken, buyToken (''native'' or a 0x 40-hex address), sellAmount (integer, base units). A pair with no route answers
an uncharged 404 rather than a paid empty estimate.'
tags:
- x402 (machine-payable)
responses:
'200':
description: 'Estimate: buyAmount, minBuyAmount, nativeUsd. Settlement receipt in the X-PAYMENT-RESPONSE header.'
content:
application/json:
schema:
type: object
'400':
description: Bad or missing params / chain not enabled - nothing was charged.
'402':
$ref: '#/components/responses/X402PaymentRequired'
'404':
description: No route or estimate for this pair - nothing was charged.
'503':
description: Backend not configured / temporarily unavailable - nothing was charged.
/v1/x402/token-risk/deep/{chain}/{address}:
get:
summary: Deep token report (verdict + full history + trend), paid per call via x402
description: 'Everything HostDeFi knows about one token in a single paid call: the current A+-F verdict with authority
and holder-concentration signals and market structure, the full dated safety history from the verdict ledger, and
a derived trend block — grade movement, liquidity trajectory, worst peak-to-trough drawdown and days tracked. The
trend is arithmetic over recorded rows only: no projections, no inferred causes. Machine-payable: the first call returns
HTTP 402 with payment options; pay and retry with the X-PAYMENT header. Charge-on-success: a verdict that cannot be
computed is an uncharged 5xx and a missing address an uncharged 400. History depth accrues from 2026-08-16, so a newly-seen
token legitimately has a short series — history.available and history.count say so in the response.'
tags:
- x402 (machine-payable)
parameters:
- name: chain
in: path
required: true
schema:
type: string
description: Chain id, e.g. solana, ethereum, base, arbitrum.
example: solana
- name: address
in: path
required: true
schema:
type: string
description: Token contract address (Solana mint or 0x EVM address; EVM matches case-insensitively).
example: DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263
- name: limit
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 365
description: Daily history rows returned, oldest first (default 365 — depth is the point of this product).
example: 365
responses:
'200':
description: The dated series. Settled payment is confirmed by the X-PAYMENT-RESPONSE header and meta.x402. Each
row carries the ts it was computed at.
headers:
X-PAYMENT-RESPONSE:
schema:
type: string
description: base64-encoded JSON settlement receipt.
content:
application/json:
schema:
type: object
properties:
ok:
type: boolean
chain:
type: string
address:
type: string
count:
type: integer
rows:
type: array
items:
type: object
properties:
ts:
type: string
grade:
type: string
nullable: true
score:
type: number
nullable: true
liquidityUsd:
type: number
nullable: true
volume24h:
type: number
nullable: true
priceUsd:
type: number
nullable: true
'402':
$ref: '#/components/responses/X402PaymentRequired'
'404':
description: No recorded history for this token yet - nothing was charged. Any verdict call on it starts the series.
'503':
description: x402 lane disabled or facilitator unreachable - the free tier and A
# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hostdefi/refs/heads/main/openapi/hostdefi-x402-machine-payable-api-openapi.yml