---
title: Bitcoin Dominance
description: Bitcoin market cap dominance and token supply data via the Kiyotaka Data API. Advanced tier only.
---

# Bitcoin Dominance

<EndpointBar method="GET" path="/v1/points"></EndpointBar>

<TypeHeader type="TOKEN_SUPPLY_AGG" meta="Weight: 1x | Max points: 100,000 | Advanced only"></TypeHeader>

Bitcoin dominance comes from the market-independent token supply dataset. Query it with `coin` and `tokenName`, not `exchange` and `rawSymbol`.
The same response also includes token supply, market cap, and other asset-level fields. Altcoin dominance is derived client-side from the Bitcoin response.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `coin` | string | Yes | Asset ticker, for example `BTC`. |
| `tokenName` | string | Recommended | Token name, for example `Bitcoin`. Use it together with `coin` to target a single asset cleanly. |

<Callout kind="note">

`tokenName` usually matches the `coinName` returned by `GET /v1/markets`.

</Callout>

## Response fields

| Field | Type | Description |
| --- | --- | --- |
| `marketcap` | double | Current market capitalization |
| `firstMarketcap` | double | Baseline market cap used by the source dataset |
| `marketcapDominancePercent` | double (optional) | Share of total crypto market cap for the requested asset |
| `circulatingSupply` | double (optional) | Circulating token supply |
| `totalSupply` | double (optional) | Total token supply |
| `maxSupply` | double (optional) | Maximum token supply |
| `totalValueLocked` | double (optional) | Total value locked |
| `fullyDilutedValuation` | double (optional) | Fully diluted valuation |
| `chain` | string | Primary chain identifier |
| `contractAddress` | string | Contract address when applicable |
| `cgMarketcapRank` | int64 (optional) | Market cap rank |
| `totalVolume` | double (optional) | Trading volume from the source dataset |
| `usdPrice` | double (optional) | Spot price in USD |
| `timestamp` | Timestamp | Start of the returned interval bucket |

When querying `coin=BTC&tokenName=Bitcoin`, `marketcapDominancePercent` is Bitcoin dominance.

## Capabilities

| Feature | Supported | Details |
| --- | --- | --- |
| Market-independent series | Yes | Query by `coin` and `tokenName` |
| Gapfill | Yes | Missing buckets are forward-filled from the latest available token supply snapshot |
| Multi-exchange aggregation | No | This dataset is not keyed by exchange |

## Examples

### Bitcoin dominance

Fetches 7 days of daily Bitcoin dominance and token supply data.

<CodeTabs>

<CodePanel lang="curl">
<pre><span class="s-f">curl</span> <span class="s-s">"https://api.kiyotaka.ai/v1/points</span>
    <span class="s-p">?type</span>=<span class="s-s">TOKEN_SUPPLY_AGG</span>
    <span class="s-p">&amp;coin</span>=<span class="s-s">BTC</span>
    <span class="s-p">&amp;tokenName</span>=<span class="s-s">Bitcoin</span>
    <span class="s-p">&amp;interval</span>=<span class="s-s">DAY</span>
    <span class="s-p">&amp;from</span>=<span class="s-n">1775635290</span>
    <span class="s-p">&amp;period</span>=<span class="s-n">604800</span><span class="s-s">"</span> \\
  <span class="s-k">-H</span> <span class="s-s">"X-Kiyotaka-Key: YOUR_API_KEY"</span></pre>
</CodePanel>

<CodePanel lang="python">
<pre><span class="s-k">import</span> <span class="s-v">requests</span>
&#10;
<span class="s-v">response</span> = requests.<span class="s-f">get</span>(
    <span class="s-s">"https://api.kiyotaka.ai/v1/points?type=TOKEN_SUPPLY_AGG&coin=BTC&tokenName=Bitcoin&interval=DAY&from=1775635290&period=604800"</span>,
    headers={<span class="s-s">"X-Kiyotaka-Key"</span>: <span class="s-s">"YOUR_API_KEY"</span>}
)
<span class="s-v">data</span> = response.<span class="s-f">json</span>()</pre>
</CodePanel>

<CodePanel lang="javascript">
<pre><span class="s-k">const</span> <span class="s-v">response</span> = <span class="s-k">await</span> <span class="s-f">fetch</span>(
  <span class="s-s">"https://api.kiyotaka.ai/v1/points?type=TOKEN_SUPPLY_AGG&coin=BTC&tokenName=Bitcoin&interval=DAY&from=1775635290&period=604800"</span>,
  { headers: { <span class="s-s">"X-Kiyotaka-Key"</span>: <span class="s-s">"YOUR_API_KEY"</span> } }
)
<span class="s-k">const</span> <span class="s-v">data</span> = <span class="s-k">await</span> response.<span class="s-f">json</span>()</pre>
</CodePanel>

</CodeTabs>

### Response

<CodeBlock lang="JSON">
<pre>{
  <span class="s-p">"series"</span>: [
    {
      <span class="s-p">"id"</span>: {
        <span class="s-p">"type"</span>: <span class="s-s">"TOKEN_SUPPLY_AGG"</span>,
        <span class="s-p">"interval"</span>: <span class="s-s">"DAY"</span>,
        <span class="s-p">"coin"</span>: <span class="s-s">"BTC"</span>,
        <span class="s-p">"tokenName"</span>: <span class="s-s">"Bitcoin"</span>
      },
      <span class="s-p">"points"</span>: [
        {
          <span class="s-p">"Point"</span>: {
            <span class="s-p">"timestamp"</span>: { <span class="s-p">"s"</span>: <span class="s-n">1775692800</span> },
            <span class="s-p">"marketcap"</span>: <span class="s-n">1436095444100</span>,
            <span class="s-p">"firstMarketcap"</span>: <span class="s-n">1415920373778</span>,
            <span class="s-p">"marketcapDominancePercent"</span>: <span class="s-n">57.1031</span>,
            <span class="s-p">"cgMarketcapRank"</span>: <span class="s-n">1</span>
          }
        }
      ]
    }
  ]
}</pre>
</CodeBlock>

## Altcoin dominance

There is no separate `type` for altcoin dominance.
Use the same Bitcoin dominance response and compute it client-side:

<CodeBlock lang="Formula">
<pre>altcoin_dominance = <span class="s-n">100</span> - marketcapDominancePercent</pre>
</CodeBlock>

With the sample response above:

<CodeBlock lang="Example">
<pre><span class="s-n">100</span> - <span class="s-n">57.1031</span> = <span class="s-n">42.8969</span></pre>
</CodeBlock>