pub struct Token {Show 23 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 social_medias: Option<TokenSocialMedias>,
pub stats: Option<TokenStats>,
pub symbol: String,
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>,
}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"
},
"socialMedias": {
"$ref": "#/components/schemas/TokenSocialMedias"
},
"stats": {
"$ref": "#/components/schemas/TokenStats"
},
"symbol": {
"description": "ENTITY.TOKEN.SYMBOL",
"examples": [
"USDC"
],
"type": "string"
},
"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"
}
}
}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
stats: Option<TokenStats>§symbol: StringENTITY.TOKEN.SYMBOL
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
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Token
impl<'de> Deserialize<'de> for Token
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Token
impl RefUnwindSafe for Token
impl Send for Token
impl Sync for Token
impl Unpin for Token
impl UnsafeUnpin for Token
impl UnwindSafe for Token
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more