REST API // V1

API INTEGRATION

REST API REFERENCE AND INTEGRATION GUIDE FOR THE TIPCHAIN PLATFORM. TYPE-SAFE CLIENT LIBRARIES, CURL EXAMPLES, FULL ENDPOINT DOCUMENTATION, AND ERROR HANDLING.

REST
TypeScript Client
Wallet Auth
BASICS

GETTING STARTED

Base URLs

PRODUCTIONhttps://api.tipchain.dev/v1
STAGINGhttps://api.staging.tipchain.dev/v1
DEVELOPMENThttp://localhost:4000

Authentication

Protected endpoints require an API key passed via the Authorization header:

Authorization: Bearer tc_your_api_key

Obtain an API key by connecting your wallet and generating one from the dashboard settings panel.

CLIENT

@tipchain/api — TypeScript Client

THE @tipchain/api PACKAGE PROVIDES A TYPE-SAFE REST CLIENT FOR THE TIPCHAIN PLATFORM. IT HANDLES AUTHENTICATION, REQUEST SERIALIZATION, AND ERROR PARSING AUTOMATICALLY.

INSTALL

[ terminal ]
$ npm install @tipchain/api

USAGE EXAMPLE:

[ typescript ]
import { TipChainAPI } from "@tipchain/api";

// Initialize the API client
const api = new TipChainAPI("https://api.tipchain.dev/v1", {
  apiKey: "your_api_key",
});

// List all creators
const { creators } = await api.creators.list({ sort: "earnings" });

// Get a specific creator
const creator = await api.creators.get("username");

// Create a creator profile
const newCreator = await api.creators.create({
  walletAddress: "9xJ4mM3zK9L2pR7vW5qT8nB1cF6dX2yH0aG3sE4r",
  username: "rahul",
  bio: "Full-stack developer & Solana enthusiast",
});

// List transactions
const { transactions } = await api.transactions.list(walletAddress);

// Create a transaction record
const tx = await api.transactions.create({
  senderWallet: "...",
  receiverWallet: "...",
  amount: 1.0,
  token: "SOL",
  txHash: "5KtPn1...",
  message: "Great work!",
});

// Get analytics
const { overview } = await api.analytics.overview(walletAddress);
const { revenue } = await api.analytics.revenue(walletAddress, 30);
i

THE @tipchain/api CLIENT IS FULLY TYPED WITH COMPLETE TypeScript DEFINITIONS FOR ALL REQUEST AND RESPONSE TYPES. USE IT AS A LIGHTER ALTERNATIVE TO THE FULL SDK WHEN YOU ONLY NEED REST API ACCESS.

REFERENCE

ENDPOINTS

U

CREATORS

(6 routes)
GET/creatorspublic
GET/creators/search?q=&category=&sort=&limit=&offset=public
GET/creator/:walletpublic
GET/creator/by-username/:usernamepublic
POST/creator
PUT/creator/:wallet
T

TRANSACTIONS

(3 routes)
GET/transactionspublic
GET/transactions/:wallet?limit=public
POST/transaction
A

ANALYTICS

(5 routes)
GET/analytics/:wallet/overview
GET/analytics/:wallet/revenue?days=
GET/analytics/:wallet/tips
GET/analytics/:wallet/growth
GET/analytics/:wallet/export?days=
L

LEADERBOARD

(1 routes)
GET/leaderboard?limit=public
B

BADGES

(3 routes)
GET/badgespublic
GET/badges/supporter/:walletpublic
POST/badges/award
M

MEMBERSHIPS

(6 routes)
GET/memberships/:walletpublic
POST/memberships
PUT/memberships/:id
DELETE/memberships/:id
POST/memberships/subscribe
GET/memberships/my/:wallet
S

SOCIAL

(9 routes)
POST/follow
DELETE/follow/:follower/:creator
GET/follow/:wallet/followerspublic
GET/follow/:wallet/followingpublic
POST/comments
GET/comments/:walletpublic
POST/updates
GET/updates/:walletpublic
GET/feed/:wallet
N

NOTIFICATIONS

(3 routes)
GET/notifications/:wallet
PUT/notifications/:id/read
PUT/notifications/read-all/:wallet
R

REFERRALS

(3 routes)
GET/referrals/:wallet
POST/referrals
GET/referrals/code/:codepublic
X

ADMIN

(6 routes)
GET/admin/analytics
GET/admin/creators
GET/admin/users
PUT/admin/creators/:wallet/verify
PUT/admin/creators/:wallet/feature
GET/admin/healthpublic
C

CATEGORIES

(5 routes)
GET/categoriespublic
GET/creators/trendingpublic
GET/creators/featuredpublic
GET/creators/recentpublic
GET/creators/recommendedpublic
EXAMPLES

CURL EXAMPLES

LIST CREATORS

Fetch all creators
[ curl ]
curl -X GET "https://api.tipchain.dev/v1/creators"

GET CREATOR

Fetch a single creator by username
[ curl ]
curl -X GET "https://api.tipchain.dev/v1/creator/by-username/rahul"

CREATE CREATOR

Create a new creator profile
[ curl ]
curl -X POST "https://api.tipchain.dev/v1/creator" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer tc_your_api_key" \
  -d '{
    "walletAddress": "9xJ4mM3z...",
    "username": "rahul",
    "bio": "Full-stack developer"
  }'

RECORD TX

Record a transaction
[ curl ]
curl -X POST "https://api.tipchain.dev/v1/transaction" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer tc_your_api_key" \
  -d '{
    "senderWallet": "9xJ4mM3z...",
    "receiverWallet": "8yK2nN4a...",
    "amount": 1.5,
    "token": "SOL",
    "message": "Thanks!"
  }'

GET ANALYTICS

Get dashboard analytics
[ curl ]
curl -X GET "https://api.tipchain.dev/v1/analytics/9xJ4mM3z.../overview" \
  -H "Authorization: Bearer tc_your_api_key"
SCHEMA

RESPONSE FORMAT

Standard Response

[ json ]
// Successful response
{
  "success": true,
  "data": { ... },
  "timestamp": "2025-01-15T10:30:00Z"
}

// List response (paginated)
{
  "success": true,
  "data": [ ... ],
  "timestamp": "2025-01-15T10:30:00Z"
}

Error Response

[ json ]
// Error response
{
  "success": false,
  "error": "Creator not found",
  "code": "NOT_FOUND",
  "timestamp": "2025-01-15T10:30:00Z"
}

// Validation error
{
  "success": false,
  "error": "Validation failed",
  "code": "BAD_REQUEST",
  "details": {
    "username": "Username already taken"
  }
}
ERRORS

ERROR CODES

ALL API ERRORS RETURN A STANDARD JSON RESPONSE WITH AN HTTP STATUS CODE, MACHINE-READABLE ERROR CODE, AND HUMAN-READABLE DESCRIPTION.

CodeNameDescription
400BAD_REQUESTInvalid request body or parameters
401UNAUTHORIZEDMissing or invalid API key / wallet signature
403FORBIDDENWallet does not own the resource
404NOT_FOUNDCreator, transaction, or resource not found
409CONFLICTUsername already taken or duplicate resource
429RATE_LIMITEDToo many requests. Retry after the specified interval
500INTERNAL_ERRORServer error. Contact support if persistent
EVENTS

WEBHOOKS

TIPCHAIN SUPPORTS OUTGOING WEBHOOKS FOR REAL-TIME EVENT NOTIFICATIONS. CONFIGURE WEBHOOK URLs IN THE DASHBOARD TO RECEIVE POST REQUESTS WHEN SPECIFIC EVENTS OCCUR.

Supported Events

tip.received

A tip was sent to a creator

creator.created

A new creator profile was created

membership.activated

A user subscribed to a membership tier

badge.awarded

A badge was awarded to a supporter

Payload Format

[ json ]
{
  "event": "tip.received",
  "data": {
    "id": "tx_abc123",
    "senderWallet": "...",
    "receiverWallet": "...",
    "amount": "0.5",
    "token": "SOL",
    "message": "Great work!",
    "timestamp": "2025-01-15T10:30:00Z"
  },
  "timestamp": "2025-01-15T10:30:00Z"
}

Plugin System

Webhooks are the foundation of the TipChain plugin architecture. Plugins can hook into any event to extend platform functionality — from NFT badge minting to Discord notifications.

RESOURCES

FURTHER READING

[ SDK DOCS ]

Universal JavaScript SDK for building app integrations with TipChain.

SDK DOCS >>

[ SOURCE CODE ]

Browse the API client source on GitHub. MIT licensed.

GITHUB >>

[ ARCHITECTURE ]

System architecture — backend, database, plugins, and Solana integration.

ARCHITECTURE >>