Sugar.money
  • About Sugar 🍩
  • Saving liquidity - pSOL 🍯
  • Rewards
    • Value distribution
    • Giveaway
    • Referrals
    • Points
      • Airdrop bonus
      • Leagues
    • Creator rewards
  • Fees
  • Coin basics
    • 👩‍🍳Coin Creation
    • 🔄Coin trading
    • 🍒Coin migration
  • Links
    • Information
  • Documentation
    • API
    • Websocket
    • Important Addresses
Powered by GitBook
On this page
  1. Documentation

API

This page documents the API that powers sugar.money

PreviousInformationNextWebsocket

Last updated 5 days ago

CtrlK
  • SDKs
  • Authentication
  • Rate Limiting
  • API Features
  • Base URL
  • GETGet coin candlestick data
  • POSTCreate a coin comment
  • GETGet coin comments
  • GETGet coin details
  • POSTDelete a coin
  • POSTMark coin as favorite
  • POSTRemove coin from favorites
  • GETGet coin holders
  • GETGet coin trading history
  • GETGet featured coin
  • POSTUpload coin metadata
  • GETGet coin minting information
  • POSTCreate a new coin
  • GETGet paginated list of coins
  • GETSearch coins
  • GETGet fees information
  • GETGet SOL price
  • POSTCreate a new game
  • GETGet current game
  • GETGet game history
  • POSTUpdate game state
  • GETCheck game payout progress
  • POSTRequest game payout
  • POSTSubmit game payout transaction
  • GETGet recent games
  • GETGet points to tickets exchange rate
  • GETGet user ranks
  • GETCheck if referral code exists
  • POSTLink referral code
  • GETGet user referral data
  • POSTCreate referral code
  • GETCheck referral payout progress
  • POSTRequest referral payout
  • POSTSubmit referral payout transaction
  • GETGet ticket exchange rate
  • GETGet maximum ticket amount
  • GETCheck ticket payout progress
  • POSTRequest ticket payout
  • POSTSubmit ticket payout transaction
  • POSTSign a transaction
  • GETGet user coin trade metrics
  • GETGet user created coins
  • GETCheck creator rewards payout progress
  • POSTRequest creator rewards payout
  • POSTSubmit creator rewards payout transaction
  • GETGet user favorite coins
  • GETGet user coin holdings
  • GETGet user points history
  • GETGet user preferences
  • PATCHUpdate user preferences
  • GETGet user tickets

SDKs

To make integration easier, we provide official SDKs:

  • Node.js SDK

  • Rust SDK - coming soon 🦀

Please open an issue here if you run into issues using any of our SDKs.

Authentication

Most endpoints require authentication via a session cookie (__Secure-next-auth.session-token). To extract this cookie from your browser session, please refer to our authentication guide for detailed instructions. Alternatively, use the SDKs listed above.

Rate Limiting

Please note that most API endpoints are rate-limited to ensure fair usage and platform stability.

API Features

Our API includes:

  • 📈 Coins & Trading: Coin creation, candlestick data, holder information, and search capabilities

  • 🎮 Rewards: Automate collecting rewards

  • 💰 Payouts & Rewards: Unified payout system for rewards, referrals, ticket redeeming, and creator rewards.

Base URL

All API endpoints are available at: https://sugar.money/api/v1


Get coin candlestick data

get
Path parameters
addressstringRequired

Coin address/mint

Query parameters
resolutionstring · enumRequired

Time resolution for candlestick data

Possible values:
offsetintegerOptional

Offset for pagination

Default: 0
limitinteger · min: 1Required

Number of candlesticks to return

toTimestampinteger · min: 1Required

End timestamp

isFirstDataRequestbooleanOptional

Whether this is the first data request

Responses
200

Candlestick data retrieved successfully

application/json
400

Bad request

application/json
500

Internal server error

application/json
get
GET /api/v1/coin/{address}/candlestick?resolution=1S&limit=1&toTimestamp=1 HTTP/1.1
Host: 
Accept: */*
{
  "data": [
    {
      "time": 1,
      "open": "text",
      "high": "text",
      "low": "text",
      "close": "text",
      "volume": "text"
    }
  ],
  "message": "text"
}

Create a coin comment

post
Authorizations
Path parameters
addressstringRequired

Coin address/mint

Body
commentstringRequired

Comment text

Responses
200

Comment created successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/coin/{address}/comment HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 18

{
  "comment": "text"
}
{
  "data": {
    "id": "text",
    "mint": "text",
    "message": "text",
    "userId": "text",
    "createdAt": "2025-08-25T12:23:40.894Z"
  },
  "message": "text"
}

Get coin comments

get
Path parameters
addressstringRequired

Coin address/mint

Query parameters
pageintegerOptional

Page number

Default: 0
limitintegerOptional

Number of comments per page

Default: 40
Responses
200

Comments retrieved successfully

application/json
500

Internal server error

application/json
get
GET /api/v1/coin/{address}/comments HTTP/1.1
Host: 
Accept: */*
{
  "data": [
    {
      "id": "text",
      "message": "text",
      "createdAt": "2025-08-25T12:23:40.894Z",
      "user": {
        "username": "text",
        "image": "text",
        "publicKey": "text"
      }
    }
  ],
  "message": "text"
}

Get coin details

get
Path parameters
addressstringRequired

Coin address/mint

Responses
200

Coin details retrieved successfully

application/json
400

Bad request

application/json
404

Coin not found

application/json
500

Internal server error

application/json
get
GET /api/v1/coin/{address} HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "address": "text",
    "coinSymbol": "text",
    "coinName": "text",
    "coinSrc": "text",
    "coinCreationTime": 1,
    "coinMarketCap": 1,
    "username": "text",
    "holders": 1,
    "comments": 1,
    "xUrl": "text",
    "websiteUrl": "text",
    "featured": true,
    "coinAmount": "text",
    "solPrice": 1,
    "solAmount": "text",
    "bondingCurve": "text",
    "creator": "text",
    "coinDescription": "text",
    "bondingCurveComplete": true,
    "raydiumPoolAddress": "text",
    "migratedToRaydiumAt": "text"
  },
  "message": "text"
}

Delete a coin

post
Authorizations
Path parameters
addressstringRequired

Coin address/mint

Responses
200

Coin deletion result

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/coin/{address}/delete HTTP/1.1
Host: 
Accept: */*
{
  "data": true,
  "message": "text"
}

Mark coin as favorite

post
Authorizations
Path parameters
addressstringRequired

Coin address/mint

Responses
200

Coin marked as favorite

application/json
400

Bad request

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/coin/{address}/favorite HTTP/1.1
Host: 
Accept: */*
{
  "data": true,
  "message": "text"
}

Remove coin from favorites

post
Authorizations
Path parameters
addressstringRequired

Coin address/mint

Responses
200

Coin removed from favorites

application/json
400

Bad request

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/coin/{address}/unfavorite HTTP/1.1
Host: 
Accept: */*
{
  "data": true,
  "message": "text"
}

Get coin holders

get
Path parameters
addressstringRequired

Coin address/mint

Responses
200

Coin holders retrieved successfully

application/json
500

Internal server error

application/json
get
GET /api/v1/coin/{address}/holders HTTP/1.1
Host: 
Accept: */*
{
  "data": [
    {
      "address": "text",
      "amount": "text"
    }
  ],
  "message": "text"
}

Get coin trading history

get
Path parameters
addressstringRequired

Coin address/mint

Query parameters
pageintegerOptional

Page number

Default: 0
limitintegerOptional

Number of trades per page

Default: 20
Responses
200

Trading history retrieved successfully

application/json
500

Internal server error

application/json
get
GET /api/v1/coin/{address}/trades HTTP/1.1
Host: 
Accept: */*
{
  "data": [
    {
      "publicKey": "text",
      "isBuy": true,
      "time": 1,
      "price": "text",
      "amount": 1,
      "totalUsd": 1,
      "signature": "text",
      "solAmount": 1
    }
  ],
  "message": "text"
}

Get featured coin

get
Responses
200

Featured coin retrieved successfully

application/json
500

Internal server error

application/json
get
GET /api/v1/coin/featured HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "address": "text",
    "coinSymbol": "text",
    "coinName": "text",
    "coinSrc": "text",
    "coinCreationTime": 1,
    "coinMarketCap": 1,
    "username": "text",
    "holders": 1,
    "comments": 1,
    "xUrl": "text",
    "websiteUrl": "text",
    "featured": true,
    "coinAmount": "text",
    "solPrice": 1,
    "solAmount": "text",
    "bondingCurve": "text",
    "creator": "text",
    "coinDescription": "text",
    "bondingCurveComplete": true,
    "raydiumPoolAddress": "text",
    "migratedToRaydiumAt": "text"
  },
  "message": "text"
}

Upload coin metadata

post
Authorizations
Body
fileIdstringRequired

Unique file identifier

chunkIndexintegerRequired

Current chunk index

totalChunksinteger · min: 1Required

Total number of chunks

chunkstringRequired

Base64 encoded chunk data

operationstring · enumRequired

Operation type (coin-creation-via-api or ipfs-url-for-metadata)

Possible values:
Responses
200

Metadata uploaded successfully

application/json
400

Bad request

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/coin/metadata HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 222

{
  "fileId": "text",
  "chunkIndex": 1,
  "totalChunks": 1,
  "chunk": "text",
  "operation": "coin-creation-via-api",
  "metadata": {
    "name": "text",
    "symbol": "text",
    "description": "text",
    "twitter": "text",
    "website": "text",
    "migration_in_psol": true
  }
}
{
  "data": {
    "ipfsUrlOriginalImage": "text",
    "ipfsUrlCompressedImage": "text",
    "ipfsUrlMetadata": "text",
    "fileId": "text",
    "status": "text"
  },
  "message": "text"
}

Get coin minting information

get
Authorizations
Responses
200

Coin minting information retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/coin/mint HTTP/1.1
Host: 
Accept: */*
{
  "data": "text",
  "message": "text"
}

Create a new coin

post
Authorizations
Body
fileIdstringRequired

File ID from metadata upload

ipfsUrlOriginalImagestringOptional

IPFS URL for original image

ipfsUrlMetadatastringOptional

IPFS URL for metadata

ipfsUrlCompressedImagestringOptional

IPFS URL for compressed image

migrationInPsolbooleanOptional

Whether to migrate in PSOL

Responses
200

Coin created successfully

application/json
400

Bad request

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/coin/mint HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 127

{
  "fileId": "text",
  "ipfsUrlOriginalImage": "text",
  "ipfsUrlMetadata": "text",
  "ipfsUrlCompressedImage": "text",
  "migrationInPsol": true
}
{
  "data": {
    "address": "text",
    "coinSymbol": "text",
    "coinName": "text",
    "coinSrc": "text",
    "coinCreationTime": 1,
    "coinMarketCap": 1,
    "username": "text",
    "holders": 1,
    "comments": 1,
    "xUrl": "text",
    "websiteUrl": "text",
    "featured": true,
    "coinAmount": "text",
    "solPrice": 1,
    "solAmount": "text",
    "bondingCurve": "text",
    "creator": "text",
    "coinDescription": "text",
    "bondingCurveComplete": true,
    "raydiumPoolAddress": "text",
    "migratedToRaydiumAt": "text"
  },
  "message": "text"
}

Get paginated list of coins

get
Query parameters
pageintegerOptional

Page number

Default: 0
filterstringOptional

Filter type

bondingCurveFromnumberOptional

Minimum bonding curve value

bondingCurveTonumberOptional

Maximum bonding curve value

marketCapFromnumberOptional

Minimum market cap

marketCapTonumberOptional

Maximum market cap

coinAgeFromnumberOptional

Minimum coin age

coinAgeTonumberOptional

Maximum coin age

toShowstringOptional

Comma-separated strings to include

doNotShowstringOptional

Comma-separated strings to exclude

coinHoldersFromnumberOptional

Minimum number of coin holders

coinHoldersTonumberOptional

Maximum number of coin holders

hideNsfwbooleanOptional

Hide NSFW content

solPriceUsdnumberOptional

SOL price in USD

Responses
200

Coins retrieved successfully

application/json
500

Internal server error

application/json
get
GET /api/v1/coins HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "coins": [
      {
        "address": "text",
        "coinSymbol": "text",
        "coinName": "text",
        "coinSrc": "text",
        "coinCreationTime": 1,
        "coinMarketCap": 1,
        "username": "text",
        "holders": 1,
        "comments": 1,
        "xUrl": "text",
        "websiteUrl": "text",
        "featured": true,
        "coinAmount": "text",
        "solPrice": 1,
        "solAmount": "text",
        "bondingCurve": "text",
        "creator": "text",
        "coinDescription": "text",
        "bondingCurveComplete": true,
        "raydiumPoolAddress": "text",
        "migratedToRaydiumAt": "text"
      }
    ],
    "totalCount": 1,
    "page": 1
  },
  "message": "text"
}

Search coins

get
Query parameters
searchTermstringOptional

Search term

pageintegerOptional

Page number

Default: 0
Responses
200

Search results retrieved successfully

application/json
500

Internal server error

application/json
get
GET /api/v1/coins/search HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "data": [
      {
        "mint": "text",
        "name": "text",
        "symbol": "text",
        "image_uri": "text",
        "coinMarketCap": 1,
        "solPrice": "text"
      }
    ],
    "nextPage": 1
  },
  "message": "text"
}

Get fees information

get
Authorizations
Responses
200

Fees information retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/fees HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "jito": {
      "landedTips25thPercentile": 1,
      "landedTips50thPercentile": 1,
      "landedTips75thPercentile": 1,
      "landedTips95thPercentile": 1,
      "landedTips99thPercentile": 1,
      "emaLandedTips50thPercentile": 1
    },
    "regular": {
      "extreme": 1,
      "high": 1,
      "low": 1,
      "medium": 1
    },
    "coinCreationFee": 1
  },
  "message": "text"
}

Get SOL price

get
Responses
200

SOL price retrieved successfully

application/json
500

Internal server error

application/json
get
GET /api/v1/price/sol HTTP/1.1
Host: 
Accept: */*
{
  "data": 1,
  "message": "text"
}

Create a new game

post
Authorizations
Body
ticketsinteger · min: 1Required

Number of tickets to use

Responses
200

Game created successfully

application/json
400

Bad request

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/game/create HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 13

{
  "tickets": 1
}
{
  "data": {
    "gameId": "text",
    "updatedTickets": 1,
    "gameHashed": "text"
  },
  "message": "text"
}

Get current game

get
Authorizations
Responses
200

Current game retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/game/current HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "id": "text",
    "revealedPositions": [
      1
    ],
    "tickets": 1
  },
  "message": "text"
}

Get game history

get
Authorizations
Query parameters
pageintegerOptional

Page number

Default: 0
pageSizeintegerOptional

Page size

Default: 10
Responses
200

Game history retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/game/history HTTP/1.1
Host: 
Accept: */*
{
  "data": [
    {
      "id": "text",
      "tickets": 1,
      "solAmount": "text",
      "createdAt": "text",
      "multiplier": 1,
      "signature": "text",
      "status": "text",
      "hash": "text",
      "seed": "text",
      "state": [
        1
      ],
      "updatedAt": "text",
      "awardedPoints": 1
    }
  ],
  "message": "text"
}

Update game state

post
Authorizations
Body
indexinteger · max: 19Required

Grid index to reveal

gameIdstringRequired

Game ID

Responses
200

Game updated successfully

application/json
400

Bad request

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/game/update HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 27

{
  "index": 1,
  "gameId": "text"
}
{
  "data": {
    "newPositions": [
      1
    ],
    "multiplier": 1,
    "isMatch": true,
    "payoutAmount": "text",
    "state": [
      1
    ]
  },
  "message": "text"
}

Check game payout progress

get
Authorizations
Responses
200

Payout progress retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/game/payout/in-progress HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "expiresAt": 1,
    "inProgress": true
  },
  "message": "text"
}

Request game payout

post
Authorizations
Responses
200

Payout requested successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/game/payout/request HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "serialisedTransaction": "text",
    "blockhash": "text",
    "lastValidBlockHeight": 1,
    "nonce": 1
  },
  "message": "text"
}

Submit game payout transaction

post
Authorizations
Body
signed_txstringRequired

Signed transaction

blockhashstringRequired

Recent blockhash

lastValidBlockHeightnumberRequired

Last valid block height

noncestringRequired

Transaction nonce

Responses
200

Payout submitted successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/game/payout/submit HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 79

{
  "signed_tx": "text",
  "blockhash": "text",
  "lastValidBlockHeight": 1,
  "nonce": "text"
}
{
  "data": {
    "signature": "text",
    "status": "processing"
  },
  "message": "text"
}

Get recent games

get
Responses
200

Recent games retrieved successfully

application/json
500

Internal server error

application/json
get
GET /api/v1/games/recent HTTP/1.1
Host: 
Accept: */*
{
  "data": [
    {
      "username": "text",
      "solReward": "text",
      "numberOfTickets": 1,
      "timestamp": 1,
      "gameId": "text"
    }
  ],
  "message": "text"
}

Get points to tickets exchange rate

get
Authorizations
Responses
200

Exchange rate retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/points/tickets-rate HTTP/1.1
Host: 
Accept: */*
{
  "data": 1,
  "message": "text"
}

Get user ranks

get
Authorizations
Responses
200

Ranks retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/ranks HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "ranks": [
      {
        "rank": "text",
        "minPoints": "text"
      }
    ],
    "rate": 1
  },
  "message": "text"
}

Check if referral code exists

get
Authorizations
Query parameters
codestringRequired

Referral code to check

Responses
200

Code existence checked successfully

application/json
400

Bad request

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/referrals/code-exists?code=text HTTP/1.1
Host: 
Accept: */*
{
  "data": true,
  "message": "text"
}

Link referral code

post
Authorizations
Body
codestringRequired

Referral code to link

Responses
200

Referral code linked successfully

application/json
400

Bad request

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/referrals/link HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 15

{
  "code": "text"
}
{
  "data": true,
  "message": "text"
}

Get user referral data

get
Authorizations
Responses
200

User referral data retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/referrals/me HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "referralPendingPayout": 1,
    "tradingFees": 1,
    "ownReferralCode": "text",
    "ownReferralCodeEarnPercentage": 1,
    "referredUsers": [
      {
        "referralGeneratedAmount": 1,
        "referralTradingVolume": 1,
        "createdAt": "text",
        "publicKey": "text"
      }
    ],
    "referredByPublicKey": "text",
    "totalReferredUsers": 1
  },
  "message": "text"
}

Create referral code

post
Authorizations
Body
codestringRequired

Referral code to create

Responses
200

Referral code created successfully

application/json
400

Bad request

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/referrals/me HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 15

{
  "code": "text"
}
{
  "data": {
    "code": "text",
    "earnPercentage": 1
  },
  "message": "text"
}

Check referral payout progress

get
Authorizations
Responses
200

Payout progress retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/referrals/me/payout/in-progress HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "expiresAt": 1,
    "inProgress": true
  },
  "message": "text"
}

Request referral payout

post
Authorizations
Responses
200

Payout requested successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/referrals/me/payout/request HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "serialisedTransaction": "text",
    "blockhash": "text",
    "lastValidBlockHeight": 1,
    "nonce": 1
  },
  "message": "text"
}

Submit referral payout transaction

post
Authorizations
Body
signed_txstringRequired

Signed transaction

blockhashstringRequired

Recent blockhash

lastValidBlockHeightnumberRequired

Last valid block height

noncestringRequired

Transaction nonce

Responses
200

Payout submitted successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/referrals/me/payout/submit HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 79

{
  "signed_tx": "text",
  "blockhash": "text",
  "lastValidBlockHeight": 1,
  "nonce": "text"
}
{
  "data": {
    "signature": "text",
    "status": "processing"
  },
  "message": "text"
}

Get ticket exchange rate

get
Authorizations
Responses
200

Exchange rate retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/tickets/exchange-rate HTTP/1.1
Host: 
Accept: */*
{
  "data": 1,
  "message": "text"
}

Get maximum ticket amount

get
Authorizations
Responses
200

Maximum amount retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/tickets/max-amount HTTP/1.1
Host: 
Accept: */*
{
  "data": 1,
  "message": "text"
}

Check ticket payout progress

get
Authorizations
Responses
200

Payout progress retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/tickets/payout/in-progress HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "expiresAt": 1,
    "inProgress": true
  },
  "message": "text"
}

Request ticket payout

post
Authorizations
Body
ticketsinteger · min: 1Required

Number of tickets to cash out

Responses
200

Payout requested successfully

application/json
400

Bad request

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/tickets/payout/request HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 13

{
  "tickets": 1
}
{
  "data": {
    "serialisedTransaction": "text",
    "blockhash": "text",
    "lastValidBlockHeight": 1,
    "nonce": 1
  },
  "message": "text"
}

Submit ticket payout transaction

post
Authorizations
Body
signed_txstringRequired

Signed transaction

blockhashstringRequired

Recent blockhash

lastValidBlockHeightnumberRequired

Last valid block height

noncestringRequired

Transaction nonce

Responses
200

Payout submitted successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/tickets/payout/submit HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 79

{
  "signed_tx": "text",
  "blockhash": "text",
  "lastValidBlockHeight": 1,
  "nonce": "text"
}
{
  "data": {
    "signature": "text",
    "status": "processing"
  },
  "message": "text"
}

Sign a transaction

post
Authorizations
Body
serialisedTxstringRequired

Serialized transaction data

mintstringRequired

Coin mint address

blockhashstringRequired

Recent blockhash for the transaction

lastValidBlockHeightnumberRequired

Last valid block height for the transaction

Responses
200

Transaction signed successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/transaction/sign HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 81

{
  "serialisedTx": "text",
  "mint": "text",
  "blockhash": "text",
  "lastValidBlockHeight": 1
}
{
  "data": {
    "signature": "text",
    "status": "processing"
  },
  "message": "text"
}

Get user coin trade metrics

get
Authorizations
Path parameters
addressstringRequired

Coin address/mint

Responses
200

Trade metrics retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/user/coin/{address}/trade-metrics HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "totalBoughtCoin": "text",
    "totalSoldCoin": "text",
    "costBasisSol": "text",
    "costBasisUsd": "text",
    "realizedPnlSol": "text",
    "realizedPnlUsd": "text",
    "volumeSol": "text",
    "volumeUsd": "text"
  },
  "message": "text"
}

Get user created coins

get
Authorizations
Responses
200

User created coins retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/user/coins HTTP/1.1
Host: 
Accept: */*
{
  "data": [
    {
      "address": "text",
      "coinSymbol": "text",
      "coinName": "text",
      "coinSrc": "text",
      "coinCreationTime": 1,
      "coinMarketCap": 1,
      "username": "text",
      "holders": 1,
      "comments": 1,
      "xUrl": "text",
      "websiteUrl": "text",
      "featured": true,
      "coinAmount": "text",
      "solPrice": 1,
      "solAmount": "text",
      "bondingCurve": "text",
      "creator": "text",
      "coinDescription": "text",
      "bondingCurveComplete": true,
      "raydiumPoolAddress": "text",
      "migratedToRaydiumAt": "text"
    }
  ],
  "message": "text"
}

Check creator rewards payout progress

get
Authorizations
Responses
200

Payout progress retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/user/creator-rewards/payout/in-progress HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "expiresAt": 1,
    "inProgress": true
  },
  "message": "text"
}

Request creator rewards payout

post
Authorizations
Responses
200

Payout requested successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/user/creator-rewards/payout/request HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "serialisedTransaction": "text",
    "blockhash": "text",
    "lastValidBlockHeight": 1,
    "nonce": 1
  },
  "message": "text"
}

Submit creator rewards payout transaction

post
Authorizations
Body
signed_txstringRequired

Signed transaction

blockhashstringRequired

Recent blockhash

lastValidBlockHeightnumberRequired

Last valid block height

noncestringRequired

Transaction nonce

Responses
200

Payout submitted successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
post
POST /api/v1/user/creator-rewards/payout/submit HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 79

{
  "signed_tx": "text",
  "blockhash": "text",
  "lastValidBlockHeight": 1,
  "nonce": "text"
}
{
  "data": {
    "signature": "text",
    "status": "processing"
  },
  "message": "text"
}

Get user favorite coins

get
Authorizations
Responses
200

User favorites retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/user/favorites HTTP/1.1
Host: 
Accept: */*
{
  "data": [
    {
      "address": "text",
      "coinSymbol": "text",
      "coinName": "text",
      "coinSrc": "text",
      "coinCreationTime": 1,
      "coinMarketCap": 1,
      "username": "text",
      "holders": 1,
      "comments": 1,
      "xUrl": "text",
      "websiteUrl": "text",
      "featured": true,
      "coinAmount": "text",
      "solPrice": 1,
      "solAmount": "text",
      "bondingCurve": "text",
      "creator": "text",
      "coinDescription": "text",
      "bondingCurveComplete": true,
      "raydiumPoolAddress": "text",
      "migratedToRaydiumAt": "text"
    }
  ],
  "message": "text"
}

Get user coin holdings

get
Authorizations
Query parameters
solPriceUsdnumberOptional

SOL price in USD

Responses
200

User holdings retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/user/holdings HTTP/1.1
Host: 
Accept: */*
{
  "data": [
    {
      "amount": "text",
      "coin": {
        "address": "text",
        "coinSymbol": "text",
        "coinName": "text",
        "coinSrc": "text",
        "coinCreationTime": 1,
        "coinMarketCap": 1,
        "username": "text",
        "holders": 1,
        "comments": 1,
        "xUrl": "text",
        "websiteUrl": "text",
        "featured": true,
        "coinAmount": "text",
        "solPrice": 1,
        "solAmount": "text",
        "bondingCurve": "text",
        "creator": "text",
        "coinDescription": "text",
        "bondingCurveComplete": true,
        "raydiumPoolAddress": "text",
        "migratedToRaydiumAt": "text"
      }
    }
  ],
  "message": "text"
}

Get user points history

get
Authorizations
Responses
200

Points history retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/user/points/history HTTP/1.1
Host: 
Accept: */*
{
  "data": [
    {
      "timestamp": 1,
      "points": 1,
      "tradingVolume": 1
    }
  ],
  "message": "text"
}

Get user preferences

get
Responses
200

User preferences retrieved successfully

application/json
500

Internal server error

application/json
get
GET /api/v1/user/preferences HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "bribeAmount": 1,
    "priorityFeeAmount": 1,
    "maxFee": 1,
    "quickBuy": true,
    "quickBuy1": 1,
    "quickBuy2": 1,
    "quickBuy3": 1,
    "sellPrefersCoin": true,
    "hideNsfw": true,
    "maxSlippage": 1,
    "selectedQuickBuy": 1,
    "autoSortingEnabled": true,
    "username": "text",
    "usernameUpdatedAt": "text",
    "points": 1,
    "tickets": 1,
    "creatorPayout": 1,
    "pointsPumpFun": 1,
    "antiMevProtection": true,
    "tradingSettingsAuto": true,
    "sidebarOpen": true,
    "revealedBonusPoints": true
  },
  "message": "text"
}

Update user preferences

patch
Authorizations
Body
bribeAmountnumber | nullableOptional
priorityFeeAmountnumber | nullableOptional
maxFeenumber | nullableOptional
quickBuybooleanRequired
quickBuy1numberRequired
quickBuy2numberRequired
quickBuy3numberRequired
sellPrefersCoinbooleanRequired
hideNsfwbooleanRequired
maxSlippagenumber | nullableOptional
selectedQuickBuynumberRequired
autoSortingEnabledbooleanRequired
usernamestring | nullableOptional
usernameUpdatedAtstring | nullableOptional
pointsnumberRequired
ticketsnumberRequired
creatorPayoutnumberRequired
pointsPumpFunnumberRequired
antiMevProtectionbooleanRequired
tradingSettingsAutobooleanRequired
sidebarOpenbooleanRequired
revealedBonusPointsbooleanRequired
Responses
200

User preferences updated successfully

application/json
400

Bad request

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
patch
PATCH /api/v1/user/preferences HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 412

{
  "bribeAmount": 1,
  "priorityFeeAmount": 1,
  "maxFee": 1,
  "quickBuy": true,
  "quickBuy1": 1,
  "quickBuy2": 1,
  "quickBuy3": 1,
  "sellPrefersCoin": true,
  "hideNsfw": true,
  "maxSlippage": 1,
  "selectedQuickBuy": 1,
  "autoSortingEnabled": true,
  "username": "text",
  "usernameUpdatedAt": "text",
  "points": 1,
  "tickets": 1,
  "creatorPayout": 1,
  "pointsPumpFun": 1,
  "antiMevProtection": true,
  "tradingSettingsAuto": true,
  "sidebarOpen": true,
  "revealedBonusPoints": true
}
{
  "data": {
    "bribeAmount": 1,
    "priorityFeeAmount": 1,
    "maxFee": 1,
    "quickBuy": true,
    "quickBuy1": 1,
    "quickBuy2": 1,
    "quickBuy3": 1,
    "sellPrefersCoin": true,
    "hideNsfw": true,
    "maxSlippage": 1,
    "selectedQuickBuy": 1,
    "autoSortingEnabled": true,
    "username": "text",
    "usernameUpdatedAt": "text",
    "points": 1,
    "tickets": 1,
    "creatorPayout": 1,
    "pointsPumpFun": 1,
    "antiMevProtection": true,
    "tradingSettingsAuto": true,
    "sidebarOpen": true,
    "revealedBonusPoints": true
  },
  "message": "text"
}

Get user tickets

get
Authorizations
Responses
200

User tickets retrieved successfully

application/json
401

Unauthorized

application/json
500

Internal server error

application/json
get
GET /api/v1/user/tickets HTTP/1.1
Host: 
Accept: */*
{
  "data": 1,
  "message": "text"
}