> For the complete documentation index, see [llms.txt](https://titan-exchange.gitbook.io/titan/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://titan-exchange.gitbook.io/titan/developer-doc/developers-portal/reference/info-venues-providers.md).

# Info, Venues & Providers

Protocol version, parameter bounds, venue labels and provider IDs.

The three discovery endpoints return parameter bounds, venue labels and provider IDs. Call them at startup rather than hard-coding values.

## Info

```
GET https://portal.api.titan.exchange/api/v1/info
```

Returns the protocol version and the current defaults and bounds for request parameters. Takes no parameters.

```json
{
  "protocolVersion": { "major": 1, "minor": 9, "patch": 0 },
  "settings": {
    "quoteUpdate": {
      "intervalMs": { "min": 400, "max": 3600000, "default": 800 },
      "numQuotes":  { "min": 1,   "max": 10,      "default": 1 }
    },
    "swap": {
      "slippageBps": { "min": 0, "max": 10000, "default": 100 },
      "onlyDirectRoutes": false,
      "addSizeConstraint": true,
      "sizeConstraint": 1168
    },
    "transaction": {
      "closeInputTokenAccount": false,
      "createOutputTokenAccount": true
    },
    "connection": { "concurrentStreams": 1 }
  }
}
```

| Field             | Description                                                                                                                                                                      |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `protocolVersion` | `major` increments for backward-incompatible changes, `minor` for additive ones.                                                                                                 |
| `settings.*`      | Any entry with `min`, `max` and `default` is the accepted range for the [Quote Swap](/titan/developer-doc/developers-portal/reference/quote-swap.md) parameter of the same name. |

`quoteUpdate.intervalMs` and `connection.concurrentStreams` describe Titan Direct streaming settings and do not apply to Portal requests.

## Venues

```
GET https://portal.api.titan.exchange/api/v1/venues
```

Returns every on-chain venue that routes can be built from. Each label is a valid value for the `dexes` and `excludeDexes` parameters.

| Parameter           | Type | Default | Description                           |
| ------------------- | ---- | ------- | ------------------------------------- |
| `includeProgramIds` | bool | `false` | Also returns each venue's program ID. |

```json
{
  "labels":     [ "Raydium", "Whirlpool", "Phoenix", "Meteora", "PancakeSwap", ... ],
  "programIds": [ "675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8", ... ]
}
```

| Field        | Description                                                                                           |
| ------------ | ----------------------------------------------------------------------------------------------------- |
| `labels`     | Venue labels.                                                                                         |
| `programIds` | Program ID for each venue, in the same order as `labels`. Present only when `includeProgramIds=true`. |

{% hint style="warning" %}
Label order is not stable between requests. Match `labels[i]` to `programIds[i]` within a single response; do not store positions.
{% endhint %}

## Providers

```
GET https://portal.api.titan.exchange/api/v1/providers
```

Returns the quote providers available on the Portal: `Titan` and `Titan-DART`. Each `id` is a valid value for the `providers` parameter and is the key used in a quote's `quotes` map and in `metadata.ExpectedWinner`.

| Parameter      | Type | Default | Description                                                           |
| -------------- | ---- | ------- | --------------------------------------------------------------------- |
| `includeIcons` | bool | `false` | Includes a 48×48 icon for each provider as a data URI in `iconUri48`. |

```json
[
  { "id": "Titan",      "name": "Titan",      "kind": "DexAggregator" },
  { "id": "Titan-DART", "name": "titan_dart", "kind": "DexAggregator" }
]
```

| Field       | Description                                                                         |
| ----------- | ----------------------------------------------------------------------------------- |
| `id`        | Provider ID. Use this value in the `providers` parameter and when reading `quotes`. |
| `name`      | Display name. May differ from `id`.                                                 |
| `kind`      | Provider category.                                                                  |
| `iconUri48` | Data URI of a 48×48 icon. Present only when `includeIcons=true`.                    |
