Skip to main content

Token Metadata API

What you'll learn
  • How to fetch metadata for any token
  • Understanding token deployment status and bonding curve completion
  • Tracking Raydium deployment status
  • Accessing token social and authority details

Introduction

The Token Metadata API enables you to retrieve comprehensive metadata about token deployments, including bonding curve completion status and Raydium deployment information. This API is designed for tracking token launches and accessing associated deployment details.

Access Requirements

Authentication

All requests require a Bearer token in UUID format:

Authorization: Bearer your-api-key-here

Base URL

https://api.callstaticrpc.com/pumpfun/v1

Data Structure

The API returns detailed metadata about token deployments:

{
"success": true,
"data": {
"id": "dep_123456789",
"deployer": "AaA9aA3aA6aA2aA8aA4aA7aAa1aA5aA9aA3aA6aA2a",
"deploy_timestamp": 1679529600000,
"mint": "BbB3bB7bB2bB9bB4bB8bB1bBb5bB2bB6bB3bB9bB4bB",
"name": "Sample Token",
"symbol": "SMPL",
"decimals": 9,
"initial_supply": 1000000000000,
"total_supply": 1000000000000, // Always 1 billion (1,000,000,000) tokens
"description": "A sample token for demonstration purposes",
"mint_authority": "AaA9aA3aA6aA2aA8aA4aA7aAa1aA5aA9aA3aA6aA2a",
"freeze_authority": "AaA7aA1aA4aA8aA2aA6aA9aAa3aA7aA1aA4aA8aA5a",
"twitter": "@sampletoken",
"telegram": "https://t.me/sampletoken",
"website": "https://sampletoken.com",
"uri": "https://arweave.net/abc123",
"image_uri": "https://arweave.net/xyz789",
"is_complete": true, // Indicates bonding curve filled and Raydium deployment
"complete_timestamp": 1679529605000 // When Raydium deployment completed
}
}
import axios from 'axios';

interface TokenMetadata {
id: string;
deployer: string;
deploy_timestamp: number;
mint: string;
name: string;
symbol: string;
decimals: number;
initial_supply: number; // Always 1 billion
total_supply: number; // Always 1 billion
description: string;
mint_authority: string;
freeze_authority: string;
twitter?: string;
telegram?: string;
website?: string;
uri: string;
image_uri: string;
is_complete: boolean; // Bonding curve and Raydium status
complete_timestamp?: number;
}

interface MetadataResponse {
success: boolean;
data: TokenMetadata;
}

class TokenMetadataClient {
private readonly baseUrl = 'https://api.callstaticrpc.com/pumpfun/v1';

constructor(private readonly apiKey: string) {}

async getTokenMetadata(mint: string): Promise<MetadataResponse> {
const response = await axios.get(`${this.baseUrl}/token/metadata`, {
headers: {
Authorization: `Bearer ${this.apiKey}`,
'Content-Type': 'application/json'
},
params: { mint }
});

return response.data;
}

}

Error Handling

The API returns standard HTTP status codes:

Status CodeDescription
200Successful response
400Bad request
401Unauthorized - Invalid or missing bearer token
500Internal server error
Real-time Updates

For real-time token bonding updates, check out our WebSocket Streams API documentation.

Need Help?

For additional support: