> For the complete documentation index, see [llms.txt](https://gotts.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gotts.gitbook.io/docs/gotts-safe-mcp-server/mcp-server/03-tools-data.md).

# Data and Token Tools

> **Package**: `packages/safe/` | **Prerequisites**: [02-architecture.md](/docs/gotts-safe-mcp-server/mcp-server/02-architecture.md)
>
> Read-only data tools (Phase 1 Foundation). For other tool categories, see the [README](/docs/gotts-safe-mcp-server/mcp-server.md).

***

## Data and Analytics Tools

#### `get_token_price`

Get the current price of a token on a specific chain, denominated in USD or a specified quote token. Supports multiple price sources: on-chain V3/V4 pool reads (default) or CoinGecko x402 (when `preferredPriceSource: "coingecko"` is configured). Falls back gracefully between sources.

**Parameters**:

| Name            | Type     | Required | Description                                                       |
| --------------- | -------- | -------- | ----------------------------------------------------------------- |
| `token`         | `string` | Yes      | Token symbol (e.g., "WETH") or address (e.g., "0xC02a...")        |
| `chain`         | `string` | Yes      | Chain name ("ethereum", "base", etc.) or chain ID (1, 8453, etc.) |
| `quoteCurrency` | `string` | No       | Quote currency. Default: "USD". Can be another token symbol.      |

**Returns**:

```json
{
  "token": "WETH",
  "tokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
  "chain": "ethereum",
  "chainId": 1,
  "price": 3245.67,
  "quoteCurrency": "USD",
  "source": "v3-pool",
  "poolUsed": "WETH/USDC 0.05%",
  "timestamp": "2026-02-06T12:00:00Z",
  "priceChange24h": -2.3,
  "marketCap": null,
  "volume24h": null
}
```

When `source` is `"coingecko-x402"`, the response additionally includes `marketCap` and `volume24h` fields populated from CoinGecko data ($0.01/request). When using on-chain sources, these fields are `null`.

**Price Source Selection**:

| Config `preferredPriceSource` | Primary Source           | Fallback Source | Cost      |
| ----------------------------- | ------------------------ | --------------- | --------- |
| `"onchain"` (default)         | V3/V4 pool slot0 via RPC | CoinGecko x402  | Free      |
| `"coingecko"`                 | CoinGecko x402 API       | V3/V4 pool RPC  | $0.01/req |

**Error Cases**:

* `TOKEN_NOT_FOUND`: Token symbol/address not recognized on the specified chain
* `CHAIN_NOT_SUPPORTED`: Chain not in the supported list
* `NO_LIQUIDITY`: No pool with sufficient liquidity to determine price
* `DATA_SOURCE_ERROR`: Subgraph or RPC call failed
* `X402_PAYMENT_FAILED`: CoinGecko x402 payment failed (falls back to on-chain)

***

#### `get_pool_info`

Get detailed information about a specific Uniswap pool.

**Parameters**:

| Name      | Type     | Required | Description                                                                                 |
| --------- | -------- | -------- | ------------------------------------------------------------------------------------------- |
| `token0`  | `string` | Yes      | First token symbol or address                                                               |
| `token1`  | `string` | Yes      | Second token symbol or address                                                              |
| `fee`     | `number` | No       | Fee tier in basis points (100, 500, 3000, 10000). If omitted, returns the highest-TVL pool. |
| `chain`   | `string` | Yes      | Chain name or chain ID                                                                      |
| `version` | `string` | No       | Protocol version: "v2", "v3", "v4". Default: auto-detect (prefer V3).                       |

**Returns**:

```json
{
  "poolAddress": "0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640",
  "version": "v3",
  "token0": {
    "symbol": "USDC",
    "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
    "decimals": 6
  },
  "token1": {
    "symbol": "WETH",
    "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
    "decimals": 18
  },
  "fee": 500,
  "chain": "ethereum",
  "chainId": 1,
  "currentTick": 201234,
  "sqrtPriceX96": "1234567890123456789012345678",
  "currentPrice": 3245.67,
  "liquidity": "12345678901234567890",
  "tvlUsd": 245000000,
  "volume24hUsd": 89000000,
  "volume7dUsd": 520000000,
  "feeApy7d": 12.3,
  "feeApy30d": 10.8,
  "txCount24h": 15234,
  "priceRange24h": { "low": 3180.0, "high": 3290.0 },
  "liquidityDepth": {
    "onePercentMoveUsd": 15000000,
    "fivePercentMoveUsd": 45000000
  },
  "createdAt": "2023-05-05T00:00:00Z"
}
```

**Error Cases**:

* `POOL_NOT_FOUND`: No pool exists for this token pair + fee tier on this chain
* `TOKEN_NOT_FOUND`: Token symbol/address not recognized
* `CHAIN_NOT_SUPPORTED`: Chain not in supported list

***

#### `get_pools_by_token_pair`

Discover all pools for a given token pair across fee tiers and protocol versions.

**Parameters**:

| Name     | Type     | Required | Description                                          |
| -------- | -------- | -------- | ---------------------------------------------------- |
| `token0` | `string` | Yes      | First token symbol or address                        |
| `token1` | `string` | Yes      | Second token symbol or address                       |
| `chain`  | `string` | Yes      | Chain name or chain ID                               |
| `sortBy` | `string` | No       | Sort field: "tvl" (default), "volume24h", "feeApy7d" |

**Returns**:

```json
{
  "tokenPair": "WETH/USDC",
  "chain": "ethereum",
  "pools": [
    {
      "poolAddress": "0x88e6...",
      "version": "v3",
      "fee": 500,
      "tvlUsd": 245000000,
      "volume24hUsd": 89000000,
      "feeApy7d": 12.3
    },
    {
      "poolAddress": "0x4e68...",
      "version": "v3",
      "fee": 3000,
      "tvlUsd": 85000000,
      "volume24hUsd": 32000000,
      "feeApy7d": 8.7
    }
  ],
  "recommendedPool": "0x88e6...",
  "recommendationReason": "Highest TVL and volume. Best execution for most trade sizes."
}
```

***

#### `get_pools_by_token`

Find all pools that include a specific token. Useful for discovering trading pairs and LP opportunities.

**Parameters**:

| Name      | Type     | Required | Description                                             |
| --------- | -------- | -------- | ------------------------------------------------------- |
| `token`   | `string` | Yes      | Token symbol or address                                 |
| `chain`   | `string` | Yes      | Chain name or chain ID                                  |
| `sortBy`  | `string` | No       | Sort: "tvl" (default), "volume24h", "feeApy7d"          |
| `limit`   | `number` | No       | Max results. Default: 10. Max: 50.                      |
| `version` | `string` | No       | Filter by version: "v2", "v3", "v4", or "all" (default) |

**Returns**:

```json
{
  "token": "WETH",
  "chain": "ethereum",
  "totalPools": 2847,
  "pools": [
    {
      "poolAddress": "0x88e6...",
      "version": "v3",
      "pairedToken": { "symbol": "USDC", "address": "0xA0b8..." },
      "fee": 500,
      "tvlUsd": 245000000,
      "volume24hUsd": 89000000,
      "feeApy7d": 12.3
    }
  ]
}
```

***

#### `get_new_pools`

Discover recently created pools on a chain.

**Parameters**:

| Name        | Type     | Required | Description                                                |
| ----------- | -------- | -------- | ---------------------------------------------------------- |
| `chain`     | `string` | Yes      | Chain name or chain ID                                     |
| `hoursAgo`  | `number` | No       | Look back period in hours. Default: 24. Max: 168 (7 days). |
| `minTvlUsd` | `number` | No       | Minimum TVL filter. Default: 0.                            |
| `version`   | `string` | No       | Filter by version: "v2", "v3", "v4", or "all" (default)    |
| `limit`     | `number` | No       | Max results. Default: 20. Max: 100.                        |

**Returns**:

```json
{
  "chain": "base",
  "timeRange": "24h",
  "poolsFound": 47,
  "pools": [
    {
      "poolAddress": "0xABCD...",
      "version": "v3",
      "token0": { "symbol": "WETH", "address": "0x4200..." },
      "token1": { "symbol": "NEWTOKEN", "address": "0x1234..." },
      "fee": 3000,
      "createdAt": "2026-02-06T08:30:00Z",
      "createdTxHash": "0xDEAD...",
      "tvlUsd": 125000,
      "volume24hUsd": 450000,
      "token1Verified": false
    }
  ]
}
```

***

#### `get_position`

Get the current state of a Uniswap V3 or V4 liquidity position.

**Parameters**:

| Name         | Type     | Required | Description                       |
| ------------ | -------- | -------- | --------------------------------- |
| `positionId` | `string` | Yes      | V3 NFT token ID or V4 position ID |
| `chain`      | `string` | Yes      | Chain name or chain ID            |
| `version`    | `string` | No       | "v3" (default) or "v4"            |

**Returns**:

```json
{
  "positionId": "456789",
  "version": "v3",
  "chain": "ethereum",
  "owner": "0x1234...",
  "pool": {
    "poolAddress": "0x88e6...",
    "token0": { "symbol": "USDC", "address": "0xA0b8...", "decimals": 6 },
    "token1": { "symbol": "WETH", "address": "0xC02a...", "decimals": 18 },
    "fee": 500,
    "currentPrice": 3245.67
  },
  "tickLower": 200000,
  "tickUpper": 210000,
  "priceLower": 2800.0,
  "priceUpper": 3600.0,
  "liquidity": "9876543210",
  "amount0": "15000.000000",
  "amount1": "4.500000000000000000",
  "amount0Usd": 15000.0,
  "amount1Usd": 14605.52,
  "totalValueUsd": 29605.52,
  "unclaimedFees": {
    "amount0": "45.230000",
    "amount1": "0.013500000000000000",
    "totalUsd": 89.05
  },
  "inRange": true,
  "rangeWidth": "28.57%",
  "createdAt": "2026-01-15T10:00:00Z"
}
```

***

#### `get_positions_by_owner`

Get all Uniswap positions owned by a specific address.

**Parameters**:

| Name      | Type     | Required | Description                                                             |
| --------- | -------- | -------- | ----------------------------------------------------------------------- |
| `owner`   | `string` | No       | Wallet address. Default: the configured agent wallet.                   |
| `chain`   | `string` | Yes      | Chain name or chain ID                                                  |
| `version` | `string` | No       | "v3", "v4", or "all" (default)                                          |
| `status`  | `string` | No       | "active" (has liquidity), "closed" (zero liquidity), or "all" (default) |

**Returns**:

```json
{
  "owner": "0x1234...",
  "chain": "ethereum",
  "positionCount": 3,
  "totalValueUsd": 85000.0,
  "totalUnclaimedFeesUsd": 234.56,
  "positions": [
    {
      "positionId": "456789",
      "pool": "WETH/USDC 0.05%",
      "version": "v3",
      "totalValueUsd": 29605.52,
      "inRange": true,
      "unclaimedFeesUsd": 89.05
    }
  ]
}
```

***

#### `get_tick_data`

Get the liquidity distribution across ticks for a pool. Essential for LP range selection.

**Parameters**:

| Name          | Type     | Required | Description                                                  |
| ------------- | -------- | -------- | ------------------------------------------------------------ |
| `poolAddress` | `string` | Yes      | Pool contract address                                        |
| `chain`       | `string` | Yes      | Chain name or chain ID                                       |
| `tickRange`   | `number` | No       | Number of ticks around current tick to return. Default: 100. |

**Returns**:

```json
{
  "poolAddress": "0x88e6...",
  "chain": "ethereum",
  "currentTick": 201234,
  "tickSpacing": 10,
  "ticks": [
    { "tick": 201000, "liquidityNet": "5000000000", "price": 3180.45 },
    { "tick": 201010, "liquidityNet": "3200000000", "price": 3183.63 },
    { "tick": 201020, "liquidityNet": "-1500000000", "price": 3186.82 }
  ],
  "concentrationZones": [
    {
      "tickLower": 201000,
      "tickUpper": 201500,
      "priceLower": 3180.45,
      "priceUpper": 3340.12,
      "liquidityPercentage": 45.2,
      "label": "Primary liquidity zone"
    }
  ]
}
```

***

#### `get_pool_health_score`

Compute a composite 0–100 health score for a Uniswap pool. Combines liquidity depth, volume consistency, LP retention, and JIT liquidity percentage into a single actionable metric. All data sourced from subgraph and RPC — no external APIs.

**Parameters**:

| Name          | Type     | Required | Description            |
| ------------- | -------- | -------- | ---------------------- |
| `poolAddress` | `string` | Yes      | Pool contract address  |
| `chain`       | `string` | Yes      | Chain name or chain ID |

**Returns**:

```json
{
  "poolAddress": "0x88e6...",
  "chain": "ethereum",
  "healthScore": 87,
  "rating": "EXCELLENT",
  "components": {
    "liquidityDepth": {
      "score": 92,
      "weight": 0.3,
      "tvlUsd": 245000000,
      "depth1PctUsd": 15000000,
      "depth5PctUsd": 45000000,
      "note": "Deep liquidity within 5% of spot price"
    },
    "volumeConsistency": {
      "score": 85,
      "weight": 0.25,
      "volume7dAvgUsd": 89000000,
      "volumeStdDev7d": 12000000,
      "volumeToTvlRatio": 0.36,
      "note": "Consistent daily volume with low variance"
    },
    "lpRetention": {
      "score": 78,
      "weight": 0.2,
      "activeLpCount": 342,
      "avgPositionDurationDays": 45,
      "churnRate30d": 0.08,
      "note": "Healthy LP base with low churn"
    },
    "jitLiquidity": {
      "score": 90,
      "weight": 0.15,
      "jitPct": 4.2,
      "note": "Low JIT (<5%) — minimal MEV bot competition for LP fees"
    },
    "feeEfficiency": {
      "score": 88,
      "weight": 0.1,
      "feeApy7d": 12.3,
      "feeApy30d": 10.8,
      "note": "Stable fee yield above 10% APY"
    }
  },
  "recommendation": "High-quality pool suitable for concentrated LP positions. Low JIT competition and consistent volume support reliable fee income.",
  "timestamp": "2026-02-19T12:00:00Z"
}
```

**Health Ratings**: `EXCELLENT` (85–100), `GOOD` (70–84), `FAIR` (50–69), `POOR` (< 50).

**Data Source**: Subgraph for LP events, volume, TVL. RPC `get_tick_data` for liquidity depth. JIT detection via short-lived Mint→Burn event pairs within the same block.

**Error Cases**:

* `POOL_NOT_FOUND`: Pool does not exist at the given address
* `INSUFFICIENT_DATA`: Pool is too new (< 7 days) for meaningful scoring
* `CHAIN_NOT_SUPPORTED`: Chain not supported

***

> **Note**: `search_tokens` is defined in the [Token Directory Tools](#token-directory-tools) section below.

***

## Historical Data Tools

#### `get_token_price_history`

Get historical price data for a token as OHLCV candlesticks. Essential for agents making trading and LP decisions that require historical context.

**Parameters**:

| Name            | Type     | Required | Description                                                                                   |
| --------------- | -------- | -------- | --------------------------------------------------------------------------------------------- |
| `token`         | `string` | Yes      | Token symbol or address                                                                       |
| `chain`         | `string` | Yes      | Chain name or chain ID                                                                        |
| `interval`      | `string` | No       | Candle interval: "1m", "5m", "15m", "1h", "4h", "1d", "1w". Default: "1h".                    |
| `startTime`     | `string` | No       | ISO 8601 start time. Default: 24h ago for minute intervals, 30d ago for hourly, 1y for daily. |
| `endTime`       | `string` | No       | ISO 8601 end time. Default: now.                                                              |
| `limit`         | `number` | No       | Max candles. Default: 100. Max: 1000.                                                         |
| `quoteCurrency` | `string` | No       | Quote currency. Default: "USD".                                                               |

**Returns**:

```json
{
  "token": "WETH",
  "chain": "ethereum",
  "interval": "1h",
  "quoteCurrency": "USD",
  "candles": [
    {
      "timestamp": "2026-02-06T10:00:00Z",
      "open": 3240.5,
      "high": 3265.3,
      "low": 3235.1,
      "close": 3258.9,
      "volume": 12500000
    }
  ],
  "priceChange": { "absolute": 18.4, "percentage": 0.57 },
  "high": 3290.0,
  "low": 3180.0,
  "averageVolume": 8900000,
  "source": "subgraph"
}
```

**Data Source**: The Graph subgraph swap events aggregated into candles. For minute-level data on recent periods, direct RPC event log scanning.

***

#### `get_trade_history`

Get recent trade (swap) history for a specific pool or token pair.

**Parameters**:

| Name        | Type     | Required | Description                                                    |
| ----------- | -------- | -------- | -------------------------------------------------------------- |
| `pool`      | `string` | No       | Pool address. If omitted, uses token0+token1+fee to find pool. |
| `token0`    | `string` | No       | First token symbol or address (alternative to pool address)    |
| `token1`    | `string` | No       | Second token symbol or address                                 |
| `fee`       | `number` | No       | Fee tier in basis points                                       |
| `chain`     | `string` | Yes      | Chain name or chain ID                                         |
| `limit`     | `number` | No       | Max trades. Default: 50. Max: 500.                             |
| `startTime` | `string` | No       | ISO 8601 start time filter                                     |

**Returns**:

```json
{
  "pool": "0x88e6...",
  "chain": "ethereum",
  "trades": [
    {
      "txHash": "0xABCD...",
      "timestamp": "2026-02-06T11:45:23Z",
      "blockNumber": 19234567,
      "sender": "0x1234...",
      "tokenIn": { "symbol": "USDC", "amount": "5000.00" },
      "tokenOut": { "symbol": "WETH", "amount": "1.538" },
      "priceImpact": 0.02,
      "amountUsd": 5000.0,
      "isBot": true
    }
  ],
  "summary": {
    "totalTrades": 50,
    "totalVolumeUsd": 2500000,
    "buyCount": 28,
    "sellCount": 22,
    "averageTradeSize": 50000
  }
}
```

**Data Source**: The Graph subgraph `Swap` events, or direct RPC event log scanning for real-time recent trades.

***

#### `get_pool_volume_history`

Get historical volume and fee data for a pool over time.

**Parameters**:

| Name       | Type     | Required | Description                                            |
| ---------- | -------- | -------- | ------------------------------------------------------ |
| `pool`     | `string` | Yes      | Pool address                                           |
| `chain`    | `string` | Yes      | Chain name or chain ID                                 |
| `interval` | `string` | No       | Aggregation interval: "1h", "1d", "1w". Default: "1d". |
| `days`     | `number` | No       | Lookback period in days. Default: 30. Max: 365.        |

**Returns**:

```json
{
  "pool": "0x88e6...",
  "chain": "ethereum",
  "interval": "1d",
  "dataPoints": [
    {
      "date": "2026-02-05",
      "volumeUsd": 89000000,
      "feesUsd": 44500,
      "tvlUsd": 245000000,
      "txCount": 15234,
      "priceOpen": 3220.5,
      "priceClose": 3245.67,
      "priceHigh": 3290.0,
      "priceLow": 3180.0
    }
  ]
}
```

**Data Source**: The Graph subgraph `PoolDayData` / `PoolHourData` entities.

***

## Token Directory Tools

#### `get_token_list`

Get the curated token list with full metadata including name, symbol, logo, price, and verified status. Returns tokens from Uniswap's official token list, enriched with live price data and pool information.

**Parameters**:

| Name       | Type     | Required | Description                                                               |
| ---------- | -------- | -------- | ------------------------------------------------------------------------- |
| `chain`    | `string` | Yes      | Chain name or chain ID                                                    |
| `category` | `string` | No       | Filter: "all" (default), "popular", "stablecoins", "defi", "agent-tokens" |
| `sortBy`   | `string` | No       | Sort: "marketCap" (default), "volume24h", "price", "name"                 |
| `limit`    | `number` | No       | Max results. Default: 50. Max: 500.                                       |
| `offset`   | `number` | No       | Pagination offset. Default: 0.                                            |

**Returns**:

```json
{
  "chain": "ethereum",
  "totalTokens": 2847,
  "tokens": [
    {
      "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
      "name": "Wrapped Ether",
      "symbol": "WETH",
      "decimals": 18,
      "logoUri": "https://assets.coingecko.com/coins/images/2518/small/weth.png",
      "verified": true,
      "price": 3245.67,
      "priceChange24h": -2.3,
      "volume24hUsd": 1200000000,
      "marketCapUsd": 389000000000,
      "topPools": [
        { "pair": "WETH/USDC", "fee": 500, "tvlUsd": 245000000 },
        { "pair": "WETH/USDT", "fee": 3000, "tvlUsd": 85000000 }
      ],
      "tags": ["wrapped", "native"]
    }
  ]
}
```

**Data Source**: Uniswap default token list + CoinGecko/CryptoCompare for logos and market data + on-chain ERC-20 metadata + subgraph for pool associations.

***

#### `search_tokens`

Search for tokens by name, symbol, or address with fuzzy matching. Returns verified status, pool availability, and basic risk indicators. Uses curated token list as primary source; falls back to CoinGecko x402 pool search when tokens aren't in the curated list (requires x402 outbound to be enabled). Useful for agents resolving user intent ("find me the Pepe token on Base").

**Parameters**:

| Name            | Type      | Required | Description                                     |
| --------------- | --------- | -------- | ----------------------------------------------- |
| `query`         | `string`  | Yes      | Search query (name, symbol, or partial address) |
| `chain`         | `string`  | No       | Chain filter. If omitted, searches all chains.  |
| `verified_only` | `boolean` | No       | Only return verified tokens. Default: false.    |
| `limit`         | `number`  | No       | Max results. Default: 10. Max: 50.              |

**Returns**:

```json
{
  "query": "pepe",
  "results": [
    {
      "address": "0x6982508145454Ce325dDbE47a25d4ec3d2311933",
      "name": "Pepe",
      "symbol": "PEPE",
      "chain": "ethereum",
      "chainId": 1,
      "decimals": 18,
      "logoUri": "https://...",
      "verified": true,
      "onDefaultTokenList": true,
      "onAllowlist": false,
      "price": 0.00001234,
      "volume24hUsd": 450000000,
      "matchType": "symbol",
      "matchScore": 1.0,
      "topPool": {
        "poolAddress": "0xA43f...",
        "pairedWith": "WETH",
        "tvlUsd": 32000000,
        "volume24hUsd": 15000000
      },
      "risk": {
        "rating": "CAUTION",
        "contractAge": 420,
        "holderConcentrationTop10Pct": null
      }
    }
  ],
  "source": "token-list",
  "fallbackUsed": false
}
```

**Search Source Priority**:

1. **Curated token list** (fast, free, cached): Fuzzy match against `WELL_KNOWN_TOKENS` + Uniswap default token list.
2. **CoinGecko x402 pool search** (fallback, $0.01/req): Used when no results from curated list. Searches across 250+ networks and all DEXs indexed by CoinGecko. Set `fallbackUsed: true` in response.
3. **On-chain ERC-20 reads** (last resort, free): Direct contract calls if address is provided.

The `risk` object provides basic risk indicators when available. For comprehensive risk analysis, use `discover_token`.

***

#### `get_token_metadata`

Get comprehensive metadata for a specific token including on-chain data, social links, and risk indicators.

**Parameters**:

| Name    | Type     | Required | Description             |
| ------- | -------- | -------- | ----------------------- |
| `token` | `string` | Yes      | Token symbol or address |
| `chain` | `string` | Yes      | Chain name or chain ID  |

**Returns**:

```json
{
  "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  "name": "USD Coin",
  "symbol": "USDC",
  "decimals": 6,
  "chain": "ethereum",
  "logoUri": "https://...",
  "verified": true,
  "totalSupply": "26000000000",
  "holders": 1850000,
  "deployer": "0x...",
  "deployedAt": "2018-09-10T00:00:00Z",
  "isProxy": true,
  "implementation": "0x...",
  "price": 1.0001,
  "priceChange24h": 0.01,
  "volume24hUsd": 5200000000,
  "marketCapUsd": 26000000000,
  "pools": [
    { "pair": "USDC/WETH", "fee": 500, "tvlUsd": 245000000, "version": "v3" },
    { "pair": "USDC/USDT", "fee": 100, "tvlUsd": 120000000, "version": "v3" }
  ],
  "tags": ["stablecoin", "verified", "erc-20"],
  "socialLinks": {
    "website": "https://www.circle.com/usdc",
    "twitter": "https://twitter.com/circle"
  },
  "riskIndicators": {
    "isOnDefaultTokenList": true,
    "hasVerifiedContract": true,
    "contractAge": "2732 days",
    "liquidityDepthUsd": 500000000,
    "holderConcentration": "low"
  }
}
```

***
