Overview

Overview

Something.cool provides rewards to users holding tokens or providing liquidity. These rewards can be claimed through our public API, allowing users to receive their earned SOL or tokens.

API Basics

  • Base URL: Coming Soon

  • Status: Coming Soon

Authentication

The API uses Solana wallet signature verification to authenticate users. This ensures that only the actual wallet owner can request a claim transaction to avoid spam. We do not use API keys or tokens; instead, users must sign messages with their wallet to prove ownership.

Available Endpoints

The API provides several endpoints for interacting with the rewards claiming system:

Endpoint
Method
Description

/rewards/:address

GET

Get all claimable rewards for a wallet address (requires signature)

/rewards/:address/tokens/:tokenAddress

GET

Get claimable rewards for a specific token (requires signature)

/rewards/:signature/status

GET

Check status of a claim transaction

/rewards/:address/initiate

POST

Initiate a claim transaction (requires signature)

Claim Process Flow

The rewards claiming process follows these steps:

  1. Check Claimable Rewards

    • Query the API to see what rewards are available for claiming

  2. Initiate Claim

    • Send a signed request to initiate the claim process

    • The API returns a partially signed transaction

  3. Complete Claim

    • Sign the transaction with your wallet

    • Submit the fully signed transaction to the Solana network

  4. Verify Status

    • Check the status of your claim transaction

Rate Limits

To ensure fair usage of the API, rate limits are enforced:

  • 100 requests per 15-minute window per IP address

  • Exceeding this limit will result in HTTP 429 (Too Many Requests) responses

Error Handling

All errors follow a standardized format with unique error codes. See the Error Codes page for a comprehensive list.

Response Format

All API responses follow a consistent format:

Success Response

{
  "status": "success",
  "data": {
    // Response data specific to the endpoint
  }
}

Error Response

{
  "status": "error",
  "code": "ERROR_CODE",
  "message": "Human-readable error message"
}

Next Steps

Last updated