Help Center

Frequently Asked
Questions

Everything you need to know about ZendIQ Lite and Pro

Getting Started Protection Profiles Smart Routing Auto-Optimise MEV Protection Fees & Pricing Activity Tab Token & Bot Risk Privacy Troubleshooting
1

Getting Started with Pro

4 questions

Lite is a warning tool — it tells you about risk before you sign. Pro is an execution layer — it actively intervenes and can replace Jupiter's default route with a better one, add Jito MEV bundle protection, and auto-sign the improved transaction when the math works out.

FeatureLitePro
Token risk scoring (16 signals)
Wallet security audit
Risk overlay before signing
Smart routing (Jupiter Ultra API)
Auto-optimise swap routes
Jito MEV bundle protection
Live savings tracker (on-chain verified)
Bot Attack Risk score
Protection profiles
PriceFreeFree in beta · 0.05% at paid launch

Think of it this way: Lite catches the trap. Pro routes around it.

Pro is live on the Chrome Web Store — one-click install:

  1. Visit the ZendIQ Pro Chrome Web Store page
  2. Click "Add to Chrome"
  3. Confirm the permission request
  4. Open a supported DEX (jup.ag, raydium.io, or pump.fun), connect your wallet, and try a swap

You can also load it manually from GitHub if you prefer to inspect the source first.

No — run only one at a time on the same DEX pages. Both extensions intercept wallet signing, and running them simultaneously will cause conflicts. Disable Lite before enabling Pro.

DEXs: jup.ag (Jupiter), raydium.io, pump.fun

Wallets (tested and verified):

  • ✅ Phantom  ·  ✅ Backpack  ·  ✅ Solflare
  • ✅ Brave Wallet (built-in)  ·  ✅ Jupiter Wallet
  • ✅ Glow  ·  ✅ Coin98  ·  ✅ Any Wallet Standard compatible wallet
2

Protection Profiles

4 questions

Three built-in profiles control when ZendIQ intervenes:

  • Auto-Profit (recommended) — ZendIQ intercepts every swap, fetches a ZendIQ route in the background, and signs automatically if the net benefit is positive. If there's no benefit, Jupiter's route passes through silently. You only see the widget when ZendIQ improves the trade.
  • Always Ask Me (great for learning) — Every swap opens the full risk and savings review panel for manual confirmation. You see every signal and choose: Sign & Send with ZendIQ, or continue with Jupiter's route.
  • Major Wins Only — Only intercepts HIGH/CRITICAL risk trades or those with estimated loss exceeding $10 / 2% slippage. Low-risk ordinary swaps pass through silently.

You can also set a Custom threshold profile (minimum risk level, minimum loss in USD, minimum slippage).

  1. You click Swap on Jupiter
  2. ZendIQ intercepts the transaction before your wallet opens
  3. ZendIQ fetches quotes from Jupiter Ultra API and Raydium (takes ~300–800ms)
  4. Computes: net = routing gain − priority fee − Jito tip + MEV protection value
  5. If net > 0: signs the ZendIQ route — your wallet prompts you to approve as normal
  6. If net ≤ 0: releases the original transaction immediately — you never knew ZendIQ checked

When ZendIQ signs, the widget opens at the success/review screen so you can see the savings. When ZendIQ steps aside, trading speed is unchanged (typically <1s delay).

The review panel has three card sections:

  • Token Risk Score — CRITICAL/HIGH/MEDIUM/LOW with all 16 contributing signals
  • Bot Attack Risk — MEV risk score, estimated % loss to bots, key MEV signals; collapses to N/A for RFQ/gasless fills that have no mempool exposure
  • Savings & Costs — Routing Gain vs Jupiter's baseline, priority fee, Jito tip, and the final Est. Net Benefit

Two action buttons: Sign & Send (ZendIQ route) and Use Jupiter's route. Both options are always available — you're never forced to use ZendIQ's route.

Yes. Choose the Custom profile in Settings and set three independent thresholds:

  • Minimum Risk Level: All / Medium+ / High+ / Critical only
  • Minimum Estimated Loss: e.g. $5
  • Minimum Slippage: e.g. 1%

The overlay opens when any one threshold is exceeded. Trades below all thresholds pass through uninterrupted.

3

Smart Routing

4 questions

When Pro detects your swap, it calls Jupiter's Ultra API with your token pair, exact amount, and wallet address. This returns a fully-constructed, ready-to-sign transaction using the best available route Jupiter can find across all sources — Raydium, Orca, Phoenix, AMM pools, and more.

It compares that output against the DEX's concurrent live quote and shows you the difference in tokens and USD. If ZendIQ's route yields more tokens after all fees, it offers to replace the transaction.

Jupiter's execution-layer API (lite-api.jup.ag/ultra/v1/order), distinct from Jupiter's older quote API (deprecated May 2025). It returns a fully-built, signable VersionedTransaction — not just a quote. This includes the blockhash, compute budget, and fee configuration already set correctly.

ZendIQ uses two parameters unavailable on the old quote API:

  • priorityFeeLamports — set the compute unit price for faster landing
  • jitoTipLamports — add a Jito validator tip routed through Jupiter's execution engine

ZendIQ always steps aside when the DEX's route is as good or better. Specific cases:

  • ZendIQ's route yields fewer output tokens than the DEX's baseline
  • Net benefit after fees is negative (fees cost more than routing gain)
  • The DEX's fill is RFQ or gasless — a direct off-chain market-maker fill with zero mempool exposure and optimal price. Already the best possible execution.
  • The quote expired before signing (blockhash ~90s lifetime)

In all these cases, the original transaction proceeds immediately — trade speed is not affected.

Yes, on both — with nuances:

  • Raydium — Pro compares Raydium's own compute output against a Jupiter Ultra quote. The better option wins. For high-risk trades, Raydium routes are submitted as Jito bundles (atomic, sandwich-proof) instead of going through the public mempool. Symmetric fee comparison ensures neither side is unfairly favoured.
  • Pump.fun — Pro intercepts the swap, overwrites slippage tolerance to a tighter value derived from the actual transaction data, and can replace the pump.fun route with a Jupiter route if it returns more tokens after fees.
4

Auto-Optimise

4 questions

A toggle in Settings that makes Pro automatically present the optimised route transaction to your wallet — without opening the Review & Sign panel — when the estimated net benefit is positive. When off, Pro always shows the review panel for manual confirmation.

Important: Auto-Optimise only triggers when estimated savings are above zero. It never fires if ZendIQ's route is worse than Jupiter's. The toggle is separate from the protection profile — you can have it on with any profile.

No. Every transaction requires your wallet's signature. When auto-optimise fires, ZendIQ presents the improved transaction to your wallet extension — your wallet's approval popup opens and you confirm as normal. The only difference is you're signing ZendIQ's route instead of Jupiter's default route.

ZendIQ cannot sign on your behalf. Private keys live exclusively inside your wallet extension, inaccessible to any page script or browser extension.

When enabled (default ON), if the output token scores HIGH or CRITICAL risk, auto-accept is bypassed regardless of net benefit. The Review & Sign panel opens with a banner explaining that the pause was triggered by token risk.

This ensures you make an informed decision before signing a transaction involving a high-risk token — even when ZendIQ found a better route. You can disable it in Settings.

Solana blockhashes expire after ~90 seconds. If you take a while reviewing the panel, Pro detects the expired quote on the execute response (-2005 error code) and automatically re-fetches a fresh quote. A banner reads "Quote expired — click Sign & Send again." Your savings estimate refreshes with the updated pricing.

The Review & Sign panel also auto-refreshes ZendIQ's quote every 10 seconds silently while it's open, so the displayed figures stay current.

5

Jito MEV Protection

4 questions

MEV (Maximal Extractable Value) is profit extracted by bots that watch the public mempool and front-run or sandwich your transaction.

In a sandwich attack:

  1. Bot sees your pending swap in the mempool
  2. Bot buys the output token before your swap — pushing the price up
  3. Your swap executes at the higher price (you receive fewer tokens)
  4. Bot immediately sells — pocketing the spread at your expense

ZendIQ's Bot Attack Risk score estimates your exposure based on trade size, token liquidity, price impact, and market conditions. Even small trades ($50–500) can be targeted on low-liquidity pairs.

For trades with bot risk score ≥ 25 (MEDIUM or higher), ZendIQ includes a jitoTipLamports parameter in the Jupiter Ultra order. Jupiter routes tip transactions through Jito's block engine, delivering them as atomic bundles:

  • Bundles are invisible to the public mempool
  • Cannot be front-run or sandwiched
  • Either execute completely or not at all (atomic)

The tip is paid to Jito validators through Jupiter's execution engine. ZendIQ does not create or submit bundles directly — Jupiter handles routing. The tip amount scales with your estimated MEV exposure (0.08–0.35% of trade value) and is shown in the Review & Sign costs breakdown before you sign.

A 0–100 score estimating how exposed your specific trade is to MEV bots:

ScoreLevelWhat it means
0–19LOWMinimal bot attention — routine trade
20–39MEDIUMModerate exposure — Jito tip added
40–69HIGHNotable risk — elevated priority fee + Jito
70–100CRITICALSignificant sandwich risk — max protection applied

Key signals: high price impact, low liquidity relative to trade size, memecoin/high-volatility token, network congestion. The estimated loss % on the card reflects the expected value of bot extraction, not a guarantee.

Yes. In Settings → Jito Mode:

  • Auto (default) — Jito tip added when bot risk score ≥ 25
  • Always — Jito tip on every trade regardless of risk
  • Never — Jito disabled; standard priority fees only

"Always" adds a small tip (~1,000–20,000 lamports) even on LOW risk trades — useful if you prefer guaranteed mempool-free execution on every swap.

6

Fees & Pricing

4 questions

You are charged only when ZendIQ's optimised route is signed and confirms on-chain. No charge in any of these cases:

  • ❌ Jupiter's original route passes through (no optimisation)
  • ❌ You click "Use Jupiter's route" on the review panel
  • ❌ You cancel before signing
  • ❌ The transaction fails on-chain
  • ❌ Net benefit is negative and ZendIQ defers automatically
  • ❌ During the Open Beta period (currently free)

Example: You swap $1,000 SOL → USDC. ZendIQ's route returns $1,001.50 USDC. Jupiter's baseline quote was $1,000.50 USDC. Routing gain = $1.00.

  • ZendIQ protocol fee: 0.05% × $1,000 = $0.50
  • Priority fee + Jito tip (if any): ~$0.10–0.30 (shown in Review & Sign)
  • Net to you: ~$0.20–0.40 extra vs Jupiter's route

The protocol fee is deducted as a standard token transfer inside the signed transaction — visible in your wallet's signing preview before you confirm.

Yes — $10 maximum per transaction. On a $50,000 trade, standard 0.05% would be $25 — but it's capped at $10. No trade ever costs more than $10 in ZendIQ protocol fees, regardless of size.

Priority fees and Jito tips are paid to Solana validators / Jito, not to ZendIQ. They improve transaction landing speed and provide MEV protection.

ZendIQ scales both dynamically so that total fees (protocol + priority + Jito) are always less than the routing gain. If fees would exceed the gain, ZendIQ steps aside and lets Jupiter's route through. The Review & Sign panel shows a full breakdown every time before you sign — no surprises.

7

Activity & Savings Tracker

4 questions

A full history of every swap you've made with Pro active — covering both ZendIQ Optimized and Not optimized trades. Each entry shows:

  • Token pair and amounts (sold / received)
  • Exchange / route type (AMM, RFQ, Gasless, Raydium bundle)
  • Risk score at time of trade
  • Actual Gain (est.) — the net benefit frozen at the moment you clicked Sign & Send
  • ZendIQ Quote Accuracy — once the transaction confirms on-chain (~3–10s), how close the signed quote was to actual on-chain delivery
  • Solscan signature link

The net benefit figure frozen at the moment you clicked Sign & Send — comparing ZendIQ's route output against Jupiter's concurrent live quote at that exact instant, minus all fees.

It's frozen at click-time to prevent Jupiter's live quote from advancing during the ~1–5 seconds it takes for your transaction to confirm on-chain. The "(est.)" prefix is removed and the label upgrades to "Actual Gain" when Quote Accuracy reaches ≥99%, confirming the on-chain delivery matched the estimate.

After your transaction confirms, ZendIQ polls the Solana RPC for the actual token delta and compares it to what the signed quote promised. 100% = you received exactly as quoted.

RFQ and gasless fills routinely hit 100% because market makers guarantee exact delivery. AMM routes may vary slightly (<1%) due to price movements between signing and landing.

When you click "Use Jupiter's route" on the review panel, or when ZendIQ determines the routing gain is negative and automatically defers to Jupiter, the original Jupiter transaction is recorded as a "Not optimized" amber card.

This gives you a complete picture of all your swaps — not just the ones ZendIQ improved. Quote Accuracy for non-optimized trades reflects Jupiter's delivery vs ZendIQ's concurrent snapshots.

8

Token & Bot Risk

3 questions

Yes — Pro uses the same 16-signal token risk engine as Lite, with the same thresholds and risk level definitions. Both products share the scoring logic. Pro surfaces the score in richer context:

  • Live updates every ~1 second as Jupiter's live tick refreshes
  • Shown in the Monitor overlay, Review & Sign panel, and Activity history
  • The Pause on high token risk setting acts on the score to bypass auto-accept

The bot risk score directly controls which fee tier is applied:

Bot Risk ScorePriority Fee CeilingJito Tip
< 25 (LOW)None (Jupiter auto)None
25–3950k lamportsDynamic (if ≥35)
40–59150k lamportsDynamic
60–79300k lamportsDynamic
≥ 80500k lamportsDynamic

All tiers are further capped at 0.5% of trade value — small swaps never overpay on fees relative to the routing gain.

Yes. The bot risk score runs on every detected swap regardless of DEX. On Raydium, the score gates Jito bundle submission — high-risk trades are submitted atomically rather than through the public mempool. On pump.fun, ZendIQ intercepts the network request to extract swap parameters, scores the token, and presents the risk overlay before your wallet is asked to sign.

9

Privacy & Security

6 questions

During swap execution, Pro makes calls to external services. Swap details stay in your browser — only what's listed here leaves it:

  • Jupiter Ultra API — your wallet address is required as the "taker" so Jupiter can build a valid transaction for your account. Token pair and amount are also sent.
  • Solana RPC — for on-chain data (token info, transaction confirmation). Public network.
  • RugCheck / DexScreener / GeckoTerminal — for token metadata. Token mint address only.

In addition, Pro sends anonymous analytics events to ZendIQ's backend. Every event carries an anonymous install_id (a UUID generated once per install). Here are all seven event types and exactly what each sends:

Install — fired once on first install or extension update

FieldWhy
OS (windows / mac / linux)Understand platform distribution
Browser (brave / chrome)Understand browser distribution
Locale (e.g. "en-US")Aggregate language distribution — no sub-region precision
Country (2-char ISO from browser locale)Derived by the browser, not geolocation — understand global reach
Reason (install / update) + previous versionTrack upgrade paths

Session — fired when a wallet is detected on page load and on page close

FieldWhy
Type (start / end)Measure session duration
Wallet adapter name (e.g. "phantom")Which wallets are most used — never the public key
DEX (jup.ag / raydium.io)Which DEX the session was on

Trade — fired after the user makes a swap decision (optimise, proceed, or cancel)

FieldWhy
dexWhich DEX executed the trade
input_mintToken sold — needed to measure routing gain accuracy
output_mintToken bought — needed for risk signal accuracy
trade_usdTrade size in USD — capped at $500k (Pro)
user_actionWhat the user chose: optimised / proceeded / cancelled
successWhether the transaction landed on-chain
tx_sigTransaction signature — deduplication + on-chain verification. Publicly visible on Solana.
risk_scoreOverall risk score (0–100) at time of decision
bot_risk_scoreMEV / sandwich risk score (0–100)
token_risk_scoreOutput-token risk score (0–100)
net_benefit_usdEstimated routing gain minus fees at time of sign
routing_gain_usdRaw routing gain vs Jupiter's concurrent quote
mev_value_usdStatistical MEV protection value from Jito tip
fees_usdPriority fee + Jito tip cost
jito_tip_lamportsJito tip used — verifiable on-chain
profileWhich protection profile was active
auto_signWhether auto-accept fired
exec_pathWhich route was used: zendiq / jupiter / raydium
route_chosenRoute type: AMM / RFQ / gasless / bundle
failure_reasonHuman-readable failure description (≤80 chars) when success=false
data_jsonExtra fields not in fixed columns — future-proofs schema (≤4KB)

Not collected: wallet public key, full transaction bytes, counterparty wallet.

MEV detection — fired when a sandwich attack is identified around a swap

FieldWhy
tx_sigTransaction signature of the user swap being attacked — deduplication; publicly visible on Solana
detectedWhether an attack was confirmed
loss_usdEstimated USD loss from the attack — measures real-world impact
loss_bpsAttack severity in basis points
attacker_hashSHA-256 of attacker wallet, truncated to 12 hex chars — not sufficient to reconstruct the full address
methodDetection method: vault_neighbor / bonding_curve_pda / front_run_only
time_to_detect_sHow quickly ZendIQ identified the attack — measures detection latency
prevented_countAttacks in the same block that Jito tips blocked

Not collected: user wallet address, transaction bytes, victim identity beyond the public tx signature.

Error — fired when an internal failure degrades protection (e.g. wallet hook failure)

FieldWhy
categoryError class (e.g. wallet_hook, rpc, injection) — routes alerts to the right fix
detailHuman-readable description (≤120 chars) — no stack traces, no user data
rpc_endpointWhich RPC endpoint failed — diagnoses provider reliability
latency_msRPC latency — diagnoses slow-provider issues
dexWhich DEX context the error occurred in

Funnel — key UX steps in the widget flow

FieldWhy
eventwidget_shown / quote_fetched / sign_clicked / cancel_clicked / auto_signed
dexWhich DEX
widget_render_msWidget render latency — UX performance metric

Heartbeat — once per UTC calendar day on service-worker wake

FieldWhy
dayCalendar date (YYYY-MM-DD) — deduplication key: one install = one heartbeat/day
siteWhich DEX site triggered the wake

Never collected — in any event type:

  • ❌ Wallet public key or address
  • ❌ Private keys or seed phrases
  • ❌ Token balances or portfolio data
  • ❌ Full transaction bytes or content
  • ❌ Browser history or URLs outside jup.ag / raydium.io
  • ❌ IP address (used for rate-limiting only, never stored in our database)
  • ❌ Any personal or identifying information

Every event carries an install_id — a UUID-v4 generated once on fresh install and stored in chrome.storage.local. It is:

  • ✅ Not tied to any account, wallet, or identity
  • ✅ Not transmitted off-device other than in event payloads to our backend
  • ✅ Reset on extension uninstall — a reinstall is a new install_id
  • ✅ Not exposed to any website — it lives only in extension storage

Its sole purpose is to group events from the same installation for aggregate analytics (e.g. "how many installs have made ≥3 trades?"). It cannot be linked to your wallet, browser fingerprint, or any personal identity.

No. Private keys live exclusively inside your wallet extension (Phantom, Backpack, Solflare, etc.) — inaccessible to any page script or browser extension. ZendIQ calls wallet.signTransaction() which opens your wallet's native signing UI. You see the full transaction. You choose to approve or reject.

Automatic signing is not possible without your wallet's approval flow.

The transaction signature (tx_sig) is a public on-chain identifier — already visible to anyone on Solana block explorers like Solscan. It does not contain your wallet address, amount, or any personal data on its own.

We use it for two purposes:

  1. Deduplication — prevents the same trade from being counted twice if the extension fires the event more than once
  2. Quote accuracy — ZendIQ Pro polls the transaction after confirmation to compare the quoted output vs what actually landed on-chain; this makes the "Quote Accuracy" metric trustworthy

We do not store the full transaction bytes, the signer's wallet address, or any counterparty information.

No, never. We:

  • ❌ Don't sell or share data
  • ❌ Don't have ads
  • ❌ Don't use third-party analytics services (no Google Analytics, no Mixpanel)

Data flows only from your browser to our own backend. Nothing goes to any third-party analytics platform.

The transaction is built by Jupiter's Ultra API on their servers — not by ZendIQ's code. ZendIQ passes your input parameters (token mints, amount, wallet address) and receives back a pre-built, fully auditable VersionedTransaction.

You can inspect every instruction in your wallet's signing preview before confirming. ZendIQ's protocol fee (when applicable) is deducted as a standard token transfer — visible there. Pro's source code is open on GitHub for independent audit.

10

Troubleshooting

3 questions
  1. Refresh the page (Ctrl+R / Cmd+R) — wait for it to fully load
  2. Click Swap once — the widget activates on first swap detection
  3. Check extension is enabled: chrome://extensions → ZendIQ Pro → ON
  4. Open the browser console (F12 → Console) and look for [ZendIQ] — if absent, the script isn't loading
  5. Disable and re-enable the extension, then refresh
  6. Make sure you installed from the zendiq-pro/ folder, not the repo root

If still broken: email support@zendiq.ai with your browser version and a console screenshot.

Solana blockhashes expire after ~90 seconds. If you spent a while on the review panel before clicking Sign & Send, the transaction's blockhash expired. Pro detects this automatically and re-fetches a fresh quote. Just click Sign & Send again — you'll get an updated transaction with current pricing.

Common causes:

  • Network congestion — Jupiter Ultra API is slow. Wait 5–10 seconds, then try clicking Swap again
  • Rate limit (429) — Pro retries up to 3 times with backoff. If all attempts fail, an error message is shown and Jupiter's route is released
  • No wallet detected — Pro needs your wallet address to build the transaction. Connect your wallet on the DEX first
  • Blockhash expired during fetch — Click the ✕ Cancel button in the widget header and try the swap again

Still have questions?

Can't find your answer? We read every message.

📧
Email
support@zendiq.ai
𝕏
Twitter / X
@ZendIQ_Official
💬
Discord
ZendIQ Community
GitHub · Lite
ZendIQ-Extension-Lite
GitHub · Pro
ZendIQ-Extension-Pro