> **Building with AI coding agents?** Install the authstack plugin with one command. This equips your agent with accurate Scalekit implementation patterns.
>
> **Recommended** (the `-y` flags skip prompts, so the command runs without an interactive terminal):
> ```bash
> npx -y @scalekit-inc/cli setup -y
> ```
>
> Global:
> ```bash
> npm install -g @scalekit-inc/cli
> scalekit setup -y
> ```
>
> Supports Claude Code, Cursor, GitHub Copilot, Codex + skills for other Agent Skills-compatible agents in `~/.agents/skills`.
> Skills: integrate-agentkit, implement-saaskit, add-mcp-oauth, implement-sso, implement-scim.
> [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Connect AI agents to CoinGecko

The CoinGecko connector lets your AI agent act in each user's CoinGecko account. Each user connects their own CoinGecko API key once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 38 tools.

**Authentication:** API Key
**Categories:** Accounting & Finance, Analytics
**Tools:** 38: 38 read, 0 write, 0 destructive
**Users sign in with:** API key
**Built by:** Scalekit connector
**Try it:** [Playground in the Scalekit dashboard](https://app.scalekit.com/ws/signup?sk_intent=playground&provider=COINGECKO)

## Setup

1. ### Install the SDK

   **Node.js**

   ```bash
   npm install @scalekit-sdk/node dotenv
   ```

   **Python**

   ```bash
   pip install scalekit-sdk-python python-dotenv
   ```

2. ### Set your credentials

   Add your Scalekit credentials to your `.env` file. Find values in **[app.scalekit.com](https://app.scalekit.com)** > **Developers** > **API Credentials**.

   ```sh title=".env"
   SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
   SCALEKIT_CLIENT_ID=<your-client-id>
   SCALEKIT_CLIENT_SECRET=<your-client-secret>
   ```

3. ### Create the CoinGecko connection

   In **AgentKit > Connections**, create a CoinGecko connection. The name you give it is the `connection_name` your code passes. See [Configure connections](/agentkit/connections/).

4. ### Authorize a user and make your first call

   **Node.js** (`quickstart.mts`)

   ```typescript
   import { ScalekitClient } from '@scalekit-sdk/node'
   import 'dotenv/config'
   import { createInterface } from 'node:readline/promises'

   const scalekit = new ScalekitClient(
     process.env.SCALEKIT_ENVIRONMENT_URL,
     process.env.SCALEKIT_CLIENT_ID,
     process.env.SCALEKIT_CLIENT_SECRET,
   )
   const actions = scalekit.actions

   const connector = 'coingecko'
   const identifier = 'user_123'

   // Generate an authorization link for the user
   const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
   console.log('Authorize CoinGecko:', link)
   const rl = createInterface({ input: process.stdin, output: process.stdout })
   await rl.question('Press Enter after authorizing...')
   rl.close()

   // Make your first call
   const result = await actions.executeTool({
     connector,
     identifier,
     toolName: 'coingecko_get_exchange_rates',
     toolInput: {},
   })
   console.log(result)
   ```

   ```bash
   npx tsx quickstart.mts
   ```

   **Python** (`quickstart.py`)

   ```python
   import os
   from scalekit import ScalekitClient
   from dotenv import load_dotenv
   load_dotenv()

   scalekit_client = ScalekitClient(
       env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),
       client_id=os.getenv("SCALEKIT_CLIENT_ID"),
       client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),
   )
   actions = scalekit_client.actions

   connection_name = "coingecko"
   identifier = "user_123"

   # Generate an authorization link for the user
   link_response = actions.get_authorization_link(
       connection_name=connection_name,
       identifier=identifier,
   )
   print("Authorize CoinGecko:", link_response.link)
   input("Press Enter after authorizing...")

   # Make your first call
   result = actions.execute_tool(
       tool_input={},
       tool_name="coingecko_get_exchange_rates",
       connection_name=connection_name,
       identifier=identifier,
   )
   print(result)
   ```

   ```bash
   python quickstart.py
   ```

   Each user opens the link once and enters their CoinGecko credentials there. See [Authorize a user](/agentkit/tools/authorize/) for the full flow and statuses.

## Tools

Pass the exact name to `execute_tool`, with an input like each tool's example. To ask for a tool that's missing, use the [request form](https://scalekitsupport.portal.usepylon.com/forms/request-a-connector-tool).

**Node.js**

```typescript
const result = await actions.executeTool({
  toolName: 'coingecko_get_coin',
  toolInput: {
    coin_id: '<coin_id>',
  },
  connector: 'coingecko',
  identifier: 'user_123',
})
```

**Python**

```python
result = actions.execute_tool(
    tool_name="coingecko_get_coin",
    tool_input={
        "coin_id": "<coin_id>",
    },
    connection_name="coingecko",
    identifier="user_123",
)
```

`result.data` is the app's response as JSON, and `result.execution_id` (`executionId` in Node.js) is the ID of the call.

### `coingecko_get_coin`

Get Coin · Read-only

Get the full profile of one coin by CoinGecko coin ID: metadata and live market data.
Returns name, symbol, description, links, image, categories, contract addresses per platform, genesis date, market_data (price, market cap and volume in every currency, ATH/ATL, supply, price changes) and up to 100 exchange tickers.
Use coingecko_get_coin for everything about one coin. Use coingecko_get_simple_price for price only, coingecko_get_coin_by_contract when you only have a contract address, and coingecko_get_coin_tickers for more than 100 tickers.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `coin_id` (`string`, required): CoinGecko coin API ID, for example bitcoin or ethereum. This is the id from coingecko_list_coins or coingecko_search, not the ticker symbol.
- `dex_pair_format` (`string`, optional): How DEX ticker pairs show base and target: contract_address (default) or symbol, for example WETH/USDC. One of: `contract_address`, `symbol`.
- `include_categories_details` (`boolean`, optional): Set to true to add category IDs and names in categories_details. Default false.
- `localization` (`boolean`, optional): Set to false to drop the localized names and descriptions in every language, which shrinks the response a lot. Default true.
- `market_data` (`boolean`, optional): Set to false to leave out market_data. Default true.
- `sparkline` (`boolean`, optional): Set to true to add 7-day sparkline price data. Default false.
- `tickers` (`boolean`, optional): Set to false to leave out exchange tickers. Default true.

Example input: `{"coin_id":"<coin_id>"}`

### `coingecko_get_coin_by_contract`

Get Coin by Contract · Read-only

Get the full profile of a token by its blockchain and contract address.
Returns the same coin profile as coingecko_get_coin: metadata, links, categories, contract addresses, market_data and up to 100 tickers.
Use coingecko_get_coin_by_contract when you only have a contract address. Use coingecko_get_coin when you have the coin ID, and coingecko_get_token_price for price only.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `asset_platform_id` (`string`, required): CoinGecko asset platform (blockchain) ID, for example ethereum, solana or binance-smart-chain. Valid IDs come from coingecko_list_asset_platforms.
- `contract_address` (`string`, required): The token's contract address on that platform, for example 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 (WETH on Ethereum).

Example input: `{"asset_platform_id":"<asset_platform_id>","contract_address":"<contract_address>"}`

### `coingecko_get_coin_history`

Get Coin History · Read-only

Get a snapshot of one coin's price, market cap and 24-hour volume on a past date, taken at 00:00 UTC.
Returns the coin's id, symbol, name, image and market_data with current_price, market_cap and total_volume in every currency for that date. Demo keys only reach the past 365 days.
Use coingecko_get_coin_history for a single past day. Use coingecko_get_coin_market_chart_range for a series over a period.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `coin_id` (`string`, required): CoinGecko coin API ID, for example bitcoin or ethereum. This is the id from coingecko_list_coins or coingecko_search, not the ticker symbol.
- `date` (`string`, required): The day to snapshot, in dd-mm-yyyy format, for example 30-12-2025. Must be within the past 365 days on Demo keys.
- `localization` (`boolean`, optional): Set to false to drop localized names in every language. Default true.

Example input: `{"coin_id":"<coin_id>","date":"<date>"}`

### `coingecko_get_coin_market_chart`

Get Coin Market Chart · Read-only

Get a coin's historical price, market cap and 24-hour volume for the last N days, by CoinGecko coin ID.
Returns arrays prices, market_caps and total_volumes of [UNIX ms, value] points. Granularity is automatic: 5-minutely for 1 day, hourly for 2-90 days, daily beyond, unless interval is set. Demo keys only reach the past 365 days.
Use coingecko_get_coin_market_chart for 'last N days'. Use coingecko_get_coin_market_chart_range for exact start and end dates, coingecko_get_coin_ohlc for candles, and coingecko_get_coin_history for a single day's snapshot.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `coin_id` (`string`, required): CoinGecko coin API ID, for example bitcoin or ethereum. This is the id from coingecko_list_coins or coingecko_search, not the ticker symbol.
- `days` (`string`, required): How many days back from now to return: any whole number such as 1, 30 or 365. Demo keys are limited to 365 days; max (full history) needs a paid plan.
- `vs_currency` (`string`, required): Currency to express prices and market data in, for example usd, eur or btc. Valid values come from coingecko_list_supported_vs_currencies.
- `interval` (`string`, optional): Force the data interval: daily (one point per day at 00:00 UTC) or hourly (only for ranges within 100 days). Omit for automatic granularity. One of: `hourly`, `daily`.
- `precision` (`string`, optional): Number of decimal places for price values, 0 to 18, or full for no rounding. Omit for CoinGecko's default rounding. One of: `full`, `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`, `16`, `17`, `18`.

Example input: `{"coin_id":"<coin_id>","days":"<days>","vs_currency":"<vs_currency>"}`

### `coingecko_get_coin_market_chart_range`

Get Coin Market Chart Range · Read-only

Get a coin's historical price, market cap and 24-hour volume between two dates, by CoinGecko coin ID.
Returns arrays prices, market_caps and total_volumes of [UNIX ms, value] points. Granularity is automatic (5-minutely within the last day, hourly up to 90 days, daily beyond) unless interval is set. Demo keys only reach the past 365 days.
Use coingecko_get_coin_market_chart_range for a fixed window. Use coingecko_get_coin_market_chart for 'last N days' and coingecko_get_contract_market_chart_range when you only have a contract address.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `coin_id` (`string`, required): CoinGecko coin API ID, for example bitcoin or ethereum. This is the id from coingecko_list_coins or coingecko_search, not the ticker symbol.
- `from` (`string`, required): Start of the range, as a UNIX timestamp in seconds (for example 1767225600) or an ISO date YYYY-MM-DD or YYYY-MM-DDTHH:MM (for example 2026-01-01). Must be within the past 365 days on Demo keys.
- `to` (`string`, required): End of the range, as a UNIX timestamp in seconds (for example 1769904000) or an ISO date YYYY-MM-DD or YYYY-MM-DDTHH:MM (for example 2026-02-01).
- `vs_currency` (`string`, required): Currency to express prices and market data in, for example usd, eur or btc. Valid values come from coingecko_list_supported_vs_currencies.
- `interval` (`string`, optional): Force the data interval: daily (one point per day at 00:00 UTC) or hourly (only for ranges within 100 days). Omit for automatic granularity. One of: `hourly`, `daily`.
- `precision` (`string`, optional): Number of decimal places for price values, 0 to 18, or full for no rounding. Omit for CoinGecko's default rounding. One of: `full`, `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`, `16`, `17`, `18`.

Example input: `{"coin_id":"<coin_id>","from":"<from>","to":"<to>","vs_currency":"<vs_currency>"}`

### `coingecko_get_coin_ohlc`

Get Coin OHLC · Read-only

Get open, high, low and close price candles for a coin over the last N days, by CoinGecko coin ID.
Returns an array of [UNIX ms close time, open, high, low, close]. Candle size is automatic: 30 minutes for 1-2 days, 4 hours for 7-30 days, 4 days beyond. Demo keys only reach the past 365 days.
Use coingecko_get_coin_ohlc for candlestick charts. Use coingecko_get_coin_market_chart for finer price points with market cap and volume.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `coin_id` (`string`, required): CoinGecko coin API ID, for example bitcoin or ethereum. This is the id from coingecko_list_coins or coingecko_search, not the ticker symbol.
- `days` (`string`, required): How many days back from now to return: 1, 7, 14, 30, 90, 180 or 365. One of: `1`, `7`, `14`, `30`, `90`, `180`, `365`.
- `vs_currency` (`string`, required): Currency to express prices and market data in, for example usd, eur or btc. Valid values come from coingecko_list_supported_vs_currencies.
- `precision` (`string`, optional): Number of decimal places for price values, 0 to 18, or full for no rounding. Omit for CoinGecko's default rounding. One of: `full`, `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`, `16`, `17`, `18`.

Example input: `{"coin_id":"<coin_id>","days":"1","vs_currency":"<vs_currency>"}`

### `coingecko_get_coin_tickers`

Get Coin Tickers · Read-only

List where a coin trades: its tickers on centralized and decentralized exchanges, 100 per page.
Returns the coin name and a tickers array with exchange, base, target, last price, volume, converted price and volume, spread, trust score, trade URL and optional 2% order-book depth.
Use coingecko_get_coin_tickers for one coin across exchanges. Use coingecko_get_exchange_tickers for every pair on one exchange.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `coin_id` (`string`, required): CoinGecko coin API ID, for example bitcoin or ethereum. This is the id from coingecko_list_coins or coingecko_search, not the ticker symbol.
- `depth` (`boolean`, optional): Set to true to add 2% order-book depth (cost_to_move_up_usd and cost_to_move_down_usd). Default false.
- `dex_pair_format` (`string`, optional): How DEX ticker pairs show base and target: contract_address (default) or symbol, for example WETH/USDC. One of: `contract_address`, `symbol`.
- `exchange_ids` (`string`, optional): Only return tickers on these exchanges, by CoinGecko exchange ID, for example binance.
- `include_exchange_logo` (`boolean`, optional): Set to true to add each exchange's logo URL. Default false.
- `order` (`string`, optional): Sort order. Default trust_score_desc. Volume sorts use converted volume. One of: `trust_score_desc`, `trust_score_asc`, `volume_desc`, `volume_asc`.
- `page` (`integer`, optional): Page number, starting at 1; each page holds 100 tickers.

Example input: `{"coin_id":"<coin_id>"}`

### `coingecko_get_contract_market_chart`

Get Contract Market Chart · Read-only

Get a token's historical price, market cap and 24-hour volume for the last N days, looked up by blockchain and contract address.
Returns arrays prices, market_caps and total_volumes of [UNIX ms, value] points, with the same automatic granularity as coingecko_get_coin_market_chart. Demo keys only reach the past 365 days.
Use coingecko_get_contract_market_chart when you only have a contract address. Use coingecko_get_coin_market_chart when you have the coin ID, and coingecko_get_contract_market_chart_range for exact dates.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `asset_platform_id` (`string`, required): CoinGecko asset platform (blockchain) ID, for example ethereum, solana or binance-smart-chain. Valid IDs come from coingecko_list_asset_platforms.
- `contract_address` (`string`, required): The token's contract address on that platform, for example 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 (USDC on Ethereum).
- `days` (`string`, required): How many days back from now to return: any whole number such as 1, 30 or 365. Demo keys are limited to 365 days.
- `vs_currency` (`string`, required): Currency to express prices and market data in, for example usd, eur or btc. Valid values come from coingecko_list_supported_vs_currencies.
- `interval` (`string`, optional): Force the data interval: daily (one point per day at 00:00 UTC) or hourly (only for ranges within 100 days). Omit for automatic granularity. One of: `hourly`, `daily`.
- `precision` (`string`, optional): Number of decimal places for price values, 0 to 18, or full for no rounding. Omit for CoinGecko's default rounding. One of: `full`, `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`, `16`, `17`, `18`.

Example input: `{"asset_platform_id":"<asset_platform_id>","contract_address":"<contract_address>","days":"<days>","vs_currency":"<vs_currency>"}`

### `coingecko_get_contract_market_chart_range`

Get Contract Market Chart Range · Read-only

Get a token's historical price, market cap and 24-hour volume between two dates, looked up by blockchain and contract address.
Returns arrays prices, market_caps and total_volumes of [UNIX ms, value] points with automatic granularity. Demo keys only reach the past 365 days.
Use coingecko_get_contract_market_chart_range for a fixed window by contract address. Use coingecko_get_coin_market_chart_range when you have the coin ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `asset_platform_id` (`string`, required): CoinGecko asset platform (blockchain) ID, for example ethereum, solana or binance-smart-chain. Valid IDs come from coingecko_list_asset_platforms.
- `contract_address` (`string`, required): The token's contract address on that platform, for example 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 (USDC on Ethereum).
- `from` (`string`, required): Start of the range, as a UNIX timestamp in seconds (for example 1767225600) or an ISO date YYYY-MM-DD or YYYY-MM-DDTHH:MM (for example 2026-01-01). Must be within the past 365 days on Demo keys.
- `to` (`string`, required): End of the range, as a UNIX timestamp in seconds (for example 1769904000) or an ISO date YYYY-MM-DD or YYYY-MM-DDTHH:MM (for example 2026-02-01).
- `vs_currency` (`string`, required): Currency to express prices and market data in, for example usd, eur or btc. Valid values come from coingecko_list_supported_vs_currencies.
- `precision` (`string`, optional): Number of decimal places for price values, 0 to 18, or full for no rounding. Omit for CoinGecko's default rounding. One of: `full`, `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`, `16`, `17`, `18`.

Example input: `{"asset_platform_id":"<asset_platform_id>","contract_address":"<contract_address>","from":"<from>","to":"<to>","vs_currency":"<vs_currency>"}`

### `coingecko_get_derivatives_exchange`

Get Derivatives Exchange · Read-only

Get one derivatives exchange's details by CoinGecko derivatives exchange ID, optionally with its tickers.
Returns name, open interest and 24-hour volume in BTC, number of perpetual and futures pairs, year established, country, description and URL, plus tickers when include_tickers is set.
Use coingecko_get_derivatives_exchange for derivatives venues such as binance_futures. Use coingecko_get_exchange for spot exchanges.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `exchange_id` (`string`, required): CoinGecko derivatives exchange ID, for example binance_futures or bybit. Find IDs with coingecko_list_derivatives_exchanges.
- `include_tickers` (`string`, optional): Add tickers: all for every contract, or unexpired for contracts that have not expired. Omit to leave tickers out. One of: `all`, `unexpired`.

Example input: `{"exchange_id":"<exchange_id>"}`

### `coingecko_get_exchange`

Get Exchange · Read-only

Get one spot exchange's details by CoinGecko exchange ID.
Returns name, year established, country, description, URLs and social links, trust score and rank, 24-hour volume in BTC and the top 100 tickers.
Use coingecko_get_exchange for an exchange profile. Use coingecko_get_exchange_tickers for all of its trading pairs, and coingecko_get_derivatives_exchange for derivatives venues such as binance_futures.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `exchange_id` (`string`, required): CoinGecko exchange ID, for example binance or gdax. Valid IDs come from coingecko_list_exchange_ids.
- `dex_pair_format` (`string`, optional): How DEX ticker pairs show base and target: contract_address (default) or symbol, for example WETH/USDC. One of: `contract_address`, `symbol`.

Example input: `{"exchange_id":"<exchange_id>"}`

### `coingecko_get_exchange_rates`

Get Exchange Rates · Read-only

Get BTC exchange rates against fiat currencies, crypto and commodities.
Returns a rates object keyed by currency code, each with name, unit, value (units per 1 BTC) and type (fiat, crypto or commodity).
Use coingecko_get_exchange_rates to convert BTC-denominated figures, such as exchange volumes, into other currencies.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `coingecko_get_exchange_tickers`

Get Exchange Tickers · Read-only

List the trading pairs (tickers) on one exchange, 100 per page, optionally only for given coins.
Returns the exchange name and a tickers array with base, target, last price, volume, converted price and volume, bid-ask spread, trust score, trade URL and optional 2% order-book depth.
Use coingecko_get_exchange_tickers to see what trades on an exchange. Use coingecko_get_coin_tickers to see where one coin trades across exchanges.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `exchange_id` (`string`, required): CoinGecko exchange ID, for example binance. Valid IDs come from coingecko_list_exchange_ids.
- `coin_ids` (`string`, optional): Only return tickers for these CoinGecko coin IDs, comma-separated, for example bitcoin,ethereum.
- `depth` (`boolean`, optional): Set to true to add 2% order-book depth (cost_to_move_up_usd and cost_to_move_down_usd). Default false.
- `dex_pair_format` (`string`, optional): How DEX ticker pairs show base and target: contract_address (default) or symbol, for example WETH/USDC. One of: `contract_address`, `symbol`.
- `include_exchange_logo` (`boolean`, optional): Set to true to add the exchange logo URL. Default false.
- `order` (`string`, optional): Sort order. Default trust_score_desc. Use base_target for stable pagination across pages. One of: `market_cap_asc`, `market_cap_desc`, `trust_score_desc`, `trust_score_asc`, `volume_desc`, `volume_asc`, `base_target`.
- `page` (`integer`, optional): Page number, starting at 1; each page holds 100 tickers.

Example input: `{"exchange_id":"<exchange_id>"}`

### `coingecko_get_exchange_volume_chart`

Get Exchange Volume Chart · Read-only

Get an exchange's historical trading volume, in BTC, for the last N days.
Returns an array of [UNIX ms, volume in BTC] points.
Use coingecko_get_exchange_volume_chart to track an exchange's activity over time. Use coingecko_get_exchange for its current 24-hour volume.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `days` (`string`, required): How many days back from now to return: 1, 7, 14, 30, 90, 180 or 365. One of: `1`, `7`, `14`, `30`, `90`, `180`, `365`.
- `exchange_id` (`string`, required): CoinGecko exchange ID or derivatives exchange ID, for example binance or binance_futures.

Example input: `{"days":"1","exchange_id":"<exchange_id>"}`

### `coingecko_get_global`

Get Global Market Data · Read-only

Get global cryptocurrency market statistics.
Returns the number of active coins and markets, total market cap and 24-hour volume in every currency, market cap dominance by coin (for example btc and eth percentages), the 24-hour market cap change and the update time.
Use coingecko_get_global for whole-market figures. Use coingecko_get_global_defi for DeFi-only figures and coingecko_list_categories for per-sector figures.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `coingecko_get_global_defi`

Get Global DeFi Data · Read-only

Get global decentralized finance (DeFi) market statistics, based on the top 100 DeFi coins.
Returns DeFi market cap, ETH market cap, the DeFi-to-ETH ratio, 24-hour trading volume, DeFi dominance, and the top DeFi coin with its dominance.
Use coingecko_get_global_defi for DeFi-only figures. Use coingecko_get_global for the whole crypto market.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `coingecko_get_nft`

Get NFT Collection · Read-only

Get one NFT collection's data by CoinGecko NFT ID.
Returns name, symbol, asset platform, contract address, description, links, floor price, market cap and 24-hour volume (native and USD) with their 24-hour changes, owners, total supply, and floor-price changes over several periods.
Use coingecko_get_nft when you have the collection ID. Use coingecko_get_nft_by_contract when you only have the contract address, and coingecko_list_nfts to find IDs.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `nft_id` (`string`, required): CoinGecko NFT collection ID, for example pudgy-penguins. Valid IDs come from coingecko_list_nfts.

Example input: `{"nft_id":"<nft_id>"}`

### `coingecko_get_nft_by_contract`

Get NFT Collection by Contract · Read-only

Get one NFT collection's data by its blockchain and contract address.
Returns the same collection data as coingecko_get_nft: floor price, market cap, 24-hour volume and their changes, owners, supply and links.
Use coingecko_get_nft_by_contract when you only have the contract address. Use coingecko_get_nft when you have the CoinGecko NFT ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `asset_platform_id` (`string`, required): CoinGecko asset platform (blockchain) ID, for example ethereum, solana or binance-smart-chain. Valid IDs come from coingecko_list_asset_platforms. Use coingecko_list_asset_platforms with filter=nft to see platforms that have NFTs.
- `contract_address` (`string`, required): The NFT collection's contract address on that platform, for example 0xBd3531dA5CF5857e7CfAA92426877b022e612cf8 (Pudgy Penguins).

Example input: `{"asset_platform_id":"<asset_platform_id>","contract_address":"<contract_address>"}`

### `coingecko_get_onchain_token_price`

Get Onchain Token Price · Read-only

Get the current USD price of tokens on one network from GeckoTerminal DEX pools, by contract address.
Returns a JSON:API object whose token_prices map each contract address to a USD price, plus market cap, 24-hour volume, 24-hour price change and total reserve when asked. Addresses GeckoTerminal does not know are left out.
Use coingecko_get_onchain_token_price for DEX-traded tokens, including ones CoinGecko does not list. Use coingecko_get_token_price for CoinGecko's aggregated price in any currency.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `addresses` (`string`, required): Token contract addresses on that network, comma-separated, up to 30 on Demo keys.
- `network` (`string`, required): GeckoTerminal network ID, for example eth, solana or base. Valid IDs come from coingecko_list_onchain_networks.
- `include_24hr_price_change` (`boolean`, optional): Set to true to add the 24-hour price change percentage. Default false.
- `include_24hr_vol` (`boolean`, optional): Set to true to add 24-hour volume. Default false.
- `include_inactive_source` (`boolean`, optional): Set to true to fall back to recently active pools (up to 1 year) when no top pool is found. Default false.
- `include_market_cap` (`boolean`, optional): Set to true to add market cap (null for unverified tokens unless mcap_fdv_fallback is true). Default false.
- `include_total_reserve_in_usd` (`boolean`, optional): Set to true to add total liquidity reserve in USD. Default false.
- `mcap_fdv_fallback` (`boolean`, optional): Set to true to return fully diluted valuation when market cap is unavailable. Default false.

Example input: `{"addresses":"<addresses>","network":"<network>"}`

### `coingecko_get_public_treasury`

Get Public Treasury Holdings · Read-only

List public companies or governments that hold a coin in their treasury, largest holdings first.
Returns the total holdings and total value in USD, the share of the coin's supply held (market_cap_dominance), and a companies or governments array with name, symbol, country, total_holdings, total entry value in USD, current value in USD and percentage of supply.
Use coingecko_get_public_treasury for corporate or government holdings of bitcoin, ethereum or another supported coin.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `coin_id` (`string`, required): CoinGecko coin ID of the treasury asset, for example bitcoin, ethereum, solana or binancecoin.
- `entity` (`string`, required): Whose holdings to list: companies (public companies) or governments. One of: `companies`, `governments`.
- `order` (`string`, optional): Sort order. Default total_holdings_usd_desc. One of: `total_holdings_usd_desc`, `total_holdings_usd_asc`.
- `page` (`integer`, optional): Page number to return, starting at 1. Omit for page 1.
- `per_page` (`integer`, optional): Number of results per page, 1 to 250. Omit for CoinGecko's default of 250.

Example input: `{"coin_id":"<coin_id>","entity":"companies"}`

### `coingecko_get_simple_price`

Get Simple Price · Read-only

Get the current price of one or more coins in one or more currencies, looked up by CoinGecko coin ID, name or symbol.
Returns an object keyed by coin ID with a price per requested currency, plus market cap, 24-hour volume, 24-hour change and last-updated time when asked. With include_tokens=all the object is keyed by symbol instead, each holding an array of matching coins with their id, name and prices.
Use coingecko_get_simple_price for quick price checks. Use coingecko_get_token_price to look up tokens by contract address, and coingecko_list_coins_markets for ranked lists with full market data.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `vs_currencies` (`string`, required): Currencies to price the coins in, comma-separated, for example usd or usd,eur,btc. Valid values come from coingecko_list_supported_vs_currencies.
- `ids` (`string`, optional): CoinGecko coin IDs, comma-separated, for example bitcoin,ethereum (up to 515). Provide ids, names or symbols; if several are given, ids wins, then names, then symbols.
- `include_24hr_change` (`boolean`, optional): Set to true to add the 24-hour price change percentage for each currency (null when the price is stale). Default false.
- `include_24hr_vol` (`boolean`, optional): Set to true to add 24-hour trading volume for each currency. Default false.
- `include_last_updated_at` (`boolean`, optional): Set to true to add last_updated_at, the UNIX time of the latest price. Default false.
- `include_market_cap` (`boolean`, optional): Set to true to add market capitalization for each currency. Default false.
- `include_tokens` (`string`, optional): For lookups by symbols only: top (default) returns the top-ranked coin per symbol; all returns every coin sharing the symbol (up to 50 symbols). Send all only with symbols and with ids and names left empty; otherwise CoinGecko rejects the request with 400. One of: `top`, `all`.
- `names` (`string`, optional): Coin names, comma-separated, for example Bitcoin,Ethereum. Used when ids is empty.
- `precision` (`string`, optional): Number of decimal places for price values, 0 to 18, or full for no rounding. Omit for CoinGecko's default rounding. One of: `full`, `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`, `16`, `17`, `18`.
- `symbols` (`string`, optional): Ticker symbols, comma-separated, for example btc,eth. Used when ids and names are empty. Symbols are ambiguous: by default only the top-ranked coin per symbol is returned (see include_tokens).

Example input: `{"vs_currencies":"<vs_currencies>"}`

### `coingecko_get_token_price`

Get Token Price by Contract · Read-only

Get the current price of one or more tokens on a blockchain, looked up by contract address.
Returns an object keyed by contract address with a price per requested currency, plus market cap, 24-hour volume, 24-hour change and last-updated time when asked. The price is CoinGecko's global average across exchanges.
Use coingecko_get_token_price when you have a contract address. Use coingecko_get_simple_price for coin IDs or symbols, and coingecko_get_onchain_token_price for a DEX-pool price of a token CoinGecko does not list.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `asset_platform_id` (`string`, required): CoinGecko asset platform (blockchain) ID, for example ethereum, solana or binance-smart-chain. Valid IDs come from coingecko_list_asset_platforms.
- `contract_addresses` (`string`, required): Token contract addresses on that platform, comma-separated (up to 515), for example 0x2260fac5e5542a773aa44fbcfedf7c193bc2c599.
- `vs_currencies` (`string`, required): Currencies to price the tokens in, comma-separated, for example usd or usd,eth. Valid values come from coingecko_list_supported_vs_currencies.
- `include_24hr_change` (`boolean`, optional): Set to true to add the 24-hour price change percentage for each currency. Default false.
- `include_24hr_vol` (`boolean`, optional): Set to true to add 24-hour trading volume for each currency. Default false.
- `include_last_updated_at` (`boolean`, optional): Set to true to add last_updated_at, the UNIX time of the latest price. Default false.
- `include_market_cap` (`boolean`, optional): Set to true to add market capitalization for each currency. Default false.
- `precision` (`string`, optional): Number of decimal places for price values, 0 to 18, or full for no rounding. Omit for CoinGecko's default rounding. One of: `full`, `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`, `16`, `17`, `18`.

Example input: `{"asset_platform_id":"<asset_platform_id>","contract_addresses":"<contract_addresses>","vs_currencies":"<vs_currencies>"}`

### `coingecko_get_trending`

Get Trending · Read-only

Get what is trending on CoinGecko in the last 24 hours.
Returns the top 15 trending coins by search popularity (with price and market data), the top 7 trending NFT collections by floor-price change, and the top 5 trending categories.
Use coingecko_get_trending for what people are watching now. Use coingecko_list_coins_markets for rankings by market cap or volume.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `coingecko_list_asset_platforms`

List Asset Platforms · Read-only

List the blockchains (asset platforms) CoinGecko supports.
Returns an array of platforms with id, chain_identifier (EVM chain ID), name, shortname, native_coin_id and image.
Use coingecko_list_asset_platforms to find asset_platform_id values for the token-price, contract and NFT-contract tools.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `filter` (`string`, optional): Set to nft to return only platforms that have NFT collections on CoinGecko. One of: `nft`.

Example input: `{}`

### `coingecko_list_categories`

List Categories · Read-only

List coin categories (sectors such as Layer 1, DeFi or Meme) with their market data.
Returns an array of categories with id, name, market_cap, 24-hour market cap change, 24-hour volume, top 3 coin images and the update time.
Use coingecko_list_categories to compare sectors. Use coingecko_list_category_ids for the plain ID list and coingecko_list_coins_markets with category to list the coins in one category.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `order` (`string`, optional): Sort order. Default market_cap_desc. One of: `market_cap_desc`, `market_cap_asc`, `name_desc`, `name_asc`, `market_cap_change_24h_desc`, `market_cap_change_24h_asc`.

Example input: `{}`

### `coingecko_list_category_ids`

List Category IDs · Read-only

List every coin category's CoinGecko ID and name, without market data.
Returns an array of {category_id, name}.
Use coingecko_list_category_ids to find the category value for coingecko_list_coins_markets. Use coingecko_list_categories for categories with market cap and volume.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `coingecko_list_coins`

List Coins · Read-only

List every coin CoinGecko tracks, with its API ID, symbol and name, in one unpaginated response.
Returns an array of {id, symbol, name}, plus each coin's contract address per blockchain when include_platform is true. The full list has tens of thousands of entries.
Use coingecko_list_coins to resolve coin IDs for other tools. Use coingecko_search to find a coin by name, and coingecko_list_coins_markets for prices and rankings.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `include_platform` (`boolean`, optional): Set to true to add a platforms object mapping each asset platform ID to the coin's contract address. Default false.
- `status` (`string`, optional): active (default) for listed coins, or inactive for delisted coins. inactive needs an Analyst plan or above, so it fails on Demo keys. One of: `active`, `inactive`.

Example input: `{}`

### `coingecko_list_coins_markets`

List Coins Markets · Read-only

List coins ranked by market cap (or another order) with live market data, optionally limited to given coins or a category.
Returns an array of coins with id, symbol, name, image, current_price, market_cap, market_cap_rank, total_volume, 24-hour high, low and change, supply figures, all-time high and low, and optional sparkline and multi-timeframe price changes.
Use coingecko_list_coins_markets for top-N lists, screeners and category views. Use coingecko_get_simple_price for a quick price only, and coingecko_get_coin for one coin's full profile.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `vs_currency` (`string`, required): Currency to express prices and market data in, for example usd, eur or btc. Valid values come from coingecko_list_supported_vs_currencies.
- `category` (`string`, optional): Category ID to limit results to, for example layer-1 or decentralized-finance-defi. Valid IDs come from coingecko_list_category_ids.
- `ids` (`string`, optional): CoinGecko coin IDs, comma-separated, to limit results to those coins (up to 250), for example bitcoin,ethereum. Priority when several filters are set: category, then ids, then names, then symbols.
- `include_rehypothecated` (`boolean`, optional): Set to true to include rehypothecated tokens in the ranking and add market_cap_rank_with_rehypothecated. Default false.
- `include_tokens` (`string`, optional): For lookups by symbols only: top (default) returns the top-ranked coin per symbol; all returns every coin sharing the symbol (up to 50 symbols). Send all only together with symbols. One of: `top`, `all`.
- `locale` (`string`, optional): Language for localized names. Default en. One of: `ar`, `bg`, `cs`, `da`, `de`, `el`, `en`, `es`, `fi`, `fr`, `he`, `hi`, `hr`, `hu`, `id`, `it`, `ja`, `ko`, `lt`, `nl`, `no`, `pl`, `pt`, `ro`, `ru`, `sk`, `sl`, `sv`, `th`, `tr`, `uk`, `vi`, `zh`, `zh-tw`.
- `names` (`string`, optional): Coin names, comma-separated, for example Bitcoin,Ethereum.
- `order` (`string`, optional): Sort order. Default market_cap_desc. One of: `market_cap_asc`, `market_cap_desc`, `volume_asc`, `volume_desc`, `id_asc`, `id_desc`.
- `page` (`integer`, optional): Page number to return, starting at 1. Omit for page 1.
- `per_page` (`integer`, optional): Number of results per page, 1 to 250. Omit for CoinGecko's default of 100.
- `precision` (`string`, optional): Number of decimal places for price values, 0 to 18, or full for no rounding. Omit for CoinGecko's default rounding. One of: `full`, `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`, `16`, `17`, `18`.
- `price_change_percentage` (`string`, optional): Extra price-change timeframes to include, comma-separated, from 1h, 24h, 7d, 14d, 30d, 200d and 1y, for example 1h,7d.
- `sparkline` (`boolean`, optional): Set to true to add 7-day sparkline price data for each coin. Default false.
- `symbols` (`string`, optional): Ticker symbols, comma-separated, for example btc,eth. By default only the top-ranked coin per symbol is returned (see include_tokens).

Example input: `{"vs_currency":"<vs_currency>"}`

### `coingecko_list_derivatives`

List Derivatives Tickers · Read-only

List tickers from derivatives exchanges: perpetuals and futures contracts.
Returns an array of contracts with market, symbol, index_id, price, 24-hour price change, contract type, index price, basis, spread, funding rate, open interest, 24-hour volume and expiry.
Use coingecko_list_derivatives to compare funding rates and open interest across venues. Use coingecko_list_derivatives_exchanges for venue-level totals.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `coingecko_list_derivatives_exchanges`

List Derivatives Exchanges · Read-only

List derivatives exchanges with their open interest and volume, one page at a time.
Returns an array of exchanges with id, name, open_interest_btc, trade_volume_24h_btc, number of perpetual and futures pairs, year established, country, URL and image.
Use coingecko_list_derivatives_exchanges to rank derivatives venues. Use coingecko_get_derivatives_exchange for one venue's details and tickers.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `order` (`string`, optional): Sort order. Default open_interest_btc_desc. One of: `name_asc`, `name_desc`, `open_interest_btc_asc`, `open_interest_btc_desc`, `trade_volume_24h_btc_asc`, `trade_volume_24h_btc_desc`.
- `page` (`integer`, optional): Page number to return, starting at 1. Omit for page 1.
- `per_page` (`integer`, optional): Number of results per page. Omit for CoinGecko's default.

Example input: `{}`

### `coingecko_list_exchange_ids`

List Exchange IDs · Read-only

List every exchange's CoinGecko ID and name in one unpaginated response.
Returns an array of {id, name}.
Use coingecko_list_exchange_ids to resolve exchange IDs for other tools. Use coingecko_list_exchanges for volume, trust score and ranking.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `status` (`string`, optional): active (default) for exchanges still listed, or inactive for delisted ones. One of: `active`, `inactive`.

Example input: `{}`

### `coingecko_list_exchanges`

List Exchanges · Read-only

List spot exchanges that have active trading volume on CoinGecko, with exchange data, one page at a time.
Returns an array of exchanges with id, name, year established, country, URL, image, trust score and rank, and 24-hour trading volume in BTC.
Use coingecko_list_exchanges to rank or browse exchanges. Use coingecko_list_exchange_ids for every exchange ID in one call, and coingecko_get_exchange for one exchange's details.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `page` (`integer`, optional): Page number to return, starting at 1. Omit for page 1.
- `per_page` (`integer`, optional): Number of results per page, 1 to 250. Omit for CoinGecko's default of 100.

Example input: `{}`

### `coingecko_list_nfts`

List NFTs · Read-only

List the NFT collections CoinGecko tracks, 100 per page by default, optionally sorted by volume, floor price or market cap.
Returns an array of collections with id, contract_address, name, asset_platform_id and symbol.
Use coingecko_list_nfts to find NFT collection IDs. Use coingecko_get_nft for a collection's floor price, volume and market data.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `order` (`string`, optional): Sort order, for example market_cap_usd_desc or h24_volume_usd_desc. Omit for CoinGecko's default order. One of: `h24_volume_usd_asc`, `h24_volume_usd_desc`, `h24_volume_native_asc`, `h24_volume_native_desc`, `floor_price_native_asc`, `floor_price_native_desc`, `market_cap_native_asc`, `market_cap_native_desc`, `market_cap_usd_asc`, `market_cap_usd_desc`.
- `page` (`integer`, optional): Page number to return, starting at 1. Omit for page 1.
- `per_page` (`integer`, optional): Number of results per page, 1 to 250. Omit for CoinGecko's default of 100.

Example input: `{}`

### `coingecko_list_onchain_networks`

List Onchain Networks · Read-only

List the blockchain networks GeckoTerminal supports, one page at a time.
Returns a JSON:API data array of networks with id (for example eth or solana), name and coingecko_asset_platform_id.
Use coingecko_list_onchain_networks to find network values for coingecko_search_onchain_pools and coingecko_get_onchain_token_price. Use coingecko_list_asset_platforms for the IDs the non-onchain tools use.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `page` (`integer`, optional): Page number to return, starting at 1. Omit for page 1.

Example input: `{}`

### `coingecko_list_supported_vs_currencies`

List Supported VS Currencies · Read-only

List every currency CoinGecko can quote prices in, including fiat currencies, crypto such as btc and eth, and commodities.
Returns an array of lowercase currency codes, for example usd, eur, btc.
Use this to find valid vs_currency and vs_currencies values for the price, market and chart tools.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `coingecko_ping`

Ping · Read-only

Check that the CoinGecko API is reachable and the connection's API key is accepted.
Returns a short status message (gecko_says).
Use this to test the connection before other calls; it returns no market data.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `coingecko_search`

Search · Read-only

Search CoinGecko for coins, exchanges, categories and NFT collections by name or symbol.
Returns separate coins, exchanges, categories and nfts arrays with IDs, names, symbols, market cap rank and thumbnails, best matches first.
Use coingecko_search to turn a name like 'solana' into the coin ID other tools need. Use coingecko_list_coins for the complete ID list and coingecko_search_onchain_pools for DEX pools and on-chain tokens.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `query` (`string`, required): Text to search for: a coin, exchange, category or NFT name or symbol, for example solana or btc.

Example input: `{"query":"<query>"}`

### `coingecko_search_onchain_pools`

Search Onchain Pools · Read-only

Search GeckoTerminal DEX pools across all networks by pool address, token name, token symbol or token contract address, 20 pools per page.
Returns a JSON:API data array of pools with name, address, base and quote token prices in USD, FDV, market cap, reserve, price changes, transactions and volume, plus related tokens and DEX under included when include is set.
Use coingecko_search_onchain_pools for on-chain and long-tail tokens. Use coingecko_search for coins and exchanges listed on CoinGecko.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `include` (`string`, optional): Related objects to add under included, comma-separated, from base_token, quote_token and dex.
- `network` (`string`, optional): Only search pools on this GeckoTerminal network ID, for example eth, solana or base. Valid IDs come from coingecko_list_onchain_networks.
- `page` (`integer`, optional): Page number, starting at 1. Demo keys can page up to 10.
- `query` (`string`, optional): Pool contract address, token name, token symbol or token contract address, for example weth.

Example input: `{}`

## Related

Other Accounting & Finance connectors ([all 45](/agentkit/connectors/?category=accounting-finance)):

- [QuickBooks](/agentkit/connectors/quickbooks/): Scalekit connector, OAuth, 117 tools
- [Xero](/agentkit/connectors/xero/): Scalekit connector, OAuth, 94 tools
- [Stripe](/agentkit/connectors/stripe/): Scalekit connector, Access token, 178 tools


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
