Troubleshooting & FAQ
Quick fixes for common issues on ehxlabs.xyz. For step-by-step guides, see Getting started, Account & auth, and Plans & checkout.
Quick diagnosis
| Symptom | Likely cause | What to try |
|---|---|---|
| Redirected to login on Chat, Generate, or Checkout | Auth-required mode | Sign in — return URL brings you back |
| “Verification required” or paid features blocked | Email not verified | Verify email or open link from signup mail |
| Checkout stuck on “confirming” | RPC slow or wrong network | Wait 1–2 minutes; confirm chain matches session; see Checkout |
| Chat or Generate shows captcha / won’t submit | Turnstile enabled | Complete the challenge; disable VPN blocks to Cloudflare |
| “Limit reached” or 429-style errors | Free-tier quota | Amber upgrade callout in Chat/Generate with links; or Plan & usage |
| “Plan upgrade required” / bundle needs Team | Recipe min_tier on Free | Use Upgrade to Team in the callout → Checkout |
| Plan tier wrong after paying | Different browser or account | Sign in on the same account; open Plan & usage |
| Page flashes then “Something went wrong” | Stale cache or client error | Hard refresh (Ctrl+Shift+R); clear site data for ehxlabs.xyz |
| Docs search empty | Index still building | Refresh; use sidebar links |
Sign-in and account
I can’t sign in after sign-up
- Confirm you used the same method (Google, GitHub, or email/password) as at sign-up.
- For email + password, check caps lock and try Forgot password.
- If you never verified email, open the verification link or use Verify email while logged in.
Reset email never arrived
- Check spam and promotions folders.
- Request again from Forgot password or account verification resend.
- Corporate filters sometimes block
noreplysenders—try a personal inbox for testing.
“Sign out everywhere” locked me out
That is expected: Sign out everywhere revokes all sessions. Sign in again on each device with your password or OAuth provider.
OAuth works on one browser but not another
Use the same provider (Google vs GitHub are different accounts). Linking is per account email, not automatic across providers.
Checkout and payments
Checkout is a crypto preview on production—not card billing. Dollar amounts may be quotes only until SKUs are final.
Session won’t create
- Sign in first.
- Pick a supported chain and asset (e.g. Ethereum + ETH, Base + USDC).
- If captcha appears, complete Turnstile (see below).
Wrong or missing deposit address
- Do not reuse an address from an old session—open the same session from Checkout or your email receipt link (
?session=). - HD wallet mode derives one address per session; sending to a previous session’s address may not match.
Transaction not confirming
| Check | Action |
|---|---|
| Wrong chain | Send only on the chain shown (Ethereum vs Base vs Arbitrum) |
| Underpaid amount | Match quoted amount including decimals |
| Pending mempool | Wait for confirmations; use block explorer link on session |
| Duplicate TX hash | One hash cannot confirm two sessions—create a new session if needed |
| RPC verification off | Operator may run with verify disabled—status still updates on simulate-confirm in preview |
Plan & usage did not update after payment
- Stay signed in on the same account that started checkout.
- Open Plan & usage.
- Confirmed checkout binds to the browser principal in preview—cross-device entitlements need the same signed-in account.
- Recovery email verified may be required before paid tier applies—see Account & auth.
Promo code rejected
- Codes are case-sensitive unless stated otherwise.
- Expired or max-redemption promos return a clear error at session create.
- Some promos apply only to specific plan tiers.
Quotas and plan limits
Where limits are shown
| Place | What you see |
|---|---|
| Pricing | Marketing comparison and free-tier exclusions |
| Plan & usage | Your tier and meters (when API exposes them) |
| Error message in Chat/Generate | Often quota or captcha related |
Bundle needs a higher plan (403)
When you generate a library bundle (e.g. web3 monitoring) on the Free tier, the product shows an upgrade callout instead of a plain error line:
- Title: Plan upgrade required
- Message: which bundle and which plan (e.g. Team) you need
- Actions: Upgrade to Team (checkout with plan pre-selected), View pricing, Plan & usage
The API returns structured JSON (kind: tier, intent_id, required_tier, upgrade_href). Operators can disable recipe tier checks with EHX_RECIPE_TIER_ENFORCEMENT=0 on the API (not recommended on production).
Free tier vs paid
Free includes catalog browse and signed-in chat/generate with lower quotas than Team or Scale. NodeOps playbooks, full Secure analysis, and team workspaces are called out on pricing as paid or roadmap.
Hitting a limit mid-session
- Wait until the daily/monthly window resets (wording on Plan & usage when available).
- Upgrade via Pricing → Checkout preview.
- Operators: grants may be applied from admin—contact support if you were promised access.
Captcha (Turnstile)
When operators enable Turnstile (EHX_TURNSTILE_SECRET on the API, site key on the web build):
- Free tier uses adaptive captcha: you are challenged when activity looks suspicious (high rate in the last hour), not on every click.
- After one successful check, the same browser principal is trusted for 24 hours (
EHX_CAPTCHA_TRUST_HOURS). - Library → Generate in chat starts the bundle automatically once captcha passes (if required).
- If the widget does not load: use Retry, disable ad blockers, allow
challenges.cloudflare.com, try another network (VPN can block Cloudflare). - If it loops forever: hard refresh; if it persists, report to support (possible key mismatch — rebuild web after changing
NEXT_PUBLIC_TURNSTILE_SITE_KEY).
Product pages and previews
Service preview (Launch, Monitor, NodeOps, Secure) vs paid product
Suite pages are marketing narratives and stubs—depth varies by milestone. They explain direction; they are not full managed services unless stated on Home.
Templates or Generate returns empty / error
- Sign in.
- Complete captcha if shown.
- Pick variables required by the pack (cluster name, region, etc.).
- If validation fails, reduce unsupported characters in variable values and retry.
Status page vs my issue
Status reflects API health (GET /api/v1/health), not every feature flag. A green API can still mean a single UI bug.
Still stuck?
- Note URL, signed-in email (not password), time (UTC), and screenshot.
- Check Status and Plan & usage.
- EHX operators: see internal runbooks in ehx-kb/docs on GitHub.