CoinGecko Pro MCP server for AI agents

Live

API KEY

CRYPTO MARKET DATA

Accounting & Finance

CoinGecko Pro gives your agent read access to paid-plan crypto data: price and supply history, top gainers and losers, NFT and tokenized real-world asset markets, crypto news, and on-chain pools, holders, traders, and wallet PnL.

  • Per-user credentials: each call uses the actual user's API key, never a shared bot.
  • Encrypted per-tenant vault: AES-256, resolved at request time, never in LLM context.
  • Scoped before every call: pre-call scope check, 90-day SIEM-exportable audit chain.
CoinGecko Pro
agent · Acme Q3
Run
Which coins gained and lost the most in the last 24 hours?
S
coingeckopro_get_top_gainers_losers
104ms
Crypto research agent
Render leads the 24-hour gainers at +18.2%, followed by Fetch.ai at +14.7%. The largest loser fell 11.3%.
Sources: CoinGecko Pro gainers and losers, 60 coins
coingeckopro
60 coins
18:29
Message Claude...

Tools your crypto research agent reaches for on CoinGecko Pro, scoped per user.

CALL ANY TOOL
74 tools for crypto market data on CoinGecko Pro: price and supply history, top gainers and losers, NFT and real-world asset markets, crypto news, and on-chain pools, trades, holders, and wallet PnL.
coingeckopro_filter_onchain_pools
Filter onchain pools
Screen GeckoTerminal DEX pools across networks by liquidity, FDV, volume, pool age, transaction counts, price change, token taxes, holders and safety checks, 20 pools per page. Returns a JSON:API data array of pools with name, address, token prices in USD, FDV, market cap, reserve, price changes, transactions and volume, plus related tokens, DEX and network under included when include is set. Needs an Analyst plan or above (Analyst, Lite, Pro or Enterprise); Basic-plan keys are refused. Use coingeckopro_filter_onchain_pools to find pools that match numeric criteria. Use coingeckopro_search_onchain_pools to look up pools by name or address and coingeckopro_list_onchain_trending_search_pools for the most searched pools.
Parameters
Name
Type
Required
Description
buy_tax_percentage_max
number
Optional
Maximum token buy tax percentage, for example 5.
buy_tax_percentage_min
number
Optional
Minimum token buy tax percentage, for example 0.
buys_duration
string
Optional
Window the buys filter counts over: 5m, 1h, 6h or 24h (default). One of: `5m`, `1h`, `6h`, `24h`.
buys_max
integer
Optional
Maximum number of buys in the buys_duration window, for example 50000.
buys_min
integer
Optional
Minimum number of buys in the buys_duration window, for example 50.
checks
string
Optional
Safety and quality checks pools must pass, comma-separated, from no_honeypot (not supported on Solana), good_gt_score (GT Score 75 or more), on_coingecko and has_social.
dexes
string
Optional
Only pools on these DEX IDs, comma-separated, for example uniswap_v3. Works only when networks names a single network.
fdv_usd_max
number
Optional
Maximum fully diluted valuation in USD, for example 500000000.
fdv_usd_min
number
Optional
Minimum fully diluted valuation in USD, for example 1000000.
h24_volume_usd_max
number
Optional
Maximum 24-hour volume in USD, for example 50000000.
h24_volume_usd_min
number
Optional
Minimum 24-hour volume in USD, for example 100000.
holder_count_max
integer
Optional
Maximum number of token holders, for example 100000.
holder_count_min
integer
Optional
Minimum number of token holders, for example 500.
include
string
Optional
Related objects to add under included, comma-separated, from base_token, quote_token, dex and network.
include_unknown_honeypot_tokens
boolean
Optional
With checks=no_honeypot, set to true to also keep tokens whose honeypot status is unknown. Default false.
networks
string
Optional
Only pools on these GeckoTerminal network IDs, comma-separated, for example eth,base. Valid IDs come from coingeckopro_list_onchain_networks.
page
integer
Optional
Page number to return, starting at 1. Omit for page 1.
pool_created_hour_max
number
Optional
Maximum pool age in hours, for example 72.
pool_created_hour_min
number
Optional
Minimum pool age in hours, for example 1.
price_change_percentage_duration
string
Optional
Window the price change filter uses: 5m, 1h, 6h or 24h (default). One of: `5m`, `1h`, `6h`, `24h`.
price_change_percentage_max
number
Optional
Maximum price change percentage over price_change_percentage_duration, for example 200.
price_change_percentage_min
number
Optional
Minimum price change percentage over price_change_percentage_duration, for example -10.
quote_token_addresses
string
Optional
Only pools whose quote token is one of these contract addresses, comma-separated, up to 50.
quote_token_preset
string
Optional
Only pools whose quote token is in a preset group: rwa_stock for tokenized stocks. One of: `rwa_stock`.
reserve_in_usd_max
number
Optional
Maximum pool liquidity reserve in USD, for example 10000000.
reserve_in_usd_min
number
Optional
Minimum pool liquidity reserve in USD, for example 50000.
sell_tax_percentage_max
number
Optional
Maximum token sell tax percentage, for example 5.
sell_tax_percentage_min
number
Optional
Minimum token sell tax percentage, for example 0.
sells_duration
string
Optional
Window the sells filter counts over: 5m, 1h, 6h or 24h (default). One of: `5m`, `1h`, `6h`, `24h`.
sells_max
integer
Optional
Maximum number of sells in the sells_duration window, for example 50000.
sells_min
integer
Optional
Minimum number of sells in the sells_duration window, for example 50.
sort
string
Optional
Sort order. Default h6_trending. One of: `m5_trending`, `h1_trending`, `h6_trending`, `h24_trending`, `h24_tx_count_desc`, `h24_tx_count_asc`, `h24_volume_usd_desc`, `h24_volume_usd_asc`, `m5_price_change_percentage_asc`, `h1_price_change_percentage_asc`, `h6_price_change_percentage_asc`, `h24_price_change_percentage_asc`, `m5_price_change_percentage_desc`, `h1_price_change_percentage_desc`, `h6_price_change_percentage_desc`, `h24_price_change_percentage_desc`, `fdv_usd_asc`, `fdv_usd_desc`, `reserve_in_usd_asc`, `reserve_in_usd_desc`, `price_asc`, `price_desc`, `pool_created_at_desc`.
top_10_holders_percentage_max
number
Optional
Maximum share of supply held by the top 10 holders, in percent, for example 40.
top_10_holders_percentage_min
number
Optional
Minimum share of supply held by the top 10 holders, in percent, for example 5.
tx_count_duration
string
Optional
Window the transactions filter counts over: 5m, 1h, 6h or 24h (default). One of: `5m`, `1h`, `6h`, `24h`.
tx_count_max
integer
Optional
Maximum number of transactions in the tx_count_duration window, for example 100000.
tx_count_min
integer
Optional
Minimum number of transactions in the tx_count_duration window, for example 100.
coingeckopro_get_api_usage
Get api usage
coingeckopro_get_coin_by_contract
Get coin by contract
coingeckopro_get_coin_market_chart_range
Get coin market chart range
coingeckopro_get_coin_ohlc_range
Get coin ohlc range
coingeckopro_get_coin_supply_chart_range
Get coin supply chart range
coingeckopro_get_contract_market_chart
Get contract market chart
coingeckopro_get_exchange
Get exchange
coingeckopro_get_exchange_tickers
Get exchange tickers
coingeckopro_get_global
Get global
coingeckopro_get_global_market_cap_chart
Get global market cap chart
coingeckopro_get_nft_market_chart
Get nft market chart
coingeckopro_get_nft_tickers
Get nft tickers
coingeckopro_get_onchain_pool_trades_range
Get onchain pool trades range
coingeckopro_get_onchain_token_price
Get onchain token price
coingeckopro_get_onchain_token_trades_range
Get onchain token trades range
coingeckopro_get_onchain_top_holders
Get onchain top holders
coingeckopro_get_onchain_wallet_pnl
Get onchain wallet pnl
coingeckopro_get_onchain_wallet_transfers
Get onchain wallet transfers
coingeckopro_get_rwa_tickers
Get rwa tickers
coingeckopro_get_token_price
Get token price
coingeckopro_list_asset_platforms
List asset platforms
coingeckopro_list_category_ids
List category ids
coingeckopro_list_derivatives
List derivatives
coingeckopro_list_exchange_ids
List exchange ids
coingeckopro_list_new_coins
List new coins
coingeckopro_list_nfts
List nfts
coingeckopro_list_onchain_category_pools
List onchain category pools
coingeckopro_list_onchain_trending_search_pools
List onchain trending search pools
coingeckopro_search
Search

For more tools, view docs.

Build your Agent
Same auth pattern across LangChain, OpenAI, Anthropic, and Google ADK.
Python · LlamaIndex
import { ScalekitClient } from "@scalekit-sdk/node";
import { createReactAgent } from "@langchain/langgraph/prebuilt";

const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);

// CoinGecko Pro tools scoped to this user
const { tools } = await sk.tools.listScopedTools("user_123", {
  filter: { connectionNames: ["coingeckopro"], toolNames: [
    "coingeckopro_get_top_gainers_losers",
    "coingeckopro_get_onchain_top_holders",
    "coingeckopro_list_news"] },
  pageSize: 100,
});

const agent = createReactAgent({ llm, tools });
await agent.invoke({ messages: [{ role: "user", content: "Find today's top gainer, its largest on-chain holders, and the latest news about it" }] });
import OpenAI from "openai";
import { ScalekitClient } from "@scalekit-sdk/node";

const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
const openai = new OpenAI();

const { tools } = await sk.tools.listScopedTools("user_123", {
  filter: { connectionNames: ["coingeckopro"] }, pageSize: 100,
});

const res = await openai.chat.completions.create({
  model: "gpt-5",
  messages: [{ role: "user", content: "Find today's top gainer, its largest on-chain holders, and the latest news about it" }],
  tools,
});

// Execute the tool call with the user's vaulted CoinGecko Pro API key
await sk.tools.executeTool(res.choices[0].message.tool_calls[0], "user_123");
import Anthropic from "@anthropic-ai/sdk";
import { ScalekitClient } from "@scalekit-sdk/node";

const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
const anthropic = new Anthropic();

const { tools } = await sk.tools.listScopedTools("user_123", {
  filter: { connectionNames: ["coingeckopro"] }, pageSize: 100,
});

const msg = await anthropic.messages.create({
  model: "claude-sonnet-5",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Find today's top gainer, its largest on-chain holders, and the latest news about it" }],
  tools,
});

// Tool call runs with the user's vaulted CoinGecko Pro API key
await sk.tools.executeTool(msg.content, "user_123");
import { Agent } from "@google/adk/agents";
import { ScalekitClient } from "@scalekit-sdk/node";

const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);

const { tools } = await sk.tools.listScopedTools("user_123", {
  filter: { connectionNames: ["coingeckopro"] }, pageSize: 100,
});

const agent = new Agent({
  name: "crypto_research_agent",
  model: "gemini-2.5-pro",
  instruction: "CoinGecko Pro tools scoped to this user",
  tools,
});

await agent.run("Find today's top gainer, its largest on-chain holders, and the latest news about it");
Try these prompts
Copy any prompt into your agent. Each maps directly to a CoinGecko Pro tool. Click to copy, paste into your agent, done.
Markets
Copy the prompt
Copied
Show the top gainers and losers over the last 24 hours.
Copy the prompt
Copied
Chart Ethereum's circulating supply over the past year.
Copy the prompt
Copied
List the coins most recently listed on CoinGecko.
On-chain
Copy the prompt
Copied
Who are the largest holders of this token on Base?
Copy the prompt
Copied
Show this wallet's profit and loss per token on Ethereum.
Copy the prompt
Copied
Find Solana DEX pools with over $1M in liquidity.
NFTs, RWAs, and news
Copy the prompt
Copied
Chart the Pudgy Penguins floor price for the last 90 days.
Copy the prompt
Copied
List the tokenized real-world assets CoinGecko tracks.
Copy the prompt
Copied
Show the latest CoinGecko news about Bitcoin.
SEE HOW AUTH WORKS
Each user connects their own CoinGecko Pro API key once, and Scalekit sends it with every call. Keys stay vaulted, every call is scope checked, and every action is logged.
1
Authorize
Your user connects
CoinGecko Pro
once. We tie it to their identity and the meetings they approved — no shared bot account, no org-wide access
Who:
user ‘A’
when:
Once per user
access:
Limited to user
2
Store
Their
CoinGecko Pro
token lives in a vault scoped to them. User A's meetings are never reachable by an agent acting for user B, even on the same connection
vault:
encrypted
scope:
per-user
tokens:
auto-refreshed
3
Resolve
When your agent calls a
CoinGecko Pro
tool, we fetch the right token server-side. It never touches your agent, never appears in the LLM context, never shows up in your logs
speed:
~40ms
check:
before every call
seen by:
nobody
4
Audit
Every
CoinGecko Pro
tool call is logged — who triggered it, which meeting was fetched, what came back. 90 days of history, tied to the user who authorized it
history:
90 days
export:
SIEM-ready
logged:
every call
Test other agents
See the same per-user auth pattern across other finance and market data connectors.
GTM and RevOps Teams
Competitive intelligence briefing agent
Scans Gong calls for competitor mentions, matches each one to its Notion battlecard, and DMs every affected rep a single Slack digest per cycle. Every call runs as the PMM who owns the briefing, never a shared bot.
Support and Ops Teams
Meeting prep
Pulls agenda, participant context, and open action items before every meeting.
Test other agents
See the same per-user auth pattern across other finance and market data connectors.
GTM
Competitive intelligence briefing agent
Scan Gong calls for competitor mentions, match each one to its Notion battlecard, and DM every affected rep a single Slack digest.
OPS
Meeting prep agent
Assemble the agenda, HubSpot attendee history, and open action items from Gmail before every meeting on the calendar.
Why Scalekit
Secure your agent's access. Connectors ship in minutes
01.
Shared tokens break per-user analytics
A shared CoinGecko Pro API key looks fine in a demo. In production every wallet lookup and credit spent looks like one service account, and you cannot tell which user triggered it. Scalekit resolves the credential of the actual user who triggered the agent, never a shared bot.
// shared key
audit → bot_service_account

// scalekit
audit → user_abc ✓
02.
Authentication is not authorization
03.
Multi-tenancy is architectural
04.
CoinGecko Pro today. Ten connectors tomorrow.
“Our agents act across Salesforce, Gong, Google Drive, and more, on behalf of every customer. Scalekit behind the scenes meant we can keep adding tools without ever rebuilding how credentials or tool calling work.”
Venu Madhav Kattagoni
Head of Engineering / Von
FAQs
Frequently Asked Questions
Does the agent access CoinGecko Pro as the user or through a shared API key?
As the user. Each user connects their own CoinGecko Pro API key once, and Scalekit sends it with every call. Audit logs attribute every request, and the credits it spends, to that user, not a shared service account.
Where is the CoinGecko Pro API key stored?
In Scalekit's managed AES-256 token vault, namespaced per tenant. To rotate it, the user reconnects with a new API key. Revocation is a single dashboard action. Credentials never appear in prompts, logs, or LLM context.
Can I limit what the agent does in CoinGecko Pro?
Yes. All 74 CoinGecko Pro tools are read-only: they look up market, on-chain, NFT, and news data and never change anything. You can still filter by tool name in listScopedTools to expose a smaller set, for example only the coin price and chart tools without the on-chain wallet tools. Scalekit also enforces scope checks before every API call.
What happens when a user revokes CoinGecko Pro access?
The connection is invalidated on the next tool call. Subsequent requests for that user fail closed with a clear error. Other users in the tenant remain unaffected. The event is logged for audit.
How does the agent check CoinGecko Pro plan usage?
coingeckopro_get_api_usage returns the connected API key's plan, rate limit, and monthly credit usage, so the agent can check remaining credits before a large batch of calls.
Start in your coding agent
Up and running in one command
Install the Scalekit skill in your editor of choice. Connector, auth, tools, prompt, all wired up
Claude Code REPL
/plugin marketplace add scalekit-inc/claude-code-authstack
/plugin install agentkit@scalekit-auth-stack
Cursor Code REPL
# ~/.cursor/mcp.json
{
""mcpServers"": {
""coingeckopro"": {
""url"": ""https://mcp.scalekit.com/coingeckopro"",
""headers"": { ""Authorization"": ""Bearer $SCALEKIT_TOKEN"" }
}
}
}
Codex Code REPL
# ~/.codex/config.toml
[mcp_servers.coingeckopro]
url = ""https://mcp.scalekit.com/coingeckopro""
auth_env = ""SCALEKIT_TOKEN""
Copilot Code REPL
# .vscode/mcp.json
{
""servers"": {
""coingeckopro"": {
""url"": ""https://mcp.scalekit.com/coingeckopro"",
""type"": ""http""
}
}
}