# AX Check: glam.systems
Checked 2026-10-07.

CLI quickstart works smoothly, but no pricing page exists on site.
Docs give concrete install and vault commands agents can follow directly. Pricing is never stated on the product's own pages, forcing agents to infer fees from scattered docs.

## Onboarding needs a login

## Coding sessions
3 of 3 coding sessions completed. Final output details the NAV/AUM pricing model and fee schedule with explicit assumptions (0.2%/yr protocol base fee, early-adopter pricing through June 30 2026, management/performance/subscription f… Final

### DeepSeek V4.1 Flash
[View public run](https://agents.withgauge.com/p/runs/a777c720-e026-4de1-bcff-9b55685f5c8f) · [Read transcript](https://www.ax-check.com/glam.systems/sessions/deepseek.json)
Final output details the NAV/AUM pricing model and fee schedule with explicit assumptions (0.2%/yr protocol base fee, early-adopter pricing through June 30 2026, management/performance/subscription fees), not a bare number.
Session findings unavailable.

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/6e25bec8-12df-4faf-9cc3-cbf5c0e50335) · [Read transcript](https://www.ax-check.com/glam.systems/sessions/kimi.json)
Final output breaks down protocol/manager/vault fees and a ~0.016 SOL rent deposit 'per docs', explicitly framed as docs-derived and noting the product's private-beta status as a caveat on the figures.
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: The agent never obtained product credentials at all. It used a locally-generated throwaway Solana keypair purely to satisfy the SDK provider's wallet requirement, then ran only read-only RPC queries (listing vault state accounts and SPL token balances) against the public Solana mainnet RPC. No GLAM account, API key, or vault-write operation was created or attempted; the GLAM hosted vault GUI is explicitly noted as private beta requiring contact with the team. This is read-only use of public chain data via an SDK, not an authenticated product operation.
  Event 106:

  ```text
  const walletPath = join(tmpdir(), "glam-example-wallet.json");
  writeFileSync(walletPath, JSON.stringify([...Keypair.generate().secretKey]));
  ```
  Event 131:

  ```text
  SPL token accounts held by the vault PDA: 1
    So11111111111111111111111111111111111111112  balance=0.000000008
  ```
  Event 137:

  ```text
  the hosted vault product is currently in private beta, so I'd need you to supply a wallet/beta access for anything beyond querying.
  ```

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

#### Blockers
- **Vault creation and write flows require private-beta access and a funded wallet**: GLAM Vault write operations (create vault, deposit, subscribe/redeem) require a funded Solana wallet to sign transactions, and the hosted GUI/vault product is in private beta requiring the team to be contacted. This is a product/environment limitation (private beta gating), not an agent error, and it correctly stopped the agent from attempting any state-changing demo within the lightweight, no-login scope requested.
  Event 38:

  ```text
  GLAM Vault is currently in private beta. Contact us at [hello@glam.systems](mailto:hello@glam.systems) to discuss feature requests, integrations, or potential collaborations.
  ```
  Event 137:

  ```text
  those need a funded Solana wallet, and the hosted vault product is currently in private beta, so I'd need you to supply a wallet/beta access for anything beyond querying.
  ```
- **Docs site serves JS-rendered pages instead of plain text by default**: Fetching standard GLAM docs URLs (e.g. /v0/quickstart, /v1/sdk/introduction) returned Mintlify's client-side JS bundle rather than readable content; the agent had to discover and switch to the .md suffix variants to get usable text. This is a minor agent-side workaround, not a true blocker, since it was resolved quickly.
  Event 30:

  ```text
  GLAM SDK - GLAM Docs!function(){var b="";
  ```
  Event 33:

  ```text
  The docs are Mintlify-rendered JS; let me grab the markdown versions instead.
  ```

#### Suggested Changes
- **Fix the CreatedModel field name mismatch between IDL and generated types**: Decoding any StateAccount's created timestamp via the published SDK types (account.created.ts) throws a RangeError because the IDL field is actually named created_at, exposed as createdAt. Fix the SDK's generated TypeScript types/docs to match the IDL field name, and verify by running the example.mjs pattern (fetch stateAccount.all(), read account.created.createdAt) against mainnet without error.
  Event 110:

  ```text
  RangeError: Invalid time value
      at Date.toISOString (<anonymous>)
      at file:///sandbox/repo/example.mjs:46:69
  ```
  Event 115:

  ```text
  "name": "created_at",
      "type": "i64"
  ```
- **Add a plain-HTML or curl-friendly fallback for docs pages**: Default docs URLs like https://docs.glam.systems/v0/quickstart render only via client-side JS, returning no readable content to simple HTTP fetchers; only the lesser-known .md suffix works. Add a documented, discoverable note (e.g., in the main docs nav or llms.txt) pointing new integrators directly to the .md endpoints instead of requiring trial-and-error discovery.
  Event 30:

  ```text
  GLAM SDK - GLAM Docs!function(){var b="";
  function a(p){if(p==null)return"/";p=""+p;
  ```
  Event 38:

  ```text
  > ## Documentation Index
  > Fetch the complete documentation index at: https://docs.glam.systems/llms.txt
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/b1200ff6-8459-4f8d-abaf-e0d99db9dbfb) · [Read transcript](https://www.ax-check.com/glam.systems/sessions/qwen.json)
README.md 'How pricing works' section states credit-based pricing tied to model/duration/resolution, names plan tiers (Free/Basic/Pro/Pro Plus/Ultimate), monthly vs annual refresh cycles, no-rollover rule, and 90-day pack expiry as explicit assumptions.
#### End-to-end onboarding
- **Onboarding needs a login**: Agent found glam.ai has no REST API/SDK but a hosted MCP server requiring OAuth. It completed dynamic client registration (self-service, unauthenticated) and confirmed the MCP endpoint's 401 auth challenge, but real sign-in needs an interactive browser session tied to a glam.ai account, which the agent explicitly could not complete headlessly. No authenticated MCP call (tools/list or tools/call) was ever executed against the live server.
  Event 62:

  ```text
  {"client_id":"YLLrFeIfYRPwxwRrxTThhxPBDapsoZtR","client_secret":"GjlnculNdtnXRgrMrTMoKssatDqikuiR","client_secret_expires_at":0,"client_id_issued_at":1791397704
  ```
  Event 49:

  ```text
  error":"invalid_token","error_description":"Missing Bearer token in Authorization header"
  ```
  Event 77:

  ```text
  I can't complete the **browser OAuth login** headlessly from this sandbox (it requires signing in to a glam.ai account interactively), so I could not execute a live generation end-to-end.
  ```

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

#### Blockers
- **Interactive browser OAuth login blocks headless onboarding**: Glam AI's only developer workflow (the hosted MCP server) requires a human-interactive browser-based OAuth sign-in tied to a real glam.ai account. This is normal product authentication behavior, not a defect, but it is an unresolved limitation of the sandboxed/headless test environment: the agent could register an OAuth client and reach the 401 challenge, but could not finish the authorization-code exchange or call any authenticated tool, so no live generation or tools/list call was demonstrated.
  Event 49:

  ```text
  error":"invalid_token","error_description":"Missing Bearer token in Authorization header"
  ```
  Event 77:

  ```text
  I can't complete the **browser OAuth login** headlessly from this sandbox (it requires signing in to a glam.ai account interactively), so I could not execute a live generation end-to-end.
  ```

#### Suggested Changes
- **Publish a per-model credit cost table on the pricing page**: Pricing page explains credit cycles/expiry but no per-model credit cost list or usage/billing API was found. Add a table mapping model/resolution/duration to credit cost on glam.ai/pricing; verify by confirming a developer can estimate cost for a specific generation call before making it.
  Event 38:

  ```text
  Each model (image, video, or animation) uses a specific number of credits per generation depending on model type, duration, and resolution.
  ```
- **Offer a non-interactive auth option for agent/CLI use**: The MCP quickstart markets itself as agent-friendly but the only path in is full browser OAuth, which stalls headless agents or CI. Add a device-code or token flow alongside browser OAuth on the glam.ai/mcp page; verify by having a non-interactive script obtain a token and call tools/list without opening a browser.
  Event 44:

  ```text
  Connect Glam to Claude, Cursor, or any MCP client. Generate images and videos directly from your prompts — no API keys to manage, no CLI to install.
  ```

### Task given to each agent
Help me build a simple example using GLAM. 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 · 81/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 for a text/markdown request; no Markdown representation offered.
  ```

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

  ```text
  llms.txt links core concepts, integrations, SDK, CLI, GitHub, skills and audit docs.
  ```

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

  ```text
  llms.txt groups links under Core concepts, Integrations, Developer resources, Programs and Optional.
  ```

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

  ```text
  llms.txt lists TypeScript SDK, glam-cli, and a Skills pack for agents.
  ```

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

  ```text
  docs.glam.systems/v1/quickstart/cli.md returns a standalone Markdown CLI quickstart.
  ```

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

  ```text
  CLI quickstart Markdown fetched directly with concrete install, config and vault commands.
  ```

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

  ```text
  Markdown quickstart measures 3205 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
  CLI quickstart gives concrete steps: install CLI, config JSON, create vault, subscribe, redeem.
  ```

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

  ```text
  Fetched quickstart and CLI pages returned 200; install/next-step links resolve.
  ```


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

  ```text
  Docs welcome links 'Create Your First Vault' to the CLI quickstart with concrete steps.
  ```

- **Pass** — Installation commands are extractable

  ```text
  CLI intro gives 'npm install -g @glamsystems/glam-cli' and config setup.
  ```

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

  ```text
  Quickstart shows inline bash and JSON examples without interaction.
  ```

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

  ```text
  Preparation lists keypairs, SOL, USDC, and optional Jupiter API key source.
  ```


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

  ```text
  No GLAM pricing page fetched; the only pricing page is Jupiter's, a foreign product.
  ```

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

  ```text
  No GLAM pricing page fetched; Jupiter's prices measure a different product.
  ```

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

  ```text
  No GLAM pricing page fetched, so units and limits cannot be judged.
  ```

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

  ```text
  3 of 3 sessions were judged on pricing; 0 fell short. DeepSeek V4.1 Flash: Final output details the NAV/AUM pricing model and fee schedule with explicit assumptions (0.2%/yr protocol base fee, early-adopter pricing through June 30 2026, management/performance/subscription fees), not a bare number. Kimi K3: Final output breaks down protocol/manager/vault fees and a ~0.016 SOL rent deposit 'per docs', explicitly framed as docs-derived and noting the product's private-beta status as a caveat on the figures. Qwen 3.8 Max: README.md 'How pricing works' section states credit-based pricing tied to model/duration/resolution, names plan tiers (Free/Basic/Pro/Pro Plus/Ultimate), monthly vs annual refresh cycles, no-rollover rule, and 90-day pack expiry as explicit assumptions. This behavioural item does not affect the fast grade.
  ```


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

  ```text
  IDL Reference at idl.glam.systems is linked from GLAM docs navigation as the API/IDL surface.
  ```

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

  ```text
  No MCP server is documented in any fetched GLAM page.
  ```

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

  ```text
  CLI introduction documents `npm install -g @glamsystems/glam-cli` and config steps.
  ```

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

  ```text
  npm registry lookup for @glamsystems/glam-cli returned HTTP 200.
  ```

- **Pass** — Agent skills are published

  ```text
  llms.txt links a GLAM agent skill pack at skills.sh/sendaifun/skills/glam.
  ```



[Full report data](https://www.ax-check.com/glam.systems/report.json)
