Overview

The MemeTrade API provides programmatic access to token data, market information, and platform features. Built with REST principles and real-time WebSocket support.

Base URL

https://api.memetrade.com/v1

Authentication

Most endpoints are public and don't require authentication. For authenticated endpoints, use API keys:

curl -H "Authorization: Bearer YOUR_API_KEY" \
     https://api.memetrade.com/v1/portfolio

Get your API key →

Rate Limits

  • Public endpoints: 100 requests/minute

  • Authenticated: 1000 requests/minute

  • WebSocket: 5 connections per IP

Quick Start

Get All Tokens

curl https://api.memetrade.com/v1/tokens
{
  "data": [
    {
      "address": "0x123...",
      "name": "Doge Moon",
      "symbol": "DMOON",
      "price": "0.001234",
      "marketCap": "123456.78",
      "volume24h": "45678.90",
      "holders": 1250,
      "createdAt": "2024-01-15T10:30:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 150
  }
}

Get Token Details

curl https://api.memetrade.com/v1/tokens/0x123...
{
  "data": {
    "address": "0x123...",
    "name": "Doge Moon",
    "symbol": "DMOON",
    "description": "Taking Doge to the moon!",
    "image": "https://cdn.memetrade.com/tokens/dmoon.png",
    "price": "0.001234",
    "marketCap": "123456.78",
    "volume24h": "45678.90",
    "priceChange24h": "12.5",
    "holders": 1250,
    "creator": "0xabc...",
    "creatorFee": "3.0",
    "totalSupply": "1000000",
    "circulatingSupply": "850000",
    "createdAt": "2024-01-15T10:30:00Z",
    "contracts": {
      "token": "0x123...",
      "pool": "0x456..."
    }
  }
}

Get Market Data

curl https://api.memetrade.com/v1/markets
{
  "data": {
    "totalMarketCap": "12345678.90",
    "totalVolume24h": "987654.32",
    "totalTokens": 150,
    "totalHolders": 5430,
    "topGainers": [...],
    "topLosers": [...],
    "newTokens": [...]
  }
}

Available Endpoints

Tokens

  • GET /tokens - List all tokens

  • GET /tokens/{address} - Get token details

  • GET /tokens/{address}/chart - Get price chart data

  • GET /tokens/{address}/holders - Get token holders

  • GET /tokens/{address}/transactions - Get token transactions

Markets

  • GET /markets - Get market overview

  • GET /markets/trending - Get trending tokens

  • GET /markets/new - Get newest tokens

  • GET /markets/gainers - Get top gainers

  • GET /markets/losers - Get top losers

Portfolio (Authenticated)

  • GET /portfolio - Get user portfolio

  • GET /portfolio/tokens - Get user tokens

  • GET /portfolio/transactions - Get user transactions

  • GET /portfolio/rewards - Get liquidity rewards

Trading

  • GET /trading/quote - Get trade quote

  • POST /trading/transaction - Get transaction data

Response Format

All API responses follow this structure:

{
  "success": true,
  "data": { ... },
  "pagination": { ... },
  "timestamp": "2024-01-15T10:30:00Z"
}

Error Response

{
  "success": false,
  "error": {
    "code": "INVALID_TOKEN",
    "message": "Token address not found",
    "details": { ... }
  },
  "timestamp": "2024-01-15T10:30:00Z"
}

Real-time Data

WebSocket Connection

const ws = new WebSocket("wss://api.memetrade.com/v1/ws");

// Subscribe to token price updates
ws.send(
  JSON.stringify({
    action: "subscribe",
    channel: "prices",
    tokens: ["0x123...", "0x456..."],
  })
);

ws.onmessage = (event) => {
  const data = JSON.parse(event.data);
  console.log("Price update:", data);
};

Available Channels

  • prices - Real-time token prices

  • trades - Live trade execution

  • markets - Market data updates

  • portfolio - Portfolio changes (authenticated)

SDK Libraries

JavaScript/TypeScript

npm install @memetrade/api
import { MemeTradeAPI } from "@memetrade/api";

const api = new MemeTradeAPI({
  apiKey: "your-api-key", // Optional
});

// Get token data
const token = await api.tokens.get("0x123...");
console.log(token.name, token.price);

// Subscribe to real-time updates
api.ws.subscribe("prices", ["0x123..."], (data) => {
  console.log("Price update:", data);
});

Python

pip install memetrade-api
from memetrade_api import MemeTradeAPI

api = MemeTradeAPI(api_key='your-api-key')

# Get token data
token = api.tokens.get('0x123...')
print(f"{token.name}: ${token.price}")

# Get market data
markets = api.markets.overview()
print(f"Total Market Cap: ${markets.total_market_cap}")

Examples

Building a Price Tracker

// Track multiple token prices
const tokens = ["0x123...", "0x456...", "0x789..."];

tokens.forEach(async (address) => {
  const token = await api.tokens.get(address);
  console.log(`${token.symbol}: $${token.price}`);
});

// Real-time updates
api.ws.subscribe("prices", tokens, (update) => {
  console.log(`${update.symbol}: $${update.price} (${update.change}%)`);
});

Portfolio Monitoring

// Get user portfolio (requires authentication)
const portfolio = await api.portfolio.get();

portfolio.tokens.forEach((holding) => {
  console.log(
    `${holding.symbol}: ${holding.balance} tokens ($${holding.value})`
  );
});

// Monitor portfolio changes
api.ws.subscribe("portfolio", (update) => {
  console.log("Portfolio updated:", update);
});

Status & Monitoring

Support


Ready to start building? Check out our Authentication guide or explore specific endpoints like Tokens API and Markets API.

Last updated