ChainGPTChainGPTHelp Center

AI Signal API Reference (API)

Updated Oct 7, 2026, 03:28 AM

The ChainGPT AI Signal API is a RESTful service that provides AI-generated crypto trading signals, enabling developers to access real-time market sentiment, on-chain events, and token-level intelligen

AI Signal API Reference (API)

The API is designed for software engineers and system integrators who need programmatic access to structured signal data, including:

  • Bullish, bearish, and neutral sentiment classifications
  • Signal tags and narratives
  • Market and price context
  • Historical chart data

Using this API, developers can build:

  • Trading dashboards
  • Alerting systems
  • Analytics platforms
  • AI-driven trading tools
  • Market intelligence applications

This documentation covers the API endpoints directly (not the SDK), including:

  • Authentication
  • Request formats
  • Query parameters
  • Response structures
  • Pagination
  • Credits and pricing
  • Usage examples

Prerequisites

Before using the API, ensure you have the following:

  • A development environment (e.g., Node.js, VS Code, WebStorm)
  • A valid ChainGPT API key
  • Sufficient API credits in your ChainGPT account

API keys can be generated through the ChainGPT web application.


Base URL

All AI Signal API endpoints use the following base URL:

https://api.chaingpt.org

Authentication

All requests to the AI Signal API must be authenticated using a Bearer token.

Generating an API Key

  1. Log in to the ChainGPT web application
  2. Navigate to the API Dashboard
  3. Click Create Secret Key
  4. Copy and securely store the generated key

Important: Never hard-code API keys in public repositories. Use environment variables or a secure secret management service.


Authorization Header

Include the API key in the request headers:

Authorization: Bearer <YOUR_API_KEY>

Required Headers

Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

These headers must be included with every authenticated request.


Axios Configuration

If you are using Axios, you can create a reusable client instance:

import axios from 'axios';

const instance = axios.create({
 baseURL: 'https://api.chaingpt.org',
 timeout: 60000,
 headers: {
   Authorization: `Bearer ${process.env.CHAINGPT_API_KEY}`,
   'Content-Type': 'application/json'
 }
});

Available Endpoints

MethodEndpointDescription
POST/ai-signal/detailsRetrieve AI signals with optional filtering
GET/ai-signal/tagsRetrieve available signal tags
GET/ai-signal/narrativesRetrieve available signal narratives
GET/ai-signal/chainsRetrieve available blockchain chains

POST /ai-signal/details

Retrieves AI-generated trading signals with complete metadata and filtering support.

Without any request body parameters, the endpoint returns the latest signals (default: 10).

This endpoint supports filtering by:

  • Blockchain chain
  • Search term
  • Tags
  • Narratives
  • Sentiment
  • CoinMarketCap ID
  • Date range

Request Body

All fields are optional.

FieldTypeDescription
chainstring[]Filter by blockchain chain names. Partial matching supported. Example: ["Ethereum", "Polygon"]
searchstringSearch signal titles using a case-insensitive partial match
tagstring[]Filter by tag names. Partial matching supported
narrativenumber[]Filter by narrative IDs
cmcIdnumberFilter by CoinMarketCap ID
fromnumberStart timestamp (Unix seconds)
tonumberEnd timestamp (Unix seconds)
sentimentstring | string[]Filter by "bullish", "bearish", or "neutral"

Query Parameters

Pagination parameters are passed in the URL query string.

ParameterTypeDescription
limitintegerMaximum number of signals to return. Default: 10
offsetintegerNumber of records to skip. Default: 0

Example

?limit=10&offset=20


Filtering Logic

AND Logic Between Fields

When multiple filters are combined, all conditions must match.

Example:

{
 "chain": ["Ethereum"],
 "sentiment": ["bullish"],
 "tag": ["defi"]
}

This returns signals that match:

  • Ethereum
  • Bullish sentiment
  • DeFi tag

OR Logic Within Arrays

Array fields match any provided value.

Example:

{
 "sentiment": ["bullish", "neutral"]
}

This matches:

  • Bullish signals
  • Neutral signals

GET /ai-signal/tags

Returns a list of available tags associated with AI signals.

Tags are short descriptors such as:

  • defi
  • btc
  • layer2

Use these values with the tag filter in POST /ai-signal/details.


Query Parameters

ParameterTypeDescription
searchstringPartial tag name search

Example Response

[
 { "id": 1, "name": "defi" },
 { "id": 2, "name": "btc" },
 { "id": 3, "name": "layer2" }
]

GET /ai-signal/narratives

Returns a list of market narratives associated with coins and signals.

Examples:

  • AI Tokens
  • Real World Assets
  • Layer 2

Use the numeric id values returned by this endpoint in the narrative filter.


Query Parameters

ParameterTypeDescription
searchstringPartial narrative name search

Example Response

[
 { "id": 1, "name": "AI Tokens" },
 { "id": 5, "name": "Real World Assets" },
 { "id": 12, "name": "Layer 2" }
]

GET /ai-signal/chains

Returns a list of blockchain chains.

Without a search parameter, this endpoint returns only chains that currently have associated signals.


Query Parameters

ParameterTypeDescription
searchstringPartial chain name search

Example Response

[
 { "id": 1, "name": "Ethereum" },
 { "id": 2, "name": "BNB Chain" },
 { "id": 3, "name": "Polygon" }
]

Response Structure

POST /ai-signal/details Response

A successful response returns a paginated object containing signal records.


Signal Object

FieldTypeDescription
idstringUnique signal identifier
sentimentstring"bullish", "bearish", or "neutral"
pricenumberToken price in USD
marketCapnumberMarket capitalization in USD
volume24hnumber24-hour trading volume
priceChange1hnumber1-hour price percentage change
fullyDilutedMarketCapnumberFully diluted market cap
titlestringAI-generated signal headline
summarystringAI-generated signal summary
recordedAtstringISO 8601 timestamp
coinobjectCoin metadata
tagsstring[]Associated tags
narrativesstring[]Associated narratives
graphDataobject[]Historical market data

Coin Object

FieldTypeDescription
cmcIdnumberCoinMarketCap ID
namestringToken name
symbolstringToken symbol
slugstringURL-friendly slug
logostringLogo image URL

Pagination Metadata

FieldTypeDescription
dataobject[]Signal records
totalnumberTotal matching records
limitnumberApplied limit
offsetnumberApplied offset

Example Response

{
 "statusCode": 200,
 "message": "Request Successful",
 "data": {
   "data": [
     {
       "id": "a3f1c2d4-e5b6-7890-abcd-ef1234567890",
       "sentiment": "bullish",
       "price": 43250.75,
       "marketCap": 847392000000,
       "volume24h": 18500000000,
       "priceChange1h": 1.35,
       "fullyDilutedMarketCap": 908000000000,
       "title": "Bitcoin breaks key resistance level amid institutional accumulation",
       "summary": "On-chain data shows significant accumulation by large wallets as BTC pushes above the $43,000 resistance zone.",
       "recordedAt": "2024-01-15T08:30:00.000Z",
       "coin": {
         "cmcId": 1,
         "name": "Bitcoin",
         "symbol": "BTC",
         "slug": "bitcoin",
         "logo": "https://s2.coinmarketcap.com/static/img/coins/64x64/1.png"
       },
       "tags": ["btc", "resistance-break", "institutional"],
       "narratives": ["Store of Value", "Digital Gold"],
       "graphData": [
         {
           "time": "2024-01-15T07:00:00.000Z",
           "price": 42800.00,
           "volume": 18200000000
         }
       ]
     }
   ],
   "total": 142,
   "limit": 10,
   "offset": 0
 }
}

Usage Examples

Using cURL

Fetch Latest Bullish Ethereum Signals

curl -X POST "https://api.chaingpt.org/ai-signal/details?limit=5&offset=0" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "chain": ["Ethereum"],
      "sentiment": ["bullish"]
    }'

Fetch Available Tags

curl -X GET "https://api.chaingpt.org/ai-signal/tags" \
    -H "Authorization: Bearer YOUR_API_KEY"

Using Axios (Node.js)

Fetch Signals

async function fetchSignals() {
 try {
   const response = await instance.post(
     '/ai-signal/details',
     {
       chain: ['Ethereum', 'Polygon'],
       sentiment: ['bullish'],
       tag: ['defi'],
       from: 1700000000,
       to: 1701907200
     },
     {
       params: {
         limit: 10,
         offset: 0
       }
     }
   );

   console.log(response.data);
 } catch (error) {
   console.error(error);
 }
}

fetchSignals();

Fetch Available Chains

async function fetchChains() {
 try {
   const response = await instance.get('/ai-signal/chains');
   console.log(response.data);
 } catch (error) {
   console.error(error);
 }
}

fetchChains();

Error Handling

The API may return HTTP 4xx responses under the following conditions:

Status CodeDescription
400 Bad RequestInvalid request body or parameters
401 UnauthorizedMissing or invalid API key
403 ForbiddenInsufficient credits

Axios Error Handling Example

try {
const response = await instance.post('/ai-signal/details');
 console.log(response.data);
} catch (error) {
 if (error.response) {
   console.error(error.response.status);
   console.error(error.response.data);
 } else {
   console.error(error.message);
 }
}

Credits and Pricing

The AI Signal API uses a credit-based pricing model.

Credits are deducted based on the number of signals returned in the response.


Pricing Rule

1 Credit = Up to 10 Signals Returned

Credits are rounded up.

Formula

Credits = ceil(number_of_signals / 10)


Pricing Examples

Signals ReturnedCredits Deducted
1 – 101 credit
11 – 202 credits
21 – 303 credits
N⌈N / 10⌉ credits

Examples

  • 8 signals → 1 credit
  • 15 signals → 2 credits
  • 25 signals → 3 credits
  • 0 signals → 0 credits

Note: Lookup endpoints do not consume credits.

The following endpoints are free:

  • /ai-signal/tags
  • /ai-signal/narratives
  • /ai-signal/chains

Sentiment Values Reference

ValueDescription
"bullish"Positive or upward momentum detected
"bearish"Negative or downward momentum detected
"neutral"No strong directional indication

Recommended Discovery Workflow

Before querying signals, use the lookup endpoints to discover valid filter values.


Step 1 — Fetch Chains

Use:

GET /ai-signal/chains

Purpose:

  • Discover supported blockchains
  • Retrieve valid chain filter values

Step 2 — Fetch Tags

Use:

GET /ai-signal/tags

Purpose:

  • Discover available tags
  • Retrieve valid tag filter values

Step 3 — Fetch Narratives

Use:

GET /ai-signal/narratives

Purpose:

  • Discover narrative IDs
  • Retrieve valid narrative filter values

Dynamic Documentation Querying

If additional information is needed beyond this document, the documentation supports dynamic querying through the ask query parameter.


Request Format

GET https://docs.chaingpt.org/dev-docs-b2b-saas-api-and-sdk/ai-signal-api/api-reference.md?ask=\<question>


Example

GET https://docs.chaingpt.org/dev-docs-b2b-saas-api-and-sdk/ai-signal-api/api-reference.md?ask=How%20does%20pagination%20work?


When to Use Dynamic Queries

Use this mechanism when:

  • Information is not explicitly documented
  • Clarification is required
  • Additional context is needed
  • Related sections need to be retrieved dynamically

The response includes:

  • A direct answer
  • Relevant excerpts
  • Related sources from the documentation

Conclusion

The ChainGPT AI Signal API provides structured, AI-powered crypto market intelligence through a flexible and developer-friendly REST interface.

By combining:

  • Signal filters
  • Market metadata
  • Narratives
  • Tags
  • Sentiment analysis
  • Historical graph data

developers can build advanced trading systems, analytics dashboards, and AI-driven market intelligence platforms efficiently and reliably.

View original source