# AX Check: banani.co
Checked 2026-10-13.

Pricing is clear on-site, but one agent priced the wrong product
Free, Plus ($12/mo), and Pro ($30/mo) plans with credit limits are stated openly on the pricing page. Still, 1 of 3 agent sessions confused Banani with an unrelated crypto library.

## Onboarding needs a login

## Coding sessions
All three sessions completed. DeepSeek V4.1 Flash correctly quoted Free, Plus and Pro pricing plus credit allowances. Kimi K3 and Qwen 3.8 Max instead described pricing for an unrelated free, feeless crypto library sharing a similar name, never finding Banani's actual plans.

### DeepSeek V4.1 Flash
[View public run](https://agents.withgauge.com/p/runs/04648309-2997-46a4-8fb0-0e7996dfa1cc) · [Read transcript](https://www.ax-check.com/banani.co/sessions/deepseek.json)
Quoted Free, Plus and Pro prices for yearly and monthly billing, plus credit allowances. It noted that credits are usage-based and that one generation often costs more than 1 credit. (seq 20, seq 104)
#### End-to-end onboarding
- **Onboarding needs a login**: The agent found and exercised Banani's real hosted MCP server (app.banani.co/api/mcp/mcp) without any credentials, confirming the endpoint, protocol, and tool schema. But the one tool available (banani_get_selected_designs) requires an API key that can only be minted by a logged-in human inside the Banani web app UI. The agent had no account/session and could not self-serve a credential, so it never completed an authenticated operation. It stopped and asked the user for a key rather than fabricate success.
  Event 86:

  ```text
  {"result":{"tools":[{"name":"banani_get_selected_designs","title":"Get Selected Designs from Banani"
  ```
  Event 91:

  ```text
  Authentication required. Generate a connection token in Banani: open any project → click \"Claude Code\" in the sidebar.
  ```
  Event 102:

  ```text
  Banani said: Authentication required. Generate a connection token in Banani: open any project → click "Claude Code" in the sidebar.
  ```

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

#### Blockers
- **MCP API key requires human login in the Banani web UI**: The only programmatic tool (banani_get_selected_designs) is gated behind a bearer token that must be generated by a logged-in human inside the Banani app (project > MCP sidebar > generate key). This is a standard login requirement, not a product defect, but it fully blocked the agent from completing an authenticated call since it had no way to create an account or session on its own.
  Event 91:

  ```text
  Authentication required. Generate a connection token in Banani: open any project → click \"Claude Code\" in the sidebar.
  ```
  Event 104:

  ```text
  The key must be minted by a logged-in human in the Banani app UI (shown once, `bnni_...`). I have no account and cannot generate one.
  ```
- **No public API/SDK or docs site for Banani**: Banani has no general REST API or SDK; the marketing site's /api, /docs, /developers, and /mcp paths all 404, and docs.banani.co does not resolve. The agent had to reverse-engineer the MCP endpoint from the app's JS bundles rather than from documentation, which is a product/documentation gap rather than an agent mistake.
  Event 24:

  ```text
  https://www.banani.co/docs -> 404 https://www.banani.co/docs
  https://www.banani.co/api -> 404 https://www.banani.co/api
  https://docs.banani.co -> 000 https://docs.banani.co/
  ```

#### Suggested Changes
- **Publish the MCP endpoint URL and auth format in official docs**: Agent found the live endpoint by downloading and grepping compiled app JS (mcp-DGQeqCPm.js, McpView-DWX1c7XF.js) since no public docs existed. Add the endpoint, auth header format, and tool schema to the existing Banani Help MCP article or a docs.banani.co page. Verify by checking a new integrator can find the endpoint via a documented link instead of inspecting frontend bundles.
  Event 65:

  ```text
  grep -o -i -E '.{60}(mcp\.|/mcp|mcp-|sse|streamable).{80}' index.js
  ```
  Event 76:

  ```text
  let r=`${n}/api/mcp/mcp`;switch(e){case`claude-code`:return`claude mcp add --transport http banani ${r} --header "Autho
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/e77e112d-d2bf-45cb-b959-504df3748569) · [Read transcript](https://www.ax-check.com/banani.co/sessions/kimi.json)
Said the costs are zero (MIT library, free public RPC, feeless network) and named the assumptions: public RPC rate limits, the PoW work source, and running your own node later. (seq 29)
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: Banani has no accounts, API keys, or developer signup flow to onboard into — it's a free MIT library that talks to a public Banano RPC node. The agent generated a wallet locally and made a successful read call to the live public RPC (get_block_count), but never performed an authenticated operation (no send/receive, no credential-gated action) since the generated wallet had zero funds. This doesn't meet the bar for verified self-service onboarding because no credentials were obtained/used and no authenticated write operation occurred.
  Event 27:

  ```text
  Block count: { cemented: '67641618', count: '67641618', unchecked: '0' }
  ```
  Event 29:

  ```text
  The only thing I couldn't do is demonstrate an actual on-chain send, since the fresh wallet is unfunded — that needs faucet funds or a real transfer, not a blocker on my side.
  ```

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

#### Blockers
- **Fresh wallet has no funds to test a real transaction**: The agent generated a brand-new random wallet, which naturally starts with zero BAN. This prevented demonstrating an actual send/receive on-chain operation. This is a test-environment limitation (no funding source available), not a product defect — the agent correctly identified it would need faucet funds or a real transfer to go further.
  Event 29:

  ```text
  The only thing I couldn't do is demonstrate an actual on-chain send, since the fresh wallet is unfunded — that needs faucet funds or a real transfer, not a blocker on my side.
  ```

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

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/728b42dc-ad40-4dd3-b8fd-79da278967fc) · [Read transcript](https://www.ax-check.com/banani.co/sessions/qwen.json)
The pricing given (free MIT library, feeless network) covers the unrelated Banano library. Banani's actual plans and pricing were never researched or stated. (seq 61)
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: No product credentials were created or used. The agent treated 'Banani' as the open-source Banano cryptocurrency JS library (npm package), which requires no account, API key, or signup. It queried a public, unauthenticated RPC node (kaliumapi.appditto.com) and generated a local random wallet. There is no authentication step and no product account/credential system to onboard into, so verification doesn't apply in the standard sense — this is a free, keyless OSS library rather than a product with a signup flow.
  Event 47:

  ```text
  Network block count: 67641617
  Generated address: ban_16yjdjdh6aqpcf75g59tqeoii85ak9ma5j3k5hcqw8zi1odtnbjik1m5bhj9
  Balance (raw): 0
  ```
  Event 61:

  ```text
  The library itself: free. MIT-licensed open source (`npm install banani`), no API keys, no account, no paid tiers.
  ```

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

#### Blockers
- **Ambiguous product name required agent to pick an interpretation**: The prompt's target product name 'Banani' collided with an unrelated, well-established npm package for the Banano cryptocurrency. The agent searched npm/web, found no API/SDK for the AI UI-design tool banani.co, and proceeded with the cryptocurrency library instead, flagging the ambiguity to the user rather than stopping outright. This is a test-environment/prompt ambiguity issue, not a product defect in either actual product.
  Event 61:

  ```text
  "Banani" most commonly refers to two things. I used the **`banani` npm package** (a JS library for the Banano cryptocurrency), since it's the one with a real developer workflow I can act on. If you meant **banani.co** (the AI UI-design tool), that's a hosted SaaS with no public API/SDK I could find or credentials for — I'd have to say plainly: no actionable developer workflow there, and stop.
  ```

#### Suggested Changes
- **Fix README code sample return type mismatch for sign_message**: In node_modules/banani/README.md the example implies `wallet.sign_message(...)` returns an object (code uses `random_wallet.sign_message(...)` without showing output), but the actual implementation (wallet.ts line 254-256) returns a bare hex string. The agent initially wrote `signature.signature` based on assumed object shape, got `undefined`, and had to read source to fix it. Update the README example to show the real string return value, and verify by running the snippet as-is and confirming printed output matches.
  Event 47:

  ```text
  Message signature: undefined
  ```
  Event 51:

  ```text
  sign_message(message: string): string {
      return util.sign_message(this.private_key, message);
    }
  ```

### Task given to each agent
Help me build a simple example using Banani. 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 · 73/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

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

  ```text
  /llms.txt returned HTTP 404, so no documentation index exists.
  ```

- **Pass** — Homepage answers Markdown requests

  ```text
  Homepage returned text/markdown with 200 when requested with Markdown Accept header.
  ```

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

  ```text
  /llms.txt is 404, so no navigation guidance could be evaluated.
  ```

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

  ```text
  /llms.txt is 404, so API, MCP or skills mentions could not be evaluated.
  ```

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

  ```text
  Homepage served text/markdown (1757 tokens) when requested with Accept: text/markdown.
  ```

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

  ```text
  Homepage Markdown representation is directly retrievable at banani.co with content negotiation.
  ```

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

  ```text
  Markdown homepage is 1757 tokens, well under 8000 and far below the 7478-token HTML.
  ```

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

  ```text
  Markdown homepage preserves product, pricing, blog and legal links with equivalent routes.
  ```

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

  ```text
  No compact agent guide or standalone Markdown doc was fetched for Banani.
  ```

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

  ```text
  Signup and app links fetched successfully (200), confirming install/next-step routes resolve.
  ```


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

  ```text
  No docs or quickstart pages were fetched; only signup and app pages.
  ```

- **Skipped** — Installation commands are extractable

  ```text
  No installation or CLI guide was fetched for Banani.
  ```

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

  ```text
  No documentation or code example pages were fetched.
  ```

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

  ```text
  Signup page shows free account creation but no API auth boundaries.
  ```


### Pricing
- **Failed** — Agents identify pricing and its assumptions

  ```text
  3 of 3 sessions were judged on pricing; 1 fell short. DeepSeek V4.1 Flash: Quoted Free, Plus and Pro prices for yearly and monthly billing, plus credit allowances. It noted that credits are usage-based and that one generation often costs more than 1 credit. (seq 20, seq 104) Kimi K3: Said the costs are zero (MIT library, free public RPC, feeless network) and named the assumptions: public RPC rate limits, the PoW work source, and running your own node later. (seq 29) Qwen 3.8 Max: The pricing given (free MIT library, feeless network) covers the unrelated Banano library. Banani's actual plans and pricing were never researched or stated. (seq 61) This behavioural item does not affect the fast grade.
  ```

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

  ```text
  Pricing page renders plan prices and features as static text, no interaction needed.
  ```

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

  ```text
  Free $0, Plus $12/mo, Pro $30/mo stated openly; Enterprise contact sales.
  ```

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

  ```text
  Credits, daily refills, and per-generation cost limits explained per plan.
  ```


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

  ```text
  No API reference or OpenAPI spec was fetched for Banani.
  ```

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

  ```text
  No MCP server documentation was fetched for Banani.
  ```

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

  ```text
  No CLI install path was fetched for Banani.
  ```

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

  ```text
  No SDK package registry lookup was fetched for Banani.
  ```

- **Skipped** — Agent skills are published

  ```text
  No agent skills documentation was fetched for Banani.
  ```



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