Skip to main content

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.

Platform Overview

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:
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)

Getting Started

1

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.
2

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.
3

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.

Response Format

All API responses follow a consistent structure:
{
  "data": [...], // Response data
  "count": 25,   // Total count (for paginated responses)
  "page": 1,     // Current page
  "limit": 10    // Items per page
}

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.