---
title: "Aggregated Project Detail"
method: GET
path: "/gateway/v1/project/detail"
tags: ["Project"]
---

# Aggregated Project Detail

`GET /gateway/v1/project/detail`

Returns a crypto project's profile with selectable sub-resources: overview (description, chains, exchanges), token_info (price, market cap, supply, all-time high/low dates), tokenomics, funding, team, contracts, social, tge_status.

**Available fields** (via `fields`): `overview`, `token_info`, `tokenomics`, `funding`, `team`, `contracts`, `social`, `tge_status`.

**Important:** `tokenomics` is a legacy supply/valuation group (`total_supply`, `circulating_supply`, `market_cap_usd`, `fdv`). It does not include token unlock schedule, allocation, or unlock percentage data. For unlock schedule and unlocked-supply percentage, use `/token/tokenomics`.

**Lookup:** accepts project names directly via `q` (e.g. `?q=aave`) — no need to call `/search/project` first. Also accepts UUID via `id`. Returns 404 if not found.

For DeFi metrics (TVL, fees, revenue, volume, users) and per-chain breakdown, use `/project/defi/metrics`.

## Query parameters

- `id` string — Surf project UUID. PREFERRED — always use this when available from a previous response (e.g. project_id from /fund/portfolio or id from /search/project). Takes priority over q.
- `x_id` string — Numeric X (Twitter) account ID. Resolves to the associated project.
- `handle` string — X (Twitter) handle without @. Resolves to the associated project via twitter account lookup.
- `q` string — Fuzzy entity name search. Only use when 'id' is not available. May return unexpected results for ambiguous names.
- `fields` string — Comma-separated sub-resources to include. Can be `overview`, `token_info`, `tokenomics`, `funding`, `team`, `contracts`, `social`, or `tge_status`.

## Response `200`

OK

- DataObjectResponseHumaProjectDetailBody
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `data` HumaProjectDetailBody, required
    - `contracts` ProjectContractsItem
      - `contracts` ProjectContractAddress[], nullable — List of deployed smart contract addresses across chains
        - `address` string, required — Contract address on the specified chain
        - `chain` string, required — Chain name like `ethereum`, `bsc`, or `solana`
        - `label` string — Human-readable label for this contract like `Token` or `Staking`
    - `funding` ProjectFundingItem
      - `rounds` ProjectFundingRound[], nullable — List of individual funding rounds
        - `amount` number, double — Amount raised in USD
        - `date` string — Date when the round closed in ISO 8601 format
        - `investors` ProjectFundingInvestor[], nullable — Investors participating in this round
          - `id` string — Surf UUID for the investor (Fund UUID when Type=FUND, Person UUID when Type=PERSON)
          - `is_lead` boolean, required — Whether this investor led the round
          - `logo` string — Investor logo URL
          - `name` string, required — Investor name
          - `type` string — Investor type (FUND or PERSON)
        - `round_name` string, required — Funding round name like `Seed`, `Series A`, or `Private`
        - `valuation` number, double — Project valuation at round close in USD
      - `total_raise` number, double — Total capital raised across all rounds in USD
    - `overview` ProjectOverviewItem
      - `chains` string[], nullable — Chains the project is deployed on
      - `description` string — Short description of the project
      - `exchanges` string[], nullable — Exchange names where the token is listed
      - `id` string, required — Surf project UUID — pass as 'id' parameter to /project/detail, /project/events, or /project/defi/metrics for exact lookup. Prefer over 'q' (fuzzy name search).
      - `logo_url` string — Project logo image URL
      - `name` string, required — Project name
      - `slug` string — URL-friendly project slug
      - `tags` string[], nullable — Project category tags like `DeFi`, `NFT`, or `Layer2`
      - `tge_status` string — TGE status: pre, upcoming, or post
      - `token_symbol` string — Primary token ticker symbol
      - `website` string — Project official website URL
      - `x_followers` integer, required — Number of X (Twitter) followers
      - `x_handle` string — X (Twitter) handle without the @ prefix
      - `x_id` string — Numeric X (Twitter) account ID for the primary X account
    - `social` ProjectSocialItem
      - `discord` ProjectSocialAccount
        - `followers_count` integer — Number of followers on this platform
        - `handle` string — Username or handle on the social platform
        - `url` string — Profile URL on the social platform
      - `github` ProjectSocialAccount
        - `followers_count` integer — Number of followers on this platform
        - `handle` string — Username or handle on the social platform
        - `url` string — Profile URL on the social platform
      - `telegram` ProjectSocialAccount
        - `followers_count` integer — Number of followers on this platform
        - `handle` string — Username or handle on the social platform
        - `url` string — Profile URL on the social platform
      - `twitter` ProjectSocialAccount
        - `followers_count` integer — Number of followers on this platform
        - `handle` string — Username or handle on the social platform
        - `url` string — Profile URL on the social platform
    - `team` ProjectTeamItem
      - `members` ProjectTeamMember[], nullable — List of team members with their roles and social links
        - `id` string — Surf Person UUID. Omitted when no linked Person record is available.
        - `image` string — Team member profile image URL
        - `name` string, required — Team member's full name
        - `role` string — Team member's role or title
        - `social_links` object — Social profile links keyed by platform name like `twitter` or `linkedin`
    - `tge_status` ProjectTgeStatusItem
      - `current_status` string — TGE status: `pre`, `upcoming`, or `post`. Omitted when unknown.
      - `exchanges` string[], nullable — Exchange names where the token is listed
      - `last_event_time` integer — Unix timestamp of the last TGE event
    - `token_info` ProjectTokenInfoItem
      - `all_time_high` number, double — All-time high price in USD
      - `all_time_high_date` integer — Unix timestamp in seconds when the all-time high price was reached
      - `all_time_low` number, double — All-time low price in USD
      - `all_time_low_date` integer — Unix timestamp in seconds when the all-time low price was reached
      - `circulating_supply` number, double — Circulating token supply
      - `fdv` number, double — Fully diluted valuation in USD
      - `high_24h` number, double — 24-hour high price in USD
      - `image` string — Token logo image URL
      - `low_24h` number, double — 24-hour low price in USD
      - `market_cap_usd` number, double — Market capitalization in USD
      - `name` string, required — Full token name
      - `price_change_24h` number, double — 24-hour price change percentage
      - `price_change_30d` number, double — 30-day price change percentage
      - `price_change_7d` number, double — 7-day price change percentage
      - `price_usd` number, double — Current price in USD
      - `symbol` string, required — Token ticker symbol
      - `total_supply` number, double — Total token supply
      - `volume_24h` number, double — 24-hour trading volume in USD
    - `tokenomics` ProjectTokenomicsItem
      - `circulating_supply` number, double — Number of tokens currently in public circulation
      - `fdv` number, double — Fully diluted valuation in USD
      - `market_cap_usd` number, double — Total market capitalization in USD
      - `total_supply` number, double — Total token supply
  - `meta` ObjectResponseMeta, required
    - `cached` boolean, required — Whether this response was served from cache
    - `credits_used` integer, required — Credits deducted for this request
    - `empty_reason` string — Hint explaining why the data array is empty, when applicable

## Other responses

- `default` — Error

---

[API](https://skmtc.dev/asksurf/apis/asksurf-public-rest-api.md) · [All operations](https://skmtc.dev/asksurf/apis/asksurf-public-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/asksurf/asksurf-public-rest-api/revisions/4153a9cb5145/schema)
