> ## Documentation Index
> Fetch the complete documentation index at: https://stonkpile.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Verify a mint

> GET /api/verify/{mint} — a decision about one contract address, before money moves.

```
GET https://stonkpile.xyz/api/verify/{mint}
```

Every other endpoint describes the market. This one returns a **decision**: a closed set verdict, a boolean, and the rating if there is one, so a caller can branch on it without parsing English.

## Path parameters

**mint** `string` *required*

Solana mint address, base58.

## Response

**mint** `string`

The address you asked about.

**verdict** `string`

One of `issued`, `quoted_coin`, `impostor`, `unknown`. Never anything else.

**clear** `boolean`

The same judgement as a boolean, for callers that only need to decide whether to proceed.

**symbol** `string`

Ticker as the issuer published it, for example `TSLAx`.

**name** `string`

Company or fund name.

**issuer** `string`

Which issuer published it.

**underlying** `string`

The underlying ticker, for example `TSLA`.

**hasMarket** `boolean`

Whether a pool above the floor exists. Verified is not the same as tradeable.

**liquidity** `number`

Liquidity in USD across its pools.

**feed** `string`

`247` when an always on reference price exists, otherwise absent.

**perpVenues** `string[]`

Venues with a perp on the same underlying.

**rating** `object`

`score`, `band` and the four `pillars`. Absent when the token is unrated.

```bash curl theme={null}
curl https://stonkpile.xyz/api/verify/XsDoVfqeBukxuZHWhdvWHBhgEHjGNst4MLodqsJHzoB
```

```js JavaScript theme={null}
const res = await fetch(`https://stonkpile.xyz/api/verify/${mint}`);
const v = await res.json();
if (!v.clear) return;
if (!v.hasMarket) return;
```

```json issued theme={null}
{
  "mint": "XsDoVfqeBukxuZHWhdvWHBhgEHjGNst4MLodqsJHzoB",
  "verdict": "issued",
  "clear": true,
  "symbol": "TSLAx",
  "name": "Tesla",
  "issuer": "xStocks",
  "underlying": "TSLA",
  "hasMarket": true,
  "liquidity": 1701317,
  "feed": "247",
  "perpVenues": ["Phoenix", "Hyperliquid"],
  "rating": {
    "score": 87,
    "band": "prime",
    "pillars": [
      {
        "key": "depth",
        "label": "Liquidity",
        "score": 7.7,
        "weight": 4,
        "points": 30.7,
        "max": 40,
        "detail": "$1.70M in the pool"
      }
    ]
  }
}
```

```json unknown theme={null}
{
  "mint": "So11111111111111111111111111111111111111112",
  "verdict": "unknown",
  "clear": false
}
```

> [!WARNING]
>
> **200 on every well formed request**, including `unknown` and `impostor`. Those are answers, not errors. A client that treats a 404 as a transport failure would retry its way into exactly the purchase this endpoint exists to prevent.

## Caching

Cached five minutes at the edge, with stale-while-revalidate behind it, so a check immediately after the index turns over is answered instantly and refreshed in the background. `Access-Control-Allow-Origin: *`, so it works from a browser.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.