FAQ
Straight answers to the questions that matter first: what the desk can and cannot do, what the vault is, what it costs to be wrong, how to trade, and what SPHYNX is not.
The important ones, up front. Setup questions: Quickstart. Safety: Guardrails. Trading on chain: Trading Guide. The long form: Whitepaper.
Can Sphynx place brokerage trades on its own?
No. Every Robinhood order requires your explicit in-session approval. The analysts have no order tools at all; only the Portfolio Manager can place, and only after you say yes to a preview card. No order is ever placed on a schedule or on its own; even the dashboard's Run desk button triggers a read-only run that stops at the preview.
Which markets can the desk trade?
US equities only, long-only, in USD, inside an isolated Robinhood Agentic account. Options, futures and crypto are out of scope; the option order tools are explicitly deny-ed in `.claude/settings.json`.
How much can the desk lose?
At most the dedicated budget you fund the isolated Agentic account with. The desk can only trade that account; it cannot reach your main Robinhood balance. Fund it with money you can afford to lose and treat that number as the maximum downside.
Why does it usually tell me to stand aside?
Because most of the time that is the right call, and the desk is built to say so. A run ends with a proposal only when one candidate passes every analyst, ties to a written rule, and survives the Risk Manager. Most runs end with no trade. That is the system working, not failing.
Why is the Risk Manager a separate agent?
So it cannot be argued with by the thing it is checking. It runs on a larger model, reads the strategy notes independently, and returns APPROVE, APPROVE-WITH-CHANGES or VETO. A veto ends the run. The PM cannot skip it because the workflow routes through it, not because the PM promises to.
How does it defend against prompt injection?
The news analyst, the only agent that reads the open web, is isolated: its output is treated as data, it holds no tools beyond search, and injected instructions cannot reach the PM as commands. Even a fully compromised analyst has no order tools to misuse. Detail in Prompt-injection defense.
What is the kill switch?
claude mcp remove robinhood-trading. One command removes the only path to the broker. On chain, the owner's revoke(agent) kills the session in one transaction and pause() freezes deposits and orders; redeemInKind keeps working through both.
Where do secrets and tokens live?
Broker auth is OAuth completed in-session; no token is written to the repo. On chain, keys live in onchain/.env, which is gitignored and excluded from the server sync. The agent key should hold only gas ETH. Nothing in the site or the contracts stores a private key.
Do I need the dashboard to trade?
No. The desk dashboard is a read-only mirror of a JSON snapshot; approval happens in the Claude Code session. The on-chain Trade terminal is different: it is a real front end that sends transactions through your wallet, but everything it does is also a plain cast call.
What is the on-chain vault, in one paragraph?
An ERC-4626 vault over USDG on Robinhood Chain that holds tokenized stocks (NVDA, AAPL, SPY) and reverts any order that breaches its written caps. The desk's rules are read by an agent; the vault's rules are enforced by a contract. An agent trades through a session key that expires and spends nothing on a refusal. Depositors can always leave, in cash or in kind. It is live on mainnet, unaudited, and capped at 10,000 USDG. Detail in The Vault.
Is the vault audited? Is there a timelock?
No and no. There is no third-party audit; unit tests and a mainnet-fork test are not an audit. Owner changes take effect in one transaction. One EOA is both owner and session holder at launch. These are the top three items in Risks, and the deposit cap stays where it is until the first two are fixed.
Does the vault touch my Robinhood account?
No. The two doors share a rulebook and nothing else. The desk's orders go through the Robinhood MCP and never touch a chain; the vault's orders go through a Uniswap V3 pool and never touch a brokerage. There is no path between them.
Where do the vault's prices come from?
A 5-minute time-weighted average from the token's USDG pool on Uniswap V3, with a 3% spot-deviation bound that freezes valuation when the pool is being pushed. There is no Chainlink feed for these tokens on this chain. This is the part of the system most exposed to a well-funded attacker; see Oracle & Execution and Risks.
How do vault redemptions and fees work?
Standard ERC-4626 withdraw returns USDG, limited to what the vault holds in cash. redeemInKind burns your shares for a pro-rata slice of cash and every token, always, even when paused, with no oracle dependency. There is no management fee, no performance fee, no carry. The only fee is an exit fee, 0% at launch and hard-capped at 1%, that stays in the vault for remaining holders.
Can the owner take the money?
Not directly: there is no function that transfers assets to the owner or mints shares. Indirectly, a hostile owner could swap in a bad oracle and let a session trade at a wrong mark, which is why a timelock is the first planned upgrade. Your protection today is redeemInKind, which needs no price and cannot be blocked.
What about the $SPHYNX token?
Not built. No sale, no price, no allocation, not planned for this phase. vSPHYNX is the vault's plain ERC-4626 share, an accounting unit, not a token with a market. Anyone selling you a SPHYNX token is not us.
Why lead with a refusal rate instead of returns?
Because at TVL 0 with no track record, a return would be a lie and a refusal count is a fact. Every previewTrade that says no, every session budget that was not spent, every veto, can be counted and attested to the append-only registry. When there are returns they will be attested the same way, next to the refusals that produced them.
What do I need to trade on chain?
A wallet on Robinhood Chain (the terminal adds it), a little ETH for gas, USDG to deposit, and, to execute orders, a session granted by the owner. Without a session you can deposit, withdraw and preview everything; the sign button stays off. Walkthrough in Trading Guide.
Why is my order refused?
The ticket tells you: previewTrade returns the first rule the order breaks, and the terminal shows its name and a one-line reason. The common ones: Unfunded (vault is empty), PerTradeCap (too big for 15% of NAV), MissingStop (no stop, or one deeper than 8%), CashBuffer (would leave under 10% cash), MaxDailyOrders (four a day). The full table is in the Trading Guide.
Does a refused order cost anything?
Gas for the reverted transaction if you sent it; nothing else. The session's trade count and budget do not move, the vault's daily counter does not move, no tokens change hands. And you should never send a refused order, because the preview is free and runs the same check.
Does the vault sell at my stop?
No. The stop is recorded on the position so the book carries its risk plan on chain, and no buy can enter without one, but nothing in the contracts watches prices. The desk or the session holder has to act on it.
Why is spot different from the mark?
The mark is a 5-minute average; spot is the pool right now. Small differences are normal. If they diverge more than 3%, the oracle refuses to answer and the ticket will show an error until the pool settles. That is deliberate.
Can I trade from the command line instead?
Yes. onchain/desk.sh does every read (status, price, quote, preview) and prints the exact cast send for an order. The terminal and the CLI call the same functions on the same addresses.
Is any of this financial advice?
No. SPHYNX is a research and recommendation tool and an unaudited vault. Nothing on this site is an offer, a solicitation, or a recommendation to buy or sell anything. Stock Tokens are price-tracking instruments, not shares, and are not offered to US persons. Use only risk capital. See Safety & Disclaimer.
Is there a track record?
No. NAV is zero at the time of writing. There are no depositors, no trades and no returns. What exists is a mechanism that is tested, a deploy that is reproducible, and a record that cannot be edited. Everything else has to be earned.