> ## Documentation Index
> Fetch the complete documentation index at: https://docs.messari.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Chat Completion - OpenAI Format

> The MessariAI API's Chat Completion endpoint is used for generating contextual crypto responses using Messari's knowledge graph and specialized tools.

It follows OpenAI's chat completions API specification for easy integration with libraries like [OpenAI's official python SDK](https://github.com/openai/openai-python).

If you'd like to play around with the responses feel free to try on the [Messari web-app](https://messari.io/copilot), it uses the same underlying endpoint implementation.

The chat completion endpoint leverages a graph architecture with agents to:

* Access Messari's real-time quantitative (compute) dataset which includes but is not limited to: Market data, Asset metrics, Fundraising, Token unlocks
* Access Messari's qualitative (search) dataset which includes but is not limited to: News, Blogs, Youtube transcriptions, RSS-feeds, Twitter, Webcrawl documents, Proprietary datasets of: Research, Quarterlies, Diligence Reports
* Generate market insights and analysis
* Process natural language queries about crypto assets, protocols and projects

For a more interactive experience trying out the API, [here is our Replit in Typescript](https://replit.com/@malcolm22/MessariAI-API-Examples#index.ts). Simply populate the `API_KEY` field with your Enterprise API key generated in the [Messari Account > API page](https://messari.io/account/api) of our webapp and you're off!

### Request Params

#### verbosity

The `verbosity` parameter controls the level of detail in the model's response. When set to `"verbose"`, the model provides more comprehensive and detailed explanations, including additional context, examples, and supporting information. Other possible values might include `"balanced"` or `"succinct"` for shorter responses.

Example usage:

```json theme={null}
{
  "verbosity": "verbose"
}
```

#### response\_format

The `response_format` parameter specifies the desired formatting style for the model's response. When set to `"markdown"`, the output will be formatted using Markdown syntax, allowing for structured text with headings, lists, code blocks, and other formatting elements. Other common option might include `"text"`.

**Example usage:**

```json theme={null}
{
  "response_format": "markdown"
}
```

#### inline\_citations

The `inline_citations` parameter determines whether the response metadata should include citations within its response text. When set to `true`, the model will reference sources directly in the text where information is being drawn from. This is particularly useful for academic, research, or factual content where attribution is important.

**Example usage:**

```json theme={null}
{
  "inline_citations": true
}
```

#### stream

The `stream` parameter controls whether the API response is delivered as a complete response or as a stream of partial responses. When set to `false`, the API will wait until the entire response is generated and then deliver it in one piece. When set to `true`, the API would begin sending partial responses as they are generated, useful for implementing real-time typing effects or processing responses incrementally.

**Example usage:**

```json theme={null}
{
  "stream": false
}
```

#### generate\_related\_questions

The `generate_related_questions` parameter determines whether the response metadata should include AI-generated related questions to the user query. This feature is useful for receiving follow up questions as part of the API response payload to prompt the user with potential next questions.

Note: A maximum of 5 is allowed.

**Example usage:**

```json theme={null}
{
  "generate_related_questions": 2
}
```


## OpenAPI

````yaml POST /ai/openai/chat/completions
openapi: 3.0.0
info:
  description: OpenAPI specification for the entire Messari API
  title: Messari API - Ai Openai
  version: 1.0.0
servers:
  - description: Messari API
    url: https://api.messari.io
security: []
paths:
  /ai/openai/chat/completions:
    post:
      summary: Generate chat completions in OpenAI format
      description: >-
        Processes a conversation and returns an AI-generated response in
        OpenAI-compatible format. Consumes 5 credits per request.
      operationId: postChatCompletionOpenAI
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChatCompletionRequestOpenAI'
            example:
              model: messari
              messages:
                - role: user
                  content: What is Solana?
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  choices:
                    description: Array of completion choices
                    items:
                      $ref: '#/components/schemas/ChatCompletionResponseChoiceOpenAI'
                    type: array
                  created:
                    description: Unix timestamp when the completion was created
                    format: int64
                    type: integer
                  id:
                    description: Unique identifier for the completion request
                    type: string
                  metadata:
                    allOf:
                      - $ref: >-
                          #/components/schemas/ChatCompletionResponseMetadataOpenAI
                      - description: Additional metadata about the completion
                  model:
                    description: Model used for the completion
                    type: string
                  object:
                    description: Type of object returned, always 'chat.completion'
                    type: string
                required:
                  - choices
                  - created
                  - id
                  - model
                  - object
                type: object
              example:
                id: b72679d2-2144-41f1-9a15-252df2f264b3
                object: chat.completion
                created: 1762276239
                model: messari-ai
                choices:
                  - index: 0
                    message:
                      role: assistant
                      content: >-
                        # Solana Overview


                        Solana is a Layer-1 blockchain network designed to
                        provide a highly scalable infrastructure for
                        decentralized applications (dapps). Its primary goal is
                        to minimize performance constraints, such as transaction
                        throughput limitations and high costs, typically faced
                        by developers on other networks.


                        ## Core Features and Technology


                        Solana is optimized for speed and efficiency, aiming to
                        achieve high throughput without relying on second-layer
                        or off-chain technologies.


                        *   **Scalability and Throughput:** Solana uses a Proof
                        of Stake (PoS) consensus mechanism combined with a
                        unique innovation called Tower Consensus. This design
                        allows the network to handle a high volume of
                        transactions, with the capacity to process up to 710,000
                        transactions per second (TPS) at peak load.

                        *   **Developer Support:** The network supports all
                        LLVM-compatible smart contract languages, offering
                        flexibility for developers.

                        *   **Transaction Efficiency:** Solana is designed for
                        sub-second settlement times and low transaction costs.

                        *   **Token Extensions:** Developers launching SPL
                        tokens on Solana can utilize various token extensions,
                        such as Confidential Transfers, which hides transaction
                        amounts to protect user balance confidentiality during
                        transfers.


                        ## The SOL Token


                        The native token of the Solana network is **SOL**, which
                        was launched alongside the Mainnet Beta in March 2020.


                        *   **Transaction Fees:** Users pay fees in SOL for
                        sending transactions and executing smart contracts.
                        These fees include a static base fee plus a variable fee
                        based on the computational resources used. Users can
                        also include an optional "prioritization fee" to
                        expedite transaction processing.

                        *   **Staking and Governance:** SOL is also used for
                        staking to secure the network and for on-chain
                        governance.


                        ## Ecosystem and Use Cases


                        Solana's infrastructure supports various applications
                        and services, including:


                        *   **Decentralized Finance (DeFi):** Projects like
                        Ellipsis Labs' Phoenix, a spot limit order book
                        implementation, are built on Solana to create efficient
                        and scalable DeFi liquidity primitives.

                        *   **Payments (Solana Pay):** Solana Pay is a protocol
                        for payments that uses the blockchain to create new
                        commerce rails for merchants, enabling secure payments
                        without intermediaries.

                        *   **Gaming and Customer Engagement:** Services like
                        GameShift streamline the integration of Web3 features
                        into games, handling interactions with Solana for
                        self-custodied game assets and abstracted transaction
                        fees. Bond is another platform powered by Solana
                        designed to boost customer engagement for brands through
                        digital collectibles, authentication, and loyalty
                        programs.


                        ## Recent Market Sentiment


                        Recent market activity suggests a strong institutional
                        interest in Solana, contrasting with other major
                        cryptocurrencies:


                        *   **ETF Inflows:** In early November 2025, Solana ETFs
                        attracted significant investment, totaling **$421
                        million in inflows** for the week. This was driven by
                        the successful launch of new U.S.-based funds, such as
                        Bitwise's Solana ETF, which reached $105 million in
                        assets under management in its first week.

                        *   **Market Divergence:** This surge in Solana
                        investment occurred while Bitcoin and Ethereum products
                        experienced significant outflows, indicating a
                        divergence in institutional capital allocation. Solana's
                        year-to-date inflows reached $3.3 billion.


                        ## Company Background


                        Solana was founded in **2017** and is headquartered in
                        San Francisco, CA. The company has raised a total of
                        **$335 million** in funding.
                    finish_reason: stop
                metadata:
                  status: Completed
                  trace_id: b72679d2-2144-41f1-9a15-252df2f264b3
                  sources:
                    - domain: asset_profile
                      url: https://messari.io/asset/solana
                    - domain: diligence
                      title: 'Diligence Report: General Information'
                      url: >-
                        https://messari.io/asset/solana/diligence-report#general_information
                    - domain: diligence
                      title: 'Diligence Report: Token Economics'
                      url: >-
                        https://messari.io/asset/solana/diligence-report#token_usage_and_economics
                    - domain: research_image
                      title: Solana Ecosystem Overview
                      url: >-
                        https://cdn.sanity.io/images/2bt0j8lu/production/10299763330e60bae0a812764da7cbd1c3e3d153-1940x976.png?w=800
                    - domain: research_image
                      title: 'Solana Deep Dive: Reframing The Narrative'
                      url: >-
                        https://cdn.sanity.io/images/2bt0j8lu/production/7a725362c19ddb5f7b089a68dcc13d416fa6726d-2782x1508.png?w=800
                    - domain: news
                      title: >-
                        What Is Solana? A Scalable, Decentralized Network for
                        Dapps
                      url: >-
                        https://decrypt.co/resources/what-is-solana-a-scalable-decentralized-network-for-dapps
                    - domain: trending_topic
                      title: Warden Protocol's $900K Mindshare Leaderboard Launch
                      url: https://messari.io/topics
                    - domain: trending_topic
                      title: >-
                        Wintermute Denies Binance Lawsuit Rumors Amid CZ's ASTER
                        Investment
                      url: https://messari.io/topics
                    - domain: trending_topic
                      title: Wallchain's Quack Reward System and Project Campaigns
                      url: https://messari.io/topics
                    - domain: trending_topic
                      title: Billion-Dollar Liquidation Cascade
                      url: https://messari.io/topics
                    - domain: trending_topic
                      title: 'ETF Flow Divergence: Bitcoin Outflows vs Solana Surge'
                      url: https://messari.io/topics
                    - domain: webcrawl
                      url: https://www.kraken.com/prices/solana
                    - domain: webcrawl
                      title: >-
                        Solana Company Profile 2025: Valuation, Funding &
                        Investors | PitchBook
                      url: https://pitchbook.com/profiles/company/227820-52
                    - domain: webcrawl
                      title: >-
                        Solana - Products, Competitors, Financials, Employees,
                        Headquarters Locations
                      url: https://www.cbinsights.com/company/solana-labs
                    - domain: webcrawl
                      title: >-
                        There are no bad questions about... blockchain payments
                        | Solana
                      url: https://solana.com/learn/payments
          description: Default response
        '400':
          content:
            application/json:
              schema:
                properties:
                  data: {}
                  error:
                    type: string
                required:
                  - data
                type: object
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                properties:
                  data: {}
                  error:
                    type: string
                required:
                  - data
                type: object
          description: Unauthorized
        '500':
          content:
            application/json:
              schema:
                properties:
                  data: {}
                  error:
                    type: string
                required:
                  - data
                type: object
          description: Internal Server Error
      security:
        - apiKey: []
components:
  schemas:
    ChatCompletionRequestOpenAI:
      properties:
        allow_clarification_query:
          description: Whether the AI can ask for clarification when the query is ambiguous
          type: boolean
          default: true
        generate_related_questions:
          description: Adds AI generated related questions to use as follow up questions
          format: int64
          type: integer
          default: 0
        inline_citations:
          description: Adds inline citation document references in the payload metadata
          type: boolean
          default: true
        messages:
          description: Array of messages in the conversation history
          items:
            type: object
            properties:
              role:
                type: string
                enum:
                  - user
                  - assistant
                  - system
                default: user
                description: The role of the message author
              content:
                type: string
                default: What is Solana?
                description: The content of the message
            required:
              - role
              - content
          type: array
          default:
            - role: user
              content: What is Solana?
        response_format:
          description: >-
            Text format for the response. Values accepted are 'markdown' and
            'plaintext'.
          type: string
          default: markdown
        stream:
          description: Stream the response through the API
          type: boolean
          default: false
        verbosity:
          description: >-
            Controls the length and detail level of the AI-generated response.
            Values accepted are 'succinct', 'balanced', and 'verbose'.
          type: string
          default: balanced
      required:
        - messages
      type: object
    ChatCompletionResponseChoiceOpenAI:
      properties:
        finish_reason:
          description: Reason the model stopped generating (e.g., 'stop')
          type: string
        index:
          description: Index of the choice in the array
          format: int64
          type: integer
        message:
          type: object
          description: The message output by the model
          properties:
            role:
              type: string
              description: The role of the message author
              example: assistant
            content:
              type: string
              description: The content of the message
          required:
            - role
            - content
      required:
        - finish_reason
        - index
        - message
      type: object
    ChatCompletionResponseMetadataOpenAI:
      properties:
        charts:
          description: Chart data referenced in the response
          items:
            $ref: '#/components/schemas/ChartSource'
          type: array
        related_questions:
          description: Follow-up questions related to the original query
          items:
            type: string
          type: array
        sources:
          description: >-
            Sources used to construct the response content. If using inline
            citations, sources will include citationIds associated with the
            response citations.
          items:
            $ref: '#/components/schemas/StandardSource'
          type: array
        status:
          description: Current status of the completion request
          type: string
        trace_id:
          description: Unique identifier for tracing the request
          format: byte
          type: string
      required:
        - status
        - trace_id
      type: object
    ChartSource:
      type: object
      description: Schema for ChartSource
      properties: {}
      additionalProperties: true
    StandardSource:
      type: object
      description: Schema for StandardSource
      properties: {}
      additionalProperties: true
  securitySchemes:
    apiKey:
      in: header
      name: X-Messari-API-Key
      type: apiKey

````