> **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 DefiLlama

The DefiLlama connector lets your AI agent work with DefiLlama. It needs no sign-in. It comes with 25 tools.

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

## 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 DefiLlama connection

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

   Users don't sign in to DefiLlama, so the connection needs no credentials.

4. ### Make your first call

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

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

   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 = 'defillama'
   const identifier = 'user_123'

   // Create the user's connected account. No sign-in is needed, so it's active right away.
   await actions.getAuthorizationLink({ connectionName: connector, identifier })

   // Make your first call
   const result = await actions.executeTool({
     connector,
     identifier,
     toolName: 'defillama_get_dexs_overview',
     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 = "defillama"
   identifier = "user_123"

   # Create the user's connected account. No sign-in is needed, so it's active right away.
   actions.get_authorization_link(
       connection_name=connection_name,
       identifier=identifier,
   )

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

   ```bash
   python quickstart.py
   ```

   Requesting the link creates the user's connected account; there's nothing to open. 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: 'defillama_get_batch_historical_prices',
  toolInput: {
    coins: {
      'coingecko:ethereum': [1666869543, 1666862343],
      'avax:0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e': [1666876743],
    },
  },
  connector: 'defillama',
  identifier: 'user_123',
})
```

**Python**

```python
result = actions.execute_tool(
    tool_name="defillama_get_batch_historical_prices",
    tool_input={
        "coins": {
            "coingecko:ethereum": [1666869543, 1666862343],
            "avax:0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e": [1666876743],
        },
    },
    connection_name="defillama",
    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.

### `defillama_get_batch_historical_prices`

Get Batch Historical Prices · Read-only

Get historical USD prices for several tokens, each at its own list of timestamps, in one call.
Returns coins, keyed by coin id, each with symbol and a prices array of {timestamp, price, confidence}, one entry per requested timestamp.
Use defillama_get_batch_historical_prices when coins need different timestamps. Use defillama_get_historical_prices when every coin shares one timestamp.

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

Inputs:

- `coins` (`object`, required): JSON object whose keys are coin ids ({chain}:{address} or coingecko:{id}) and whose values are arrays of unix timestamps in seconds. Send it as an object or as the equivalent JSON text. Example: {"coingecko:ethereum": [1666869543, 1666862343], "avax:0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e": [1666876743]}.

Example input: `{"coins":{"coingecko:ethereum":[1666869543,1666862343],"avax:0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e":[1666876743]}}`

### `defillama_get_chain_dexs_overview`

Get Chain DEX Volume Overview · Read-only

Get trading volume for every DEX on one chain.
Returns totals for the last 24 hours, 7 days, 30 days, 1 year and all time (total24h, total7d, total30d, total1y, totalAllTime) with change_1d, change_7d and change_1m, allChains, and protocols: one row per protocol with name, slug, category, chains and the same totals and changes. Volumes count only trades on that chain.
Use defillama_get_chain_dexs_overview to rank DEXs on one chain. Use defillama_get_dexs_overview for all chains and defillama_get_dex_summary for one DEX.

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

Inputs:

- `chain` (`string`, required): Chain name as DefiLlama lists it, case-insensitive, for example Ethereum, Arbitrum, BSC or Solana. Get valid names from the allChains field of defillama_get_dexs_overview.
- `exclude_total_data_chart` (`boolean`, optional): true (default) leaves out totalDataChart, the daily history of the summed value, and returns only the current totals and the per-protocol rows. Set false to add the daily history. Default: `true`.
- `exclude_total_data_chart_breakdown` (`boolean`, optional): true (default) leaves out totalDataChartBreakdown, the daily history split by protocol. Setting false can make the response several megabytes, which can exceed Scalekit's response size limit on large chains or on the all-chains overview. Default: `true`.

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

### `defillama_get_chain_fees_overview`

Get Chain Fees Overview · Read-only

Get fees, revenue or holders revenue for every protocol on one chain.
Returns totals for the last 24 hours, 7 days, 30 days, 1 year and all time with change_1d, change_7d and change_1m, allChains, and protocols: one row per protocol with name, slug, category, chains, methodology and the same totals, all in USD for the chosen data_type.
Use defillama_get_chain_fees_overview to rank protocols on a chain by fees or revenue and to find protocol slugs. Use defillama_get_fees_summary for one protocol's history.

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

Inputs:

- `chain` (`string`, required): Chain name as DefiLlama lists it, case-insensitive, for example Ethereum, Arbitrum, BSC or Solana. Get valid names from the name field of defillama_list_chains.
- `data_type` (`string`, optional): Which metric to report: dailyFees (all fees users pay, the default), dailyRevenue (the share the protocol keeps), or dailyHoldersRevenue (the share paid to token holders through buybacks, burns or distributions). Omit for dailyFees. One of: `dailyFees`, `dailyRevenue`, `dailyHoldersRevenue`.
- `exclude_total_data_chart` (`boolean`, optional): true (default) leaves out totalDataChart, the daily history of the summed value, and returns only the current totals and the per-protocol rows. Set false to add the daily history. Default: `true`.
- `exclude_total_data_chart_breakdown` (`boolean`, optional): true (default) leaves out totalDataChartBreakdown, the daily history split by protocol. Setting false can make the response several megabytes, which can exceed Scalekit's response size limit on large chains or on the all-chains overview. Default: `true`.

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

### `defillama_get_chain_historical_tvl`

Get Chain Historical TVL · Read-only

Get the daily total value locked of one blockchain's DeFi protocols.
Returns array: {date, tvl} points, date as a unix timestamp and tvl in USD. Liquid staking and double-counted TVL are excluded.
Use defillama_get_chain_historical_tvl for one chain's trend. Use defillama_get_historical_tvl for all chains combined, and defillama_list_chains for every chain's current TVL.

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

Inputs:

- `chain` (`string`, required): Chain name as DefiLlama lists it, case-insensitive, for example Ethereum, Arbitrum, BSC or Solana. Get valid names from the name field of defillama_list_chains.

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

### `defillama_get_chain_options_overview`

Get Chain Options Volume Overview · Read-only

Get trading volume for every options exchange on one chain.
Returns totals for the last 24 hours, 7 days, 30 days, 1 year and all time (total24h, total7d, total30d, total1y, totalAllTime) with change_1d, change_7d and change_1m, allChains, and protocols: one row per protocol with name, slug, category, chains and the same totals and changes. Values are notional volume unless data_type is dailyPremiumVolume.
Use defillama_get_chain_options_overview for one chain. Use defillama_get_options_overview for all chains and defillama_get_options_summary for one venue.

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

Inputs:

- `chain` (`string`, required): Chain name as DefiLlama lists it, case-insensitive, for example Ethereum, Arbitrum, BSC or Solana. Get valid names from the allChains field of defillama_get_options_overview.
- `data_type` (`string`, optional): Which options volume to report: dailyNotionalVolume (value of the underlying assets traded, the default) or dailyPremiumVolume (premiums paid for the options). Omit for dailyNotionalVolume. One of: `dailyPremiumVolume`, `dailyNotionalVolume`.
- `exclude_total_data_chart` (`boolean`, optional): true (default) leaves out totalDataChart, the daily history of the summed value, and returns only the current totals and the per-protocol rows. Set false to add the daily history. Default: `true`.
- `exclude_total_data_chart_breakdown` (`boolean`, optional): true (default) leaves out totalDataChartBreakdown, the daily history split by protocol. Setting false can make the response several megabytes, which can exceed Scalekit's response size limit on large chains or on the all-chains overview. Default: `true`.

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

### `defillama_get_chain_stablecoin_market_cap_history`

Get Chain Stablecoin Market Cap History · Read-only

Get the daily circulating supply of stablecoins on one chain, for all stablecoins or one.
Returns array: daily points with date (unix timestamp as a string) and totalCirculating, totalCirculatingUSD, totalMintedUSD, and on later points totalBridgedToUSD and totalUnreleased, each keyed by peg type.
Use defillama_get_chain_stablecoin_market_cap_history for one chain. Use defillama_get_stablecoin_market_cap_history for all chains combined, and defillama_list_stablecoin_chains for today's totals per chain.

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

Inputs:

- `chain` (`string`, required): Chain name as DefiLlama lists it, case-insensitive, for example Ethereum, Arbitrum, BSC or Solana. Get valid names from the name field of defillama_list_stablecoin_chains.
- `stablecoin` (`integer`, optional): Numeric DefiLlama stablecoin id to restrict the history to one stablecoin, for example 1 for USDT or 2 for USDC. Get ids from the id field of defillama_list_stablecoins. Omit to sum every stablecoin.

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

### `defillama_get_closest_block`

Get Closest Block · Read-only

Find the block on a chain whose time is closest to a given unix timestamp.
Returns height (the block number) and timestamp (that block's unix time).
Use defillama_get_closest_block to turn a date into a block number for on-chain queries.

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

Inputs:

- `chain` (`string`, required): Chain identifier in lowercase, as used in coin ids, for example ethereum, bsc, polygon, arbitrum, avax or optimism.
- `timestamp` (`integer`, required): Unix timestamp in seconds to look up, for example 1603964988.

Example input: `{"chain":"<chain>","timestamp":1664364537}`

### `defillama_get_current_prices`

Get Current Prices · Read-only

Get the current USD price of one or more tokens, by contract address or CoinGecko id.
Returns coins, keyed by the coin id you sent, each with price in USD, symbol, decimals (contract tokens only), timestamp of the price and confidence (0 to 1; lower for prices derived from thin on-chain liquidity).
Use defillama_get_current_prices for spot prices. Use defillama_get_historical_prices for one past moment, defillama_get_price_chart for a series, and defillama_get_price_percentage_change for a change over a period.

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

Inputs:

- `coins` (`string`, required): Comma-separated list of coins, no spaces. Each coin is {chain}:{token contract address} (for example ethereum:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 for USDC on Ethereum, or bsc:0x762539b45a1dcce3d36d080f74d1aed37844b878), or coingecko:{CoinGecko id} for native and well-known assets (for example coingecko:ethereum, coingecko:bitcoin). Example: coingecko:ethereum,ethereum:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. A coin DefiLlama cannot price is left out of the response rather than causing an error.

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

### `defillama_get_dex_summary`

Get DEX Volume Summary · Read-only

Get one DEX's trading volume totals and daily volume history.
Returns the protocol's name, slug, category, chains and links, total24h, total48hto24h, total7d, totalAllTime and change_1d, child protocols (versions), and totalDataChart, the daily volume history as [unix timestamp, USD] pairs.
Use defillama_get_dex_summary for one DEX. Use defillama_get_dexs_overview or defillama_get_chain_dexs_overview to compare DEXs.

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

Inputs:

- `protocol` (`string`, required): DefiLlama protocol slug: lowercase, words joined by hyphens. Find it in the slug field of defillama_get_dexs_overview or defillama_get_chain_dexs_overview. A parent slug such as uniswap sums every version; a version slug such as uniswap-v3 returns one. Example: uniswap. An unknown slug returns HTTP 400.
- `exclude_total_data_chart` (`boolean`, optional): false (default) includes totalDataChart, the protocol's daily history as [unix timestamp, value] pairs. Set true to return only the current totals and metadata. Default: `false`.
- `exclude_total_data_chart_breakdown` (`boolean`, optional): true (default) leaves out totalDataChartBreakdown, the daily history split by chain and version. Setting false adds it; for large multi-chain protocols this can add over a megabyte. Default: `true`.

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

### `defillama_get_dexs_overview`

Get DEX Volume Overview · Read-only

Get trading volume for every decentralized exchange (DEX) DefiLlama tracks, across all chains.
Returns totals for the last 24 hours, 7 days, 30 days, 1 year and all time (total24h, total7d, total30d, total1y, totalAllTime) with change_1d, change_7d and change_1m, allChains, and protocols: one row per protocol with name, slug, category, chains and the same totals and changes. The response is about 2 MB.
Use defillama_get_dexs_overview to rank DEXs market-wide and find DEX slugs. Use defillama_get_chain_dexs_overview for one chain and defillama_get_dex_summary for one DEX's history.

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

Inputs:

- `exclude_total_data_chart` (`boolean`, optional): true (default) leaves out totalDataChart, the daily history of the summed value, and returns only the current totals and the per-protocol rows. Set false to add the daily history. Default: `true`.
- `exclude_total_data_chart_breakdown` (`boolean`, optional): true (default) leaves out totalDataChartBreakdown, the daily history split by protocol. Setting false can make the response several megabytes, which can exceed Scalekit's response size limit on large chains or on the all-chains overview. Default: `true`.

Example input: `{}`

### `defillama_get_fees_summary`

Get Fees Summary · Read-only

Get one protocol's fees, revenue or holders revenue totals and daily history.
Returns the protocol's name, slug, category, chains, links and methodology, total24h, total48hto24h, total7d, totalAllTime and change_1d, and totalDataChart, the daily history as [unix timestamp, USD] pairs, for the chosen data_type.
Use defillama_get_fees_summary for one protocol. Use defillama_get_chain_fees_overview to compare protocols on a chain.

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

Inputs:

- `protocol` (`string`, required): DefiLlama protocol slug: lowercase, words joined by hyphens. Find it in the slug field of defillama_get_chain_fees_overview, or the protocol's DefiLlama page URL. A parent slug such as aave sums every version; a version slug such as aave-v3 returns one. Example: aave. An unknown slug returns HTTP 400.
- `data_type` (`string`, optional): Which metric to report: dailyFees (all fees users pay, the default), dailyRevenue (the share the protocol keeps), or dailyHoldersRevenue (the share paid to token holders through buybacks, burns or distributions). Omit for dailyFees. One of: `dailyFees`, `dailyRevenue`, `dailyHoldersRevenue`.
- `exclude_total_data_chart` (`boolean`, optional): false (default) includes totalDataChart, the protocol's daily history as [unix timestamp, value] pairs. Set true to return only the current totals and metadata. Default: `false`.
- `exclude_total_data_chart_breakdown` (`boolean`, optional): true (default) leaves out totalDataChartBreakdown, the daily history split by chain and version. Setting false adds it; for large multi-chain protocols this can add over a megabyte. Default: `true`.

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

### `defillama_get_first_prices`

Get First Prices · Read-only

Get the earliest price DefiLlama has recorded for one or more tokens.
Returns coins, keyed by coin id, each with symbol, the first recorded price in USD and its timestamp.
Use defillama_get_first_prices to find when price history starts, for example before calling defillama_get_price_chart with a start time.

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

Inputs:

- `coins` (`string`, required): Comma-separated list of coins, no spaces. Each coin is {chain}:{token contract address} (for example ethereum:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 for USDC on Ethereum, or bsc:0x762539b45a1dcce3d36d080f74d1aed37844b878), or coingecko:{CoinGecko id} for native and well-known assets (for example coingecko:ethereum, coingecko:bitcoin). Example: coingecko:ethereum,ethereum:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. A coin DefiLlama cannot price is left out of the response rather than causing an error.

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

### `defillama_get_historical_prices`

Get Historical Prices · Read-only

Get the USD price of one or more tokens at a single past moment.
Returns coins, keyed by the coin id you sent, each with price in USD, symbol, decimals (contract tokens only) and the timestamp of the price point used (the nearest one DefiLlama has).
Use defillama_get_historical_prices for one timestamp shared by all coins. Use defillama_get_batch_historical_prices for different timestamps per coin, and defillama_get_price_chart for a regular series.

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

Inputs:

- `coins` (`string`, required): Comma-separated list of coins, no spaces. Each coin is {chain}:{token contract address} (for example ethereum:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 for USDC on Ethereum, or bsc:0x762539b45a1dcce3d36d080f74d1aed37844b878), or coingecko:{CoinGecko id} for native and well-known assets (for example coingecko:ethereum, coingecko:bitcoin). Example: coingecko:ethereum,ethereum:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. A coin DefiLlama cannot price is left out of the response rather than causing an error.
- `timestamp` (`integer`, required): Unix timestamp in seconds of the moment to price, for example 1648680149 (2022-03-30 22:42 UTC).

Example input: `{"coins":"<coins>","timestamp":1664364537}`

### `defillama_get_historical_tvl`

Get Historical TVL · Read-only

Get the daily total value locked across all of DeFi, summed over every chain.
Returns array: {date, tvl} points, date as a unix timestamp and tvl in USD, from 2017 to today. Liquid staking and double-counted TVL are excluded.
Use defillama_get_historical_tvl for the whole market. Use defillama_get_chain_historical_tvl for a single chain.

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

Inputs: none.

Example input: `{}`

### `defillama_get_open_interest_overview`

Get Open Interest Overview · Read-only

Get open interest for every perpetual futures exchange DefiLlama tracks, across all chains.
Returns current and past open interest totals (total24h, total7d, total30d and changes), allChains, and protocols: one row per exchange with name, slug, category, chains and its open interest in USD.
Use defillama_get_open_interest_overview to rank perpetuals venues by open interest. Use defillama_get_dexs_overview for spot DEX volume.

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

Inputs:

- `exclude_total_data_chart` (`boolean`, optional): true (default) leaves out totalDataChart, the daily history of the summed value, and returns only the current totals and the per-protocol rows. Set false to add the daily history. Default: `true`.
- `exclude_total_data_chart_breakdown` (`boolean`, optional): true (default) leaves out totalDataChartBreakdown, the daily history split by protocol. Setting false can make the response several megabytes, which can exceed Scalekit's response size limit on large chains or on the all-chains overview. Default: `true`.

Example input: `{}`

### `defillama_get_options_overview`

Get Options Volume Overview · Read-only

Get trading volume for every on-chain options exchange DefiLlama tracks, across all chains.
Returns totals for the last 24 hours, 7 days, 30 days, 1 year and all time (total24h, total7d, total30d, total1y, totalAllTime) with change_1d, change_7d and change_1m, allChains, and protocols: one row per protocol with name, slug, category, chains and the same totals and changes. Values are notional volume unless data_type is dailyPremiumVolume.
Use defillama_get_options_overview to rank options venues. Use defillama_get_chain_options_overview for one chain and defillama_get_options_summary for one venue.

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

Inputs:

- `data_type` (`string`, optional): Which options volume to report: dailyNotionalVolume (value of the underlying assets traded, the default) or dailyPremiumVolume (premiums paid for the options). Omit for dailyNotionalVolume. One of: `dailyPremiumVolume`, `dailyNotionalVolume`.
- `exclude_total_data_chart` (`boolean`, optional): true (default) leaves out totalDataChart, the daily history of the summed value, and returns only the current totals and the per-protocol rows. Set false to add the daily history. Default: `true`.
- `exclude_total_data_chart_breakdown` (`boolean`, optional): true (default) leaves out totalDataChartBreakdown, the daily history split by protocol. Setting false can make the response several megabytes, which can exceed Scalekit's response size limit on large chains or on the all-chains overview. Default: `true`.

Example input: `{}`

### `defillama_get_options_summary`

Get Options Volume Summary · Read-only

Get one options exchange's volume totals and daily volume history.
Returns the protocol's name, slug, chains and links, total24h, total7d, totalAllTime and change_1d, and totalDataChart, the daily history as [unix timestamp, USD] pairs. Values are notional volume unless data_type is dailyPremiumVolume.
Use defillama_get_options_summary for one venue. Use defillama_get_options_overview to compare venues.

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

Inputs:

- `protocol` (`string`, required): DefiLlama protocol slug: lowercase, words joined by hyphens. Find it in the slug field of defillama_get_options_overview or defillama_get_chain_options_overview. Example: derive. An unknown slug returns HTTP 400.
- `data_type` (`string`, optional): Which options volume to report: dailyNotionalVolume (value of the underlying assets traded, the default) or dailyPremiumVolume (premiums paid for the options). Omit for dailyNotionalVolume. One of: `dailyPremiumVolume`, `dailyNotionalVolume`.
- `exclude_total_data_chart` (`boolean`, optional): false (default) includes totalDataChart, the protocol's daily history as [unix timestamp, value] pairs. Set true to return only the current totals and metadata. Default: `false`.
- `exclude_total_data_chart_breakdown` (`boolean`, optional): true (default) leaves out totalDataChartBreakdown, the daily history split by chain and version. Setting false adds it; for large multi-chain protocols this can add over a megabyte. Default: `true`.

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

### `defillama_get_price_chart`

Get Price Chart · Read-only

Get a series of USD prices for one or more tokens at regular intervals.
Returns coins, keyed by coin id, each with symbol, confidence and a prices array of {timestamp, price}.
Use defillama_get_price_chart for a price history. Set start or end (not both) and span for the number of points; with neither, only the latest price comes back. Use defillama_get_historical_prices for a single moment.

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

Inputs:

- `coins` (`string`, required): Comma-separated list of coins, no spaces. Each coin is {chain}:{token contract address} (for example ethereum:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 for USDC on Ethereum, or bsc:0x762539b45a1dcce3d36d080f74d1aed37844b878), or coingecko:{CoinGecko id} for native and well-known assets (for example coingecko:ethereum, coingecko:bitcoin). Example: coingecko:ethereum,ethereum:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. A coin DefiLlama cannot price is left out of the response rather than causing an error.
- `end` (`integer`, optional): Unix timestamp in seconds of the last point; the series runs backward from here. Do not send together with start (the API returns 400). Omit both start and end to get only the latest price. Example: 1667000000.
- `period` (`string`, optional): Spacing between points as a number plus a unit: w (week), d (day), h (hour) or m (minute), not case-sensitive. Examples: 4h, 1d, 2d, 1w. Default 24 hours.
- `span` (`integer`, optional): Number of data points to return, for example 10. When omitted, the series has a single point.
- `start` (`integer`, optional): Unix timestamp in seconds of the first point; the series runs forward from here. Do not send together with end (the API returns 400). Example: 1664364537.

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

### `defillama_get_price_percentage_change`

Get Price Percentage Change · Read-only

Get the percentage price change of one or more tokens over a period.
Returns coins, keyed by coin id, each with the percentage change as a number (for example -3.2 for a 3.2% drop).
Use defillama_get_price_percentage_change for a single change figure. Use defillama_get_price_chart for the underlying price series.

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

Inputs:

- `coins` (`string`, required): Comma-separated list of coins, no spaces. Each coin is {chain}:{token contract address} (for example ethereum:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 for USDC on Ethereum, or bsc:0x762539b45a1dcce3d36d080f74d1aed37844b878), or coingecko:{CoinGecko id} for native and well-known assets (for example coingecko:ethereum, coingecko:bitcoin). Example: coingecko:ethereum,ethereum:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. A coin DefiLlama cannot price is left out of the response rather than causing an error.
- `look_forward` (`boolean`, optional): false (default) measures the period ending at timestamp, looking back; true measures the period starting at timestamp, looking forward.
- `period` (`string`, optional): Length of the period as a number plus a unit: w (week), d (day), h (hour) or m (minute), not case-sensitive. Examples: 1d, 7d, 3w. Default 24 hours.
- `timestamp` (`integer`, optional): Unix timestamp in seconds the period is measured from. Omit to use now. Example: 1664364537.

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

### `defillama_get_protocol`

Get Protocol · Read-only

Get a DeFi protocol's profile and full TVL history, broken down by chain and by token.
Returns the protocol's name, category, chains, links and current TVL per chain (currentChainTvls), then chainTvls with each chain's daily TVL history in USD and per-token amounts, plus tokens and tokensInUsd (TVL by token over time), raises, hacks, audits and, for a parent protocol, otherProtocols listing its versions.
Use defillama_get_protocol for a protocol's history and breakdowns. Use defillama_get_protocol_tvl when you only need today's TVL as one number. Large multi-chain protocols such as Aave, Curve, Morpho and Pendle return responses over 4 MB, which exceed Scalekit's response size limit and fail; for those, use defillama_get_protocol_tvl, a version slug (for example uniswap-v3), or defillama_get_fees_summary and defillama_get_dex_summary.

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

Inputs:

- `protocol` (`string`, required): DefiLlama protocol slug: lowercase, words joined by hyphens. Find it in the protocol's DefiLlama page URL (defillama.com/protocol/<slug>). A parent slug such as aave covers every version; a version slug such as aave-v3 covers one. Example: lido. An unknown slug returns HTTP 400.

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

### `defillama_get_protocol_tvl`

Get Protocol TVL · Read-only

Get a DeFi protocol's current total value locked (TVL) in USD.
Returns result: the TVL in USD as a decimal string, for example "2851234567.12". No chain or token breakdown.
Use defillama_get_protocol_tvl for a quick current figure. Use defillama_get_protocol for history and per-chain or per-token breakdowns.

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

Inputs:

- `protocol` (`string`, required): DefiLlama protocol slug: lowercase, words joined by hyphens. Find it in the protocol's DefiLlama page URL (defillama.com/protocol/<slug>). A parent slug such as aave covers every version; a version slug such as aave-v3 covers one. Example: uniswap. An unknown slug returns HTTP 400.

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

### `defillama_get_stablecoin_market_cap_history`

Get Stablecoin Market Cap History · Read-only

Get the daily circulating supply of stablecoins across all chains, for all stablecoins or one.
Returns array: daily points with date (unix timestamp as a string) and totalCirculating and totalCirculatingUSD, plus totalMintedUSD, totalBridgedToUSD and totalUnreleased on points where DefiLlama tracks them, each keyed by peg type (peggedUSD, peggedEUR, ...).
Use defillama_get_stablecoin_market_cap_history for the whole market or one stablecoin's history. Use defillama_get_chain_stablecoin_market_cap_history for a single chain.

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

Inputs:

- `stablecoin` (`integer`, optional): Numeric DefiLlama stablecoin id to restrict the history to one stablecoin, for example 1 for USDT or 2 for USDC. Get ids from the id field of defillama_list_stablecoins. Omit to sum every stablecoin.

Example input: `{}`

### `defillama_list_chains`

List Chains · Read-only

List every blockchain DefiLlama tracks with its current total value locked.
Returns array: one entry per chain with name, tvl in USD, native tokenSymbol, gecko_id, cmcId and chainId.
Use defillama_list_chains to rank chains by TVL or to find the exact chain name other tools take. Use defillama_get_chain_historical_tvl for one chain's history.

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

Inputs: none.

Example input: `{}`

### `defillama_list_stablecoin_chains`

List Stablecoin Chains · Read-only

List every chain with the current total circulating supply of stablecoins on it.
Returns array: one entry per chain with name and totalCirculatingUSD keyed by peg type (peggedUSD, peggedEUR, ...).
Use defillama_list_stablecoin_chains to rank chains by stablecoin supply today. Use defillama_get_chain_stablecoin_market_cap_history for one chain's history.

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

Inputs: none.

Example input: `{}`

### `defillama_list_stablecoins`

List Stablecoins · Read-only

List every stablecoin DefiLlama tracks with its circulating supply.
Returns peggedAssets, each with id, name, symbol, gecko_id, pegType (peggedUSD, peggedEUR, ...), pegMechanism, circulating now and 1 day, 1 week and 1 month ago, per-chain circulating amounts (chainCirculating), chains and current price. Also returns chains with each chain's stablecoin total.
Use defillama_list_stablecoins to compare stablecoins or to find the numeric stablecoin id the market cap history tools take. Use defillama_list_stablecoin_chains for totals per chain only.

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

Inputs:

- `include_prices` (`boolean`, optional): Documented switch for adding each stablecoin's current price in USD. The API currently returns price on every stablecoin whatever this is set to, so it can usually be omitted.

Example input: `{}`

## Related

Other Analytics connectors ([all 121](/agentkit/connectors/?category=analytics)):

- [Microsoft 365](/agentkit/connectors/microsoft365/): Scalekit connector, OAuth, 317 tools
- [HubSpot](/agentkit/connectors/hubspot/): Scalekit connector, OAuth, 457 tools
- [Snowflake](/agentkit/connectors/snowflake/): Scalekit connector, OAuth, 42 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 |
