Odin API Documentation
Welcome to the Odin API documentation. Odin is a crypto trading platform built on Bitcoin infrastructure, featuring token discovery, trade viewing, social interactions, and user management.
Token Management Create, manage, and discover tokens with comprehensive metadata and social features.
Trade Data View trade history and market data with detailed filtering options.
Social Features Community comments, favorites, and social engagement around tokens.
User Management User profiles, balances, activity tracking, and achievements.
API Architecture
The Odin API follows RESTful principles:
REST Endpoints
Authentication
Data Format
Standard HTTP methods for operations:
GET for data retrieval (most endpoints)
POST for creating resources (some endpoints)
PATCH for partial updates (limited endpoints)
DELETE for resource removal (limited endpoints)
Most endpoints are public and don’t require authentication. JWT authentication is only required for:
Creating or modifying user-owned resources
Accessing private user data
Administrative actions
Specific protected endpoints
JSON API responses with:
Consistent response structure
Pagination for large datasets
Error handling with descriptive messages
Standardized field naming
Getting Started
Explore Public Data
Start by exploring tokens and market data without authentication. # Get list of tokens
curl -X GET 'https://api.odin.fun/v1/tokens?limit=10'
# View trade history
curl -X GET 'https://api.odin.fun/v1/trades?limit=10'
# Search across platform
curl -X GET 'https://api.odin.fun/v1/search?q=bitcoin'
Most endpoints don’t require authentication and can be accessed immediately.
Authentication Setup (Optional)
Set up authentication only if you need to access protected endpoints or user-specific data. Follow our detailed getting started guide: Quickstart Guide const authRequest = {
publickey: "your_public_key" ,
delegation: "your_delegation" ,
timestamp: Date . now (). toString (),
signature: "your_signature"
};
const response = await fetch ( 'https://api.odin.fun/v1/auth' , {
method: 'POST' ,
headers: { 'Content-Type' : 'application/json' },
body: JSON . stringify ( authRequest )
});
const { token } = await response . json ();
Save the returned JWT token for subsequent authenticated API calls.
Access Protected Endpoints
Use authentication to access protected endpoints that require JWT tokens. # Create a new tag (requires auth)
curl -X POST 'https://api.odin.fun/v1/tags' \
-H 'Authorization: Bearer YOUR_JWT_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"name": "meme", "description": "Meme tokens"}'
# Claim an achievement (requires auth)
curl -X POST 'https://api.odin.fun/v1/user/achievement/1/claim' \
-H 'Authorization: Bearer YOUR_JWT_TOKEN'
Only specific endpoints require authentication - most data viewing endpoints are public.
All API responses follow a consistent structure:
Success Response
Error Response
Single Item
{
"data" : [ ... ], // Response data
"count" : 25 , // Total count (for paginated responses)
"page" : 1 , // Current page
"limit" : 10 // Items per page
}
{
"error" : "Bad Request" ,
"message" : "Invalid parameter: limit must be between 1 and 100" ,
"statusCode" : 400
}
{
"data" : {
"id" : "btc" ,
"name" : "Bitcoin" ,
"price" : 50000
}
}
Base URL
https://api.odin.fun/v1/v1
Support & Resources
API Reference Complete endpoint documentation with examples
Getting Started Guide Step-by-step integration tutorial
Community Join our Discord for support and updates
This API documentation covers all public endpoints. Some administrative functions may require special permissions.