pub struct Token {Show 28 fields
pub address: String,
pub chain: String,
pub coingecko_coin_id: Option<String>,
pub decimals: i32,
pub description: Option<String>,
pub dev_last_token_created_at: Option<String>,
pub dev_total_tokens: Option<String>,
pub extension: Option<TokenExtra>,
pub extra: Option<TokenExtra>,
pub image_url: Option<String>,
pub market: Option<String>,
pub market_data: Option<TokenMarketData>,
pub metadata_address: Option<String>,
pub name: String,
pub score: Option<f64>,
pub score_breakdown: Option<ScoreBreakdown>,
pub security: Option<TokenSecuritySummary>,
pub social_medias: Option<TokenSocialMedias>,
pub stats: Option<TokenStats>,
pub symbol: String,
pub tier: Option<i32>,
pub token_created_at: Option<i64>,
pub token_created_block_height: Option<String>,
pub token_created_slot: Option<String>,
pub token_created_tx_signature: Option<String>,
pub token_creators: Vec<TokenCreator>,
pub uri: Option<String>,
pub warning_badge: Option<String>,
}Expand description
Token entity — mirrors TS TokenDTO extends TokenMetadataDTO.
TS uses class inheritance to flatten metadata into the top level.
Rust uses #[serde(flatten)] for the same effect.
JSON schema
{
"description": "Token entity — mirrors TS `TokenDTO extends TokenMetadataDTO`.\n\nTS uses class inheritance to flatten metadata into the top level.\nRust uses `#[serde(flatten)]` for the same effect.",
"type": "object",
"required": [
"address",
"chain",
"decimals",
"name",
"symbol"
],
"properties": {
"address": {
"description": "ENTITY.TOKEN.ADDRESS",
"examples": [
"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
],
"type": "string"
},
"chain": {
"description": "ENTITY.TOKEN.CHAIN",
"examples": [
"sol"
],
"type": "string"
},
"coingeckoCoinId": {
"description": "ENTITY.TOKEN.COINGECKO_COIN_ID",
"examples": [
"usd-coin"
],
"type": "string"
},
"decimals": {
"description": "ENTITY.TOKEN.DECIMALS",
"examples": [
9
],
"type": "integer",
"format": "int32"
},
"description": {
"description": "ENTITY.TOKEN.DESCRIPTION",
"examples": [
"USDC is a stablecoin pegged to the US dollar"
],
"type": "string"
},
"devLastTokenCreatedAt": {
"description": "ENTITY.TOKEN.DEV_LAST_TOKEN_CREATED_AT",
"examples": [
"2025-12-03T09:23:34.000Z"
],
"type": "string"
},
"devTotalTokens": {
"description": "ENTITY.TOKEN.DEV_TOTAL_TOKENS",
"examples": [
"163"
],
"type": "string"
},
"extension": {
"$ref": "#/components/schemas/TokenExtra"
},
"extra": {
"$ref": "#/components/schemas/TokenExtra"
},
"imageUrl": {
"description": "ENTITY.TOKEN.IMAGE_URL",
"examples": [
"https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/logo.png"
],
"type": "string"
},
"market": {
"description": "ENTITY.TOKEN.MARKET",
"examples": [
"USDC-SOL"
],
"type": "string"
},
"marketData": {
"$ref": "#/components/schemas/TokenMarketData"
},
"metadataAddress": {
"description": "ENTITY.TOKEN.METADATA_ADDRESS",
"examples": [
"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"
],
"type": "string"
},
"name": {
"description": "ENTITY.TOKEN.NAME",
"examples": [
"USD Coin"
],
"type": "string"
},
"score": {
"description": "Search relevance score from OpenSearch _score",
"type": "number",
"format": "double"
},
"scoreBreakdown": {
"$ref": "#/components/schemas/ScoreBreakdown"
},
"security": {
"$ref": "#/components/schemas/TokenSecuritySummary"
},
"socialMedias": {
"$ref": "#/components/schemas/TokenSocialMedias"
},
"stats": {
"$ref": "#/components/schemas/TokenStats"
},
"symbol": {
"description": "ENTITY.TOKEN.SYMBOL",
"examples": [
"USDC"
],
"type": "string"
},
"tier": {
"description": "Search tier: 0 = VIP, 1 = verified, 2 = emerging, null = unverified",
"type": "integer",
"format": "int32"
},
"tokenCreatedAt": {
"description": "ENTITY.TOKEN.TOKEN_CREATED_AT",
"examples": [
1710417600000
],
"type": "integer",
"format": "int64"
},
"tokenCreatedBlockHeight": {
"description": "ENTITY.TOKEN.TOKEN_CREATED_BLOCK_HEIGHT",
"examples": [
"220000000"
],
"type": "string"
},
"tokenCreatedSlot": {
"description": "ENTITY.TOKEN.TOKEN_CREATED_SLOT",
"examples": [
"230000000"
],
"type": "string"
},
"tokenCreatedTxSignature": {
"description": "ENTITY.TOKEN.TOKEN_CREATED_TX_SIGNATURE",
"examples": [
"5dJ1BxPiFT7w7aBdkxNy2jopGZnZoLwRwS8e9GkEXrVz..."
],
"type": "string"
},
"tokenCreators": {
"description": "ENTITY.TOKEN.TOKEN_CREATORS",
"type": "array",
"items": {
"$ref": "#/components/schemas/TokenCreator"
}
},
"uri": {
"description": "ENTITY.TOKEN.URI",
"examples": [
"https://arweave.net/abc123"
],
"type": "string"
},
"warningBadge": {
"description": "Warning badge: \"unverified\", \"potential_scam\", \"honeypot\", or null",
"type": "string"
}
}
}Fields§
§address: StringENTITY.TOKEN.ADDRESS
chain: StringENTITY.TOKEN.CHAIN
coingecko_coin_id: Option<String>ENTITY.TOKEN.COINGECKO_COIN_ID
decimals: i32ENTITY.TOKEN.DECIMALS
description: Option<String>ENTITY.TOKEN.DESCRIPTION
dev_last_token_created_at: Option<String>ENTITY.TOKEN.DEV_LAST_TOKEN_CREATED_AT
dev_total_tokens: Option<String>ENTITY.TOKEN.DEV_TOTAL_TOKENS
extension: Option<TokenExtra>§extra: Option<TokenExtra>§image_url: Option<String>ENTITY.TOKEN.IMAGE_URL
market: Option<String>ENTITY.TOKEN.MARKET
market_data: Option<TokenMarketData>§metadata_address: Option<String>ENTITY.TOKEN.METADATA_ADDRESS
name: StringENTITY.TOKEN.NAME
score: Option<f64>§score_breakdown: Option<ScoreBreakdown>§security: Option<TokenSecuritySummary>§stats: Option<TokenStats>§symbol: StringENTITY.TOKEN.SYMBOL
tier: Option<i32>Search tier: 0 = VIP, 1 = verified, 2 = emerging, null = unverified
token_created_at: Option<i64>ENTITY.TOKEN.TOKEN_CREATED_AT
token_created_block_height: Option<String>ENTITY.TOKEN.TOKEN_CREATED_BLOCK_HEIGHT
token_created_slot: Option<String>ENTITY.TOKEN.TOKEN_CREATED_SLOT
token_created_tx_signature: Option<String>ENTITY.TOKEN.TOKEN_CREATED_TX_SIGNATURE
token_creators: Vec<TokenCreator>ENTITY.TOKEN.TOKEN_CREATORS
uri: Option<String>ENTITY.TOKEN.URI
warning_badge: Option<String>Warning badge: “unverified”, “potential_scam”, “honeypot”, or null