# AX Check: developer.titan.exchange
Checked 2026-09-26.

Titan Exchange docs get agents to a working quickstart fast
15 of 23 checks passed: quickstart, install commands, and pricing ($0/$25/$100/$500/month) are all clearly stated. Only the homepage's machine-readable index is missing.

## Onboarding needs a login

## Coding sessions
Of three independent sessions, two completed and priced the product using the plan table and named fee assumptions from the docs; one did not produce a final output. No session hit a login wall, and pricing was described as openly stated tiers rather than gated.

### DeepSeek V4 Pro
[View public run](https://agents.withgauge.com/p/runs/44bb51ca-7f50-45a4-b50b-4c63dc8f4e47) · [Read transcript](https://www.ax-check.com/developer.titan.exchange/sessions/deepseek.json)
No final output was captured at all, so no pricing statement or assumptions were ever produced.
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: The transcript supplied contains only the run metadata event (seq 0) describing model/harness configuration. No actual agent actions, tool calls, credential acquisition, or product operations are present in the data provided, so onboarding cannot be verified.
  Event 0:

  ```text
  "seedPrompt":"Help me build a simple example using Titan Exchange. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked."
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No transcript content beyond run setup**: Only a single run_meta event was provided, containing configuration and the seed prompt. There is no subsequent agent activity, tool output, or product interaction to analyze, so it is impossible to determine whether the agent made progress, hit product blockers, or completed the task.
  Event 0:

  ```text
  "type":"run_meta"
  ```

#### Suggested Changes
None identified in this transcript.

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/b987a450-af3b-4a75-bb11-ed9ccf2433c4) · [Read transcript](https://www.ax-check.com/developer.titan.exchange/sessions/kimi.json)
final output gives a full plan table (Sandbox $0/Build $25/Scale $100/Growth $500/Enterprise custom) with named assumptions — req/sec limits, credit pools, rolling 60s window, Genesis-50 discount, USDC billing.
#### End-to-end onboarding
- **Onboarding needs a login**: Agent found Titan Exchange's real developer portal and docs, but API key creation requires signing in at developer.titan.exchange via Privy (email OTP/OAuth), which needs human credentials the agent didn't have. It verified the wall was real by hitting the live API unauthenticated and getting 401, then stopped without a key rather than faking success. No authenticated operation against the hosted API ever occurred.
  Event 92:

  ```text
  {"error":{"code":"invalid_api_key"}}
  HTTP 401
  
  ```
  Event 89:

  ```text
  curl -s --max-time 15 -w "\nHTTP %{http_code}\n" "https://portal.api.titan.exchange/api/v1/info" -H "Accept: application/json"
  ```
  Event 101:

  ```text
  I've hit a hard wall on live access: the API requires a key from developer.titan.exchange, and sign-in uses Privy (email OTP/OAuth) — I have no inbox or credentials to complete it, and there's no demo key (verified: unauthenticated calls return `401 invalid_api_key`).
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No self-serve credentials without human sign-in**: Creating a Titan API key requires signing in at developer.titan.exchange through Privy (email OTP/OAuth). This is normal product authentication, not a defect — the agent correctly identified it as a human-required step and stopped rather than faking a key. Confirmed by an actual 401 invalid_api_key response from the live API when called without a key.
  Event 75:

  ```text
  1 Sign in
        1 privy
  
  ```
  Event 92:

  ```text
  {"error":{"code":"invalid_api_key"}}
  HTTP 401
  
  ```

#### Suggested Changes
- **Add a sandbox/demo API key for docs-driven testing**: On the Developers Portal Introduction or Quickstart page (titan-exchange.gitbook.io/titan/developer-doc/developers-portal/quickstart), consider offering a rate-limited demo key or a public test endpoint so automated tooling and first-time evaluators can exercise GET /api/v1/info or /api/v1/quote/swap without completing the Privy sign-in flow. Verify by confirming that a documented demo key returns 200 from portal.api.titan.exchange without OAuth.
  Event 89:

  ```text
  https://portal.api.titan.exchange/api/v1/info
  ```
  Event 99:

  ```text
  Sign in at [developer.titan.exchange](https://developer.titan.exchange/), create an API key, and call `portal.api.titan.exchange` over REST.
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/d8c31b40-fc84-493e-8b9b-f9266027b6a0) · [Read transcript](https://www.ax-check.com/developer.titan.exchange/sessions/qwen.json)
Final output and README.md name concrete fee mechanics with assumptions (transaction.feeBps default 10bps, slippageBps default 50, positiveSlippageFeeReceiver capped at 10bps) while explicitly flagging that broader API-access pricing is unpublished/contact-sales rather than inventing a number.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained a real Titan API auth token. It found the official @titanexchange/sdk-ts SDK, wrote a working example script, but every attempt to connect to the hosted wss://api.titan.exchange endpoint without an auth token failed, and no TITAN_AUTH_TOKEN was present in the environment or obtainable without human help. The agent explicitly stopped and asked the user to supply a token rather than completing any authenticated operation.
  Event 44:

  ```text
  PI_GATEWAY_API_KEY=<set>
  ```
  Event 64:

  ```text
  {"type":"error","isTrusted":false,"_yaeti":true,"target":{},"cancelable":true}
  ```
  Event 60:

  ```text
  TITAN_AUTH_TOKEN is not set - the Titan API requires an auth token.
  Request API access via info@titandex.io, then re-run.
  ```
  Event 84:

  ```text
  No `TITAN_AUTH_TOKEN` in the environment, and the endpoint rejects unauthenticated WebSocket handshakes (I verified: connection errors immediately without `?auth=`).
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No self-serve way to get a Titan API auth token**: The Titan Swap API requires an auth token on every WebSocket connection, but there is no public signup, sandbox key, or free tier discoverable in the SDK, npm package, or website. The only path is emailing info@titandex.io. This is a product/process limitation (contact-sales gating), not an agent mistake or environment misconfiguration — the agent correctly identified it and halted instead of guessing at credentials.
  Event 60:

  ```text
  Request API access via info@titandex.io, then re-run.
  ```
  Event 84:

  ```text
  there's no pricing page, no self-serve signup, no tiers, no free quota. The README says "Contact info@titandex.io for API-related inquiries" — so access/pricing is contact-sales/negotiated.
  ```
- **Unauthenticated WebSocket connection fails with an unhelpful error**: Connecting to wss://api.titan.exchange/api/v1/ws without a valid auth token produces an opaque WebSocket error object with no descriptive message (just isTrusted/target/cancelable fields), making it hard for a developer to tell whether the failure is due to bad credentials, network issues, or something else. This is product behavior (SDK/server error surface), surfaced during the agent's own probing.
  Event 64:

  ```text
  {"type":"error","isTrusted":false,"_yaeti":true,"target":{},"cancelable":true}
  ```

#### Suggested Changes
- **Publish a pricing/access page for the Titan Swap API**: Add a public pricing or access page (linked from the SDK README and titan.exchange) that states API cost tiers or confirms it is free, and how to obtain a token, instead of routing all access requests to info@titandex.io. Verify by checking that a new developer can find token pricing without emailing support, as attempted at seq 44/84.
  Event 84:

  ```text
  there's no pricing page, no self-serve signup, no tiers, no free quota.
  ```
- **Return a descriptive error on failed WebSocket auth**: Update the server/SDK to return a structured error message (e.g. 'invalid or missing auth token') instead of a raw WebSocket close/error event when a connection lacks a valid auth token. Verify by re-running the probe script in src/quote-example.mjs (or the inline probe at seq 63) without a token and confirming the thrown error includes a readable reason.
  Event 64:

  ```text
  ERR: [object Object]
  ```

### Task given to each agent
Help me build a simple example using Titan Exchange. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.

No product credentials were supplied and no purchases were authorized.

## Score: B · 65/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

### Clarity
- **Failed** — Homepage answers Markdown requests

  ```text
  Homepage returned text/html even when text/markdown was requested; no Markdown representation offered.
  ```

- **Failed** — llms.txt provides an actionable documentation index

  ```text
  /llms.txt returns HTTP 404, so no documentation index is published at the standard path.
  ```

- **Skipped** — llms.txt provides navigation guidance

  ```text
  /llms.txt is 404, so no navigation guidance content exists to assess.
  ```

- **Skipped** — llms.txt mentions offered API, MCP, and skills

  ```text
  /llms.txt is 404, so no mention of API, MCP or skills can be assessed.
  ```

- **Pass** — A compact guide representation exists

  ```text
  GitBook docs publish Markdown versions; quickstart.md and reference.md return text/markdown.
  ```

- **Pass** — A focused guide is directly retrievable

  ```text
  Developers Portal quickstart.md gives concrete curl/TypeScript steps to fetch a quote.
  ```

- **Pass** — Equivalent instructions fit a token budget

  ```text
  quickstart.md is 2455 tokens, well under the 8000-token budget.
  ```

- **Skipped** — Product-docs links survive format changes

  ```text
  Homepage Markdown unsupported, so link preservation across formats cannot be measured.
  ```

- **Pass** — The compact guide is independently actionable

  ```text
  Portal quickstart gives prerequisites, API key, curl/TypeScript quote fetch, and full transaction build.
  ```

- **Pass** — Install and next-step links resolve

  ```text
  Fetched quickstart and reference pages resolve; API info endpoint returns 401 auth, not a broken link.
  ```


### Onboarding
- **Pass** — Docs lead to a relevant quickstart

  ```text
  Developers Portal quickstart gives concrete first steps: fetch a quote, then build and sign a transaction.
  ```

- **Pass** — Installation commands are extractable

  ```text
  Quickstart shows install commands: npm install @titanexchange/sdk-ts bs58 and @msgpack/msgpack.
  ```

- **Pass** — Code examples are available without interaction

  ```text
  Quickstarts include full curl, TypeScript, and SDK code examples inline without interaction.
  ```

- **Pass** — Prerequisites and auth boundaries are explicit

  ```text
  Prerequisites table lists API key from developer.titan.exchange, RPC endpoint, and x-api-key auth header.
  ```


### Pricing
- **Pass** — Pricing is readable without interaction

  ```text
  Pricing table renders plan prices, RPS, credits and API keys directly in the fetched homepage HTML.
  ```

- **Pass** — Prices are stated, not gated

  ```text
  Prices $0/$25/$100/$500 per month are stated openly; only Enterprise is contact-sales.
  ```

- **Pass** — Pricing units and limits are explicit

  ```text
  Units explicit: price per month, requests per second, credits per month, API keys per plan.
  ```

- **Pass** — Agents identify pricing and its assumptions

  ```text
  2 of 3 sessions were judged on pricing; 0 fell short. Kimi K3: final output gives a full plan table (Sandbox $0/Build $25/Scale $100/Growth $500/Enterprise custom) with named assumptions — req/sec limits, credit pools, rolling 60s window, Genesis-50 discount, USDC billing. Qwen 3.8 Max: Final output and README.md name concrete fee mechanics with assumptions (transaction.feeBps default 10bps, slippageBps default 50, positiveSlippageFeeReceiver capped at 10bps) while explicitly flagging that broader API-access pricing is unpublished/contact-sales rather than inventing a number. This behavioural item does not affect the fast grade.
  ```


### Activation
- **Pass** — An API reference or OpenAPI spec is reachable

  ```text
  Swap API reference and Developers Portal reference pages document Gateway REST endpoints and Direct RPC methods.
  ```

- **Skipped** — An MCP server is documented and well-formed

  ```text
  No MCP server is documented in the fetched Titan developer docs.
  ```

- **Skipped** — A CLI install path is documented

  ```text
  Docs show SDK install (npm install @titanexchange/sdk-ts) but no dedicated CLI install path.
  ```

- **Pass** — SDK packages resolve on their registries

  ```text
  npm registry lookup for @titanexchange/sdk-ts returned HTTP 200.
  ```

- **Skipped** — Agent skills are published

  ```text
  No agent skills are published in the fetched Titan developer documentation.
  ```



[Full report data](https://www.ax-check.com/developer.titan.exchange/report.json)
