> For the complete documentation index, see [llms.txt](https://agentdex.gitbook.io/agentdex-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://agentdex.gitbook.io/agentdex-docs/reference/faq.md).

# FAQ

The questions we hear most. Short answers; deeper detail in the linked chapters.

### See also

* [Getting started](/agentdex-docs/welcome/getting-started.md)
* [Glossary](/agentdex-docs/reference/glossary.md)
* [Risks](/agentdex-docs/reference/risks.md)

### General

<details>

<summary>What is AgentDex and how is it different from a CEX?</summary>

A perpetual-futures DEX with on-chain custody, a force-withdrawal escape hatch, and a first-class MCP server for agentic trading. Funds live in a smart contract, not on an operator's books. Today the matching engine is off-chain and operator-run; the roadmap publishes the engine's canonical log and open-sources a reference validator so any third party can verify state. See [Introduction](/agentdex-docs/welcome/introduction.md) and [Validator and verifiability](/agentdex-docs/under-the-hood/validator-and-verifiability.md).

</details>

<details>

<summary>What does "agent-first" actually mean — do I need to use an agent?</summary>

No. Humans use the web UI and REST exactly as they would on any other exchange. "Agent-first" means we built the MCP server alongside REST and WebSocket, not as an afterthought. If you want to plug an LLM into AgentDex, it works with one URL and one key. If you don't, ignore [MCP server](/agentdex-docs/developers/mcp-server.md).

</details>

<details>

<summary>What chains can I deposit from? Which tokens are supported?</summary>

The BridgeUpgradeable contract holds an explicit allowlist of tokens; the active list is on the bridge contract and the deposit UI. Native-token deposits are not supported today — use the ERC-20 path. The active chain is **Base Mainnet** (Chain ID 8453), with `USDC` (6 decimals, open `deposit`). Ethereum mainnet and Arbitrum are planned. See [Deposits and withdrawals](/agentdex-docs/account/deposits-and-withdrawals.md) and [Smart contracts](/agentdex-docs/under-the-hood/smart-contracts.md).

</details>

<details>

<summary>Is this self-custody?</summary>

Custody is **on-chain in BridgeUpgradeable**. The Treasury operator can finalise withdrawals and overwrite the on-chain `available` balance but cannot transfer arbitrary user funds out. A force-withdrawal escape hatch is available after a 1–14 day timelock (default 7) if the off-chain engine goes silent. Honest framing: this is not fully trustless yet — see [Validator and verifiability](/agentdex-docs/under-the-hood/validator-and-verifiability.md) and [Risks](/agentdex-docs/reference/risks.md).

</details>

<details>

<summary>How is this different from Hyperliquid / Aster / Lighter / dYdX?</summary>

* Hyperliquid: full on-chain L1 with native consensus. AgentDex is off-chain engine + on-chain custody, with a publish-the-log-and-open-source-the-validator path.
* Aster / Lighter / dYdX v4: each has its own balance of on-chain vs. off-chain. AgentDex distinguishes itself by treating the MCP server as a primary surface, not a side channel.
* Across all of them, AgentDex's distinctive bet is **agent-first** as the headline product positioning.

</details>

<details>

<summary>Where is the team / who runs the operator key?</summary>

Team and key custody details are published outside this GitBook (team page on the main site). The Treasury and Owner keys are operated by the protocol team today; multisig and timelock policy on the Owner role is **TBD** — see [Smart contracts](/agentdex-docs/under-the-hood/smart-contracts.md).

</details>

### Trading

<details>

<summary>What's the maximum leverage on BTC / ETH / others?</summary>

* BTC, ETH: **20×** maximum.
* Many alts: **50×** maximum.
* Default per instrument: **5×**.
* Hard cap regardless of instrument: **100×**.

Concrete per-instrument caps are returned by `get_instruments` in [MCP server](/agentdex-docs/developers/mcp-server.md). The Keychain can scope a key tighter still in [API keys](/agentdex-docs/developers/api-keys.md).

</details>

<details>

<summary>How does cross-margin work here?</summary>

A single USDT balance backs every open position. Free `available` automatically pads liquidation prices for all positions. Free balance can also be pulled into a position automatically by the **Avoiding** step of the [Liquidations](/agentdex-docs/trading/liquidations.md) flow.

</details>

<details>

<summary>What price triggers a liquidation — last, mark, or index?</summary>

**Mark price.** See [Mark price](/agentdex-docs/trading/mark-price.md). Stop-orders can trigger on either mark or last — you choose at order creation.

</details>

<details>

<summary>What is the funding interval and where do I see the live rate?</summary>

Per-instrument; typically 1 hour or 8 hours. Live rate via `get_ticker` (extended fields). Settlement happens at the interval boundary; partial-period prorating applies to positions closed mid-interval. See [Funding](/agentdex-docs/trading/funding.md).

</details>

<details>

<summary>Is there isolated margin? TP/SL? Reduce-only? Post-only?</summary>

Yes to all. Cross is the default; isolated is available per position. TP/SL via `place-stop-order` or attached directly to a position. Reduce-only and post-only are order flags. See [Order types](/agentdex-docs/trading/order-types.md).

</details>

<details>

<summary>Why was my order rejected?</summary>

The most common codes:

* `INSUFFICIENT_FUNDS` — not enough available USDT for IM + fees.
* `INVALID_INSTRUMENT_ID` — instrument not allowed on your key, or typo.
* `INSTRUMENT_IS_NOT_ACTIVE` — instrument paused.
* `IN_EMERGENCY_MODE` — engine in emergency mode due to stale price feed.
* `AMOUNT_TOO_SMALL` — below the instrument minimum.

Full table in [Order types](/agentdex-docs/trading/order-types.md) and [API overview](/agentdex-docs/developers/api-overview.md).

</details>

### Account & withdrawals

<details>

<summary>How long does a deposit take?</summary>

L1 confirmations (configured per network, typically a few blocks) + a sub-second engine handshake. Usually well under a minute on a healthy chain.

</details>

<details>

<summary>How long does a withdrawal take in the happy path?</summary>

Three phases — request, engine hold, on-chain finalise. The two on-chain transactions plus engine round-trip typically complete in single-digit minutes, depending on L1 block time and the engine batch cycle.

</details>

<details>

<summary>What happens if the L2 stops responding?</summary>

You can force-withdraw on-chain after the timelock window. The timer resets every time the operator calls `updateAvailableBalance`, so the escape hatch opens only if the engine is fully silent for the full window (default 7 days). See [Deposits and withdrawals](/agentdex-docs/account/deposits-and-withdrawals.md).

</details>

<details>

<summary>How does force withdrawal work, and what resets the timelock?</summary>

Submit a normal \`requestWithdrawal\`, wait for \`max(requestedAt, updatedAt) + timelockDuration\`, then call \`forceWithdrawal(id)\` directly on the bridge. Every \`updateAvailableBalance\` from the operator updates \`updatedAt\`, which resets the timer. The timer ticks only while the L2 is fully silent.

</details>

### API & MCP

<details>

<summary>How do I get an API key?</summary>

Sign in, then create a key from the account settings UI or via `POST /api/keychain/api-keys`. The full secret is returned once — store it immediately. See [API keys](/agentdex-docs/developers/api-keys.md).

</details>

<details>

<summary>Can I restrict my key to one instrument and a small notional?</summary>

Yes. Set \`instruments: \["BTC\_USDT\_PERPETUAL"]\`, \`leverage\_lte: 10\`, \`order\_quoted\_volume\_lte: "100"\`. The server enforces these before the matching engine ever sees the request.

</details>

<details>

<summary>What's the rate limit?</summary>

Per-key, enforced server-side, tuned over time. You'll see a clear error when you hit it. For high-volume workloads, contact the team for an appropriate tier.

</details>

<details>

<summary>How do I plug the MCP server into Claude / Cursor / Goose?</summary>

For Claude Code: `claude mcp add agentdex --url https://agentdex.xyz/mcp --header "X-Api-Key=$KEY"`. Other clients follow the standard MCP HTTP setup. Full walk-through in [MCP server](/agentdex-docs/developers/mcp-server.md).

</details>

<details>

<summary>Can I restrict an agent to a single instrument and a small notional?</summary>

Yes — that's exactly what per-key limits are for. Give the agent's key the tightest scope you can — usually one instrument, a leverage range that matches the strategy, an \`order\_quoted\_volume\_lte\` that matches your worst-case acceptable single trade.

</details>

<details>

<summary>What happens if my agent goes rogue — what's the blast radius?</summary>

Bounded by the key's permissions. Worst case is the agent placing orders within the key's allowlist and size cap until you revoke. It cannot touch your wallet, cannot create new keys, and cannot exceed any limit set on the key. The recommended pattern is \*\*one key per agent\*\*, revoke first / ask questions later.

</details>

### Points & airdrop

<details>

<summary>How are points earned?</summary>

Volume bands, fees, position exposure, active days, market diversity → Base Points. Quality Multiplier scales by profitability, retention, regularity, risk control. Leaderboard Bonus tops up. Quest Points feed in subject to caps. See [Points program](/agentdex-docs/incentives/points-program.md).

</details>

<details>

<summary>Will there be a token?</summary>

No commitment. [Airdrop scoring](/agentdex-docs/incentives/airdrop-scoring.md) is the *measurement* infrastructure. The decision to distribute a token is separate and unannounced.

</details>

<details>

<summary>How does Final Airdrop Weight relate to points?</summary>

The proposed weighting is \`0.7 × normalized AS + 0.3 × normalized Points\`. Conservative variant: \`Weight = AS\`, with Points as a visibility-only layer. Final formula is published before each season closes.

</details>

<details>

<summary>What disqualifies a user (wash trading, sybil, etc.)?</summary>

Wash trading, self-trading, extreme flip trading, sybil clusters, manipulative volume patterns. Penalties range from per-day adjustments to epoch zero-out. See the Penalties section of [Airdrop scoring](/agentdex-docs/incentives/airdrop-scoring.md).

</details>

### Risks

<details>

<summary>Is this audited?</summary>

Yes. A third-party security audit of the bridge contracts by **Decurity** (May 2026) is complete — one medium, one low, and two informational findings, **all fixed and re-tested**. The full report and finding-by-finding status are on the [Risks](/agentdex-docs/reference/risks.md) page.

</details>

<details>

<summary>Is there a bug bounty?</summary>

Planned, now that the first third-party audit has closed. Watch the team's announcement channels.

</details>

<details>

<summary>What's the trust assumption today?</summary>

Operator-authoritative, with on-chain custody and a force-withdrawal escape hatch. Detailed framing in [Validator and verifiability](/agentdex-docs/under-the-hood/validator-and-verifiability.md). No state commitments to L1 today; no fraud or validity proofs.

</details>

<details>

<summary>When will the validator / public log be live?</summary>

Phase 3 (validator) starts after Phase 1 (sequencer + internal store). Phase 4 publishes the log and open-sources the validator. We don't commit to specific dates; we commit to honest labels — anything pre-Phase 4 is labelled "unverified data". See [Roadmap](/agentdex-docs/under-the-hood/roadmap.md).

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://agentdex.gitbook.io/agentdex-docs/reference/faq.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
