# AX Check: devzone.nayax.com
Checked 2026-09-22.

Docs and API access are clear, but pricing stays a mystery
Quickstart, API specs, and MCP setup all resolve cleanly. No pricing page exists, so agents can only guess pricing from general knowledge, not the site.

## Onboarding needs a login

## Coding sessions
All three sessions found clear setup docs and working API references. Two completed sessions could not find an actual pricing page and instead reported pricing from general knowledge, flagging it as unverified since Nayax pricing is sales-negotiated rather than published.

### DeepSeek V4 Pro
[View public run](https://agents.withgauge.com/p/runs/acd674e0-f312-44e3-9410-d760a58ca52a) · [Read transcript](https://www.ax-check.com/devzone.nayax.com/sessions/deepseek.json)

#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: Agent explored Nayax's developer portal (devzone.nayax.com), pulled OpenAPI specs for the Ecom SDK and Lynx API, and inspected third-party SDK repos (python-sdk, php-sdk, csharp-sdk) for integration patterns. It never obtained real Nayax API credentials (merchant ID, hash code, OAuth client_id/secret) nor made any authenticated call against a live Nayax endpoint. All requests made were unauthenticated GETs to public docs, OpenAPI YAML files, and GitHub repos. No credential-acquisition step (sandbox signup, self-service key issuance) was attempted or observed in the visible transcript.
  Event 97:

  ```text
  HTTP/2 302 
  content-length: 167
  content-type: text/html; charset=utf-8
  location: /(S(kae2cqcv1lj51s4nfs1hhpbv))/hosted/default.aspx
  ```
  Event 8:

  ```text
  PI_GATEWAY_API_KEY=<redacted>
  GIT_CONFIG_KEY_0=<redacted>
  ---NO MATCH IF EMPTY---
  ```
  Event 9:

  ```text
  403 <- nayax.com
  000 <- api.nayax.com
  ```

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

#### Blockers
- **Main Nayax marketing site blocked by Cloudflare bot challenge**: Requests to www.nayax.com and api.nayax.com returned a Cloudflare 'Just a moment...' challenge page (403) or connection failure (000), which is standard bot-mitigation product behavior rather than a defect, and forced the agent to route around via search engines and GitHub instead of the vendor's own site.
  Event 24:

  ```text
  <!DOCTYPE html><html lang="en-US"><head><title>Just a moment...</title>
  ```
  Event 16:

  ```text
  developer.nayax.com -> 000
  developers.nayax.com -> 000
  portal.nayax.com -> 000
  docs.nayax.com -> 000
  api.nayax.com -> 000
  www.nayax.com -> 403
  ```
- **GitHub API rate limit hit during unauthenticated searches**: Unauthenticated GitHub REST API calls exhausted the rate limit while the agent was searching for Nayax SDK repos, a test-environment/tooling limitation (no GitHub token available) rather than a Nayax product issue, which stalled further repo metadata lookups until it switched to raw.githubusercontent.com and git clone instead.
  Event 69:

  ```text
  {"message":"API rate limit exceeded for 3.219.48.2. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)","documentation_url":"https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"}
  ```

#### Suggested Changes
- **Add a direct pricing page link to the devzone documentation index**: A full-text search of the devzone llms.txt index and the Lynx/Ecom OpenAPI specs turned up no pricing, fee, or plan terminology outside of transaction amount fields; add a discoverable 'Pricing' entry to https://devzone.nayax.com/llms.txt or the docs home so a first-time developer does not have to infer commercial terms are absent from the self-serve docs. Verify by re-running the same grep against llms.txt and confirming a pricing-related link appears.
  Event 129:

  ```text
  185 /tmp/devzone-llms.txt
  === grep pricing/price/lynx ===
  15:- [Get Started](https://devzone.nayax.com/docs/core-extension/get-started.md): Walk through the full developer journey from sandbox access to a live Core Extension in production.
  ```
- **Fix broken 'main' branch links on official SDK repos so README examples resolve**: The nayax/python-sdk, nayax/php-sdk, and nayax/csharp-sdk repos only have content on the 'master' branch; raw.githubusercontent.com requests to the 'main' branch (the GitHub default shown in tooling) 404. Either set 'main' as the default branch or update any external references to point at 'master' explicitly. Verify by fetching https://raw.githubusercontent.com/nayax/python-sdk/main/README.md and confirming it no longer 404s.
  Event 74:

  ```text
  === python-sdk (main) ===
  404: Not Found
  === python-sdk (master) ===
  # Nayax API Python SDK
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/c273f294-65ca-4d0a-a83d-7469747aab12) · [Read transcript](https://www.ax-check.com/devzone.nayax.com/sessions/kimi.json)
Final output states pricing is quote-based (hardware + monthly per-device fee + processing rates varying by region/volume, no free tier) while explicitly flagging it's from general knowledge since nayax.com's pricing page was blocked by Cloudflare (seq 86).
#### End-to-end onboarding
- **Onboarding needs a login**: No self-serve developer portal or sandbox exists for Nayax. The agent found that developer.nayax.com doesn't resolve, and the closest real portal (dev.nayax.com) redirects to a login page and then returned a 502 Bad Gateway when the agent tried to reach it unauthenticated. The agent never obtained real merchant credentials and built the example using placeholder values (YOUR_MERCHANT_ID, YOUR_HASH_CODE), running only local signature-generation and notification-parsing logic. No authenticated call to a live Nayax endpoint was made.
  Event 39:

  ```text
  502 https://dev.nayax.com/core/loginpage.aspx?ReturnUrl=%2Fcore%2Fpublic%2Fdefault.aspx
  365 /tmp/nayax_dev.html
  <title>502 Bad Gateway</title>
  ```
  Event 96:

  ```text
  merchant_id = "YOUR_MERCHANT_ID"
  hash_code = "YOUR_HASH_CODE"  # secret key used only for the SHA-256 signature
  ```
  Event 100:

  ```text
  Hosted checkout URL (send the customer's browser here):
  
  https://uiservices.ecom.nayax.com/hosted/?merchantID=YOUR_MERCHANT_ID&trans_refNum=123&trans_installments=1&trans_amount=1.23&trans_currency=USD&trans_type=0&disp_paymentType=CC&notification_url=https%3A%2F%2Fexample.com%2Fwebhook&url_redirect=https%3A%2F%2Fexample.com%2Fthanks&signature=REDACTED
  ```
  Event 107:

  ```text
  there's no self-serve signup...real testing requires becoming a Nayax customer to get a merchant_id/hash_code
  ```

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

#### Blockers
- **No self-serve developer portal exists**: developer.nayax.com does not resolve in DNS at all, and the real developer-facing subdomain (dev.nayax.com) is login-gated for existing customers with no visible signup flow. This is product behavior (deliberate B2B/quote-based gating), not an agent mistake or test-environment artifact.
  Event 20:

  ```text
  ** server can't find developer.nayax.com: NXDOMAIN
  ```
  Event 39:

  ```text
  502 https://dev.nayax.com/core/loginpage.aspx?ReturnUrl=%2Fcore%2Fpublic%2Fdefault.aspx
  ```
- **Pricing page blocked by bot protection**: www.nayax.com/pricing/ returned an HTTP 403 with a Cloudflare 'Just a moment...' challenge page, preventing the agent from confirming authoritative pricing details. This is a product/infrastructure behavior (bot mitigation) rather than agent error.
  Event 84:

  ```text
  403
  <title>Just a moment...</title>
  ```
- **Official Python SDK package is broken on install**: Installing the official nayax/python-sdk via pip failed because the package's __init__.py uses a Python-2-style relative import that does not work on Python 3, forcing the agent to vendor a single file manually. This is a product (SDK maintenance) defect, not an agent or environment issue.
  Event 89:

  ```text
  ModuleNotFoundError: No module named 'adapter'
  ```

#### Suggested Changes
- **Fix the Python SDK's broken package import**: In github.com/nayax/python-sdk, nayax/__init__.py uses 'from adapter import Adapter', a Python-2-style relative import that fails under `pip install` on Python 3. Change it to 'from .adapter import Adapter' (or equivalent explicit relative import) and verify by running `pip install git+https://github.com/nayax/python-sdk` followed by `python3 -c "import nayax.adapter"` without error.
  Event 89:

  ```text
  File "/opt/freestyle/python/lib/python3.12/site-packages/nayax/__init__.py", line 1, in <module>
      from adapter import Adapter
  ModuleNotFoundError: No module named 'adapter'
  ```
- **Add a working developer.nayax.com or clear redirect**: developer.nayax.com does not resolve at all (NXDOMAIN), while the actual developer portal lives at dev.nayax.com. Register the developer.nayax.com subdomain (even as a redirect to dev.nayax.com) so developers guessing the conventional 'developer.' prefix land somewhere useful. Verify with `nslookup developer.nayax.com` returning a valid address instead of NXDOMAIN.
  Event 20:

  ```text
  ** server can't find developer.nayax.com: NXDOMAIN
  ```
- **Publish baseline pricing information**: www.nayax.com/pricing/ is blocked from automated/non-browser access by a Cloudflare challenge, and no public pricing figures are available anywhere else the agent could find. Add a static pricing overview page (even high-level ranges or tiers) that is reachable without passing a bot challenge, and confirm by fetching the page with a plain HTTP client and checking for real content instead of a 'Just a moment...' interstitial.
  Event 84:

  ```text
  403
  <title>Just a moment...</title>
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/151c6911-b336-400e-8d89-94778176b5fc) · [Read transcript](https://www.ax-check.com/devzone.nayax.com/sessions/qwen.json)
Final output describes Nayax's pricing model (per-transaction and monthly per-device fees, sales-negotiated, no self-serve free tier) while explicitly flagging it as 'general knowledge, unverifiable right now' rather than presenting a bare number.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained or used Nayax credentials. The sandbox had no outbound network access at all, so it could not even reach the Nayax developer portal to read docs, let alone register for an account or call an API. The agent correctly identified this as a hard stop rather than attempting a workaround.
  Event 3:

  ```text
  curl -s -m 10 -o /dev/null -w "%{http_code}" https://developer.nayax.com
  ```
  Event 7:

  ```text
  000no network
  
  ```
  Event 9:

  ```text
  No network access — this sandbox can't reach `developer.nayax.com` or any external API, so I can't read the docs, register, or make API calls.
  ```
  Event 9:

  ```text
  No credentials — Nayax is a payment/telemetry provider for vending machines and unattended retail. Their developer workflow requires a merchant account, API keys tied to that account, and often real hardware (VPOS devices) or a sandbox account provisioned by Nayax sales. I have none of these in this environment.
  ```

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

#### Blockers
- **Sandbox has zero outbound network access**: The environment's curl request to the Nayax developer portal returned no HTTP response at all (status code 000), confirming the test sandbox cannot reach any external host. This is a test-environment limitation, not a product defect — it prevented any attempt to read docs or register, independent of Nayax's own signup requirements.
  Event 4:

  ```text
  https://developer.nayax.com
  ```
  Event 7:

  ```text
  000no network
  
  ```
- **No Nayax credentials present in environment**: A scan of environment variables and config directories turned up no Nayax API keys or account info, so even if network access existed, the agent had nothing to authenticate with. Nayax's model reportedly requires a provisioned merchant/sandbox account, which is a normal login/credential gate rather than a flaw in the product itself.
  Event 5:

  ```text
  env | grep -iE "nayax|api" | head; ls ~/.config 2>/dev/null
  ```
  Event 6:

  ```text
  PI_GATEWAY_API_KEY=unused
  
  
  Command exited with code 2
  ```

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

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

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

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

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

  ```text
  llms.txt lists docs, API reference endpoints, OpenAPI specs, and MCP setup with descriptions.
  ```

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

  ```text
  llms.txt groups pages under Docs Home, Core Extension, Cortina, Build with AI, and Indexes.
  ```

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

  ```text
  llms.txt links MCP setup, OpenAPI specs, and API reference endpoints.
  ```

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

  ```text
  llms.txt and .md pages (e.g. core-extension/get-started.md) provide compact Markdown guides.
  ```

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

  ```text
  Core Extension Get Started .md fetched directly with full step-by-step workflow.
  ```

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

  ```text
  Get Started .md is 1131 tokens, well under the 8000-token budget.
  ```

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

  ```text
  Homepage Markdown supported; docs links like /docs/get-started/build-with-ai survive in Markdown.
  ```

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

  ```text
  Core Extension Get Started gives concrete steps: sandbox access, hosting, integrations, registration, testing, certification, deploy.
  ```

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

  ```text
  Fetched install/next-step links resolve: get-started, build-with-ai, mcp-setup, and OpenAPI specs all returned 200.
  ```


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

  ```text
  Core Extension Get Started guide gives concrete end-to-end steps from sandbox access to production.
  ```

- **Skipped** — Installation commands are extractable

  ```text
  No installation or package-manager commands; Core Extension is a hosted web app, not an installable package.
  ```

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

  ```text
  Authentication page shows inline TypeScript postMessage handler and JSON token payload without interaction.
  ```

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

  ```text
  Get Started lists prerequisites and notes sandbox access is provisioned by Nayax, not self-registration.
  ```


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

  ```text
  No pricing page was fetched; only the Nayax Developer Portal homepage is available.
  ```

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

  ```text
  No pricing page was fetched; only the Nayax Developer Portal homepage is available.
  ```

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

  ```text
  No pricing page was fetched; only the Nayax Developer Portal homepage is available.
  ```

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

  ```text
  2 of 3 sessions were judged on pricing; 0 fell short. Kimi K3: Final output states pricing is quote-based (hardware + monthly per-device fee + processing rates varying by region/volume, no free tier) while explicitly flagging it's from general knowledge since nayax.com's pricing page was blocked by Cloudflare (seq 86). Qwen 3.8 Max: Final output describes Nayax's pricing model (per-transaction and monthly per-device fees, sales-negotiated, no self-serve free tier) while explicitly flagging it as 'general knowledge, unverifiable right now' rather than presenting a bare number. This behavioural item does not affect the fast grade.
  ```


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

  ```text
  llms.txt lists five OpenAPI specs; spark.yaml and ecom.yaml fetched successfully with full endpoint schemas.
  ```

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

  ```text
  mcp-setup.md documents the Nayax MCP server at https://devzone.nayax.com/mcp with per-client setup and verification.
  ```

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

  ```text
  No CLI install path for a Nayax tool is documented in the fetched pages.
  ```

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

  ```text
  No registry lookup result for a Nayax SDK or CLI package was supplied.
  ```

- **Skipped** — Agent skills are published

  ```text
  No agent skills are mentioned anywhere in the fetched Nayax documentation.
  ```



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