Skip to main content
Copilot helps you explore available trades or turn a view you give it into a trade card. It uses your stated preferences and current exchange evidence, and asks a focused question when an important choice is missing. You choose whether to request a firm quote and whether to accept it. Copilot cannot place or accept a trade for you. If your invite pass expires while you are chatting anonymously, the app asks for a code in the main onboarding flow. Copilot does not ask for a second code inside the chat. After restoring access, use Retry on the interrupted answer. While Copilot is replying, the Send button becomes Stop. Stop ends the reply and keeps the text already shown. You can use Try again to request a fresh answer to the same prompt.

Saved answers and retries

For signed-in traders, Copilot saves accepted messages, partial answers, and tool results even if the connection closes. An interrupted answer stays marked as interrupted after reload. Try again creates a new attempt for the same user message. Copilot does not automatically restart a paid model request. A card being generated, handed to the transport, or reported as rendered by your app does not mean a trade filled. The exchange remains the source of truth for fills. Rendering reports describe layout, not whether you read a card; without a report, rendering is unknown.

Preferences and forgetting

Signed-in English conversations can remember explanation style, answer length, asset interests, time horizon, explicitly scoped premium or maximum-loss limits, and a short source-backed note. Dollar-denominated limits refer to USDC settlement amounts. Ask “What do you remember?”, correct a preference, or ask to forget a named preference or everything. Changing or forgetting one preference preserves other saved preferences from the same message, including independent spending limits. A saved/forgotten acknowledgment follows the committed operation. Short task limits stay in their conversation until explicitly changed or resolved. Memory never grants trading permission; current exchange data determines balances, positions and prices. Explicit lasting instructions can be saved immediately. Low-risk inferred preferences need support from two separate genuine conversations. Assistant suggestion taps, quotations, tool results, balances and fills do not establish standing financial limits. Background extraction uses the configured open model and begins after the interactive attempt ends. Forgetting excludes the supporting messages and dependent context from future model use, including queued replies from older revisions. Bytes already handed to the transport cannot be recalled. Raw conversation records remain subject to the existing retention policy. Deleting a conversation hides its messages and cards, prevents reopening or replay, and stops further response delivery. Saved preferences survive, and eligible queued preference extraction may finish from the retained records. Ask to forget a preference or everything to revoke that evidence separately. Earlier records whose evidence was already revoked remain restricted; deletion does not reactivate them. There is no anonymous memory or automatic migration of anonymous conversation history into preferences. API clients sending assistant-generated suggestions can include source_origin: {kind: "assistant_suggestion", message_id: "<assistant UUID>"}. When supplied, the message ID must belong to an owned assistant message containing the matching suggestion prompt. Omit the ID for built-in starter suggestions. Ordinary typed input omits source_origin. Retry keeps the original source and cannot create a second independent memory observation.

Long conversations

Copilot keeps explicit task constraints and selected card references separately from recent dialogue. Older conversation text may be omitted to fit the model’s context, while active constraints remain. If several cards match your reference, Copilot asks which one. Selected cards and recalled prices are historical evidence; current quotes, balances and positions still come from the exchange. Each model call reserves space for its answer and retains complete required tool calls and results. If required context cannot fit, Copilot returns CONTEXT_LIMIT before dispatching another model call, without discarding constraints. Narrow the request or start a new conversation; saved wallet preferences and limits remain. Context estimates are conservative planning estimates, separate from actual provider usage. A memory correction refreshes the current answer. Tools planned before that change are skipped and must be planned again with the corrected context. Current explicit instructions override remembered presentation preferences, which override inferred options experience.

One quote for the whole trade

New Copilot entries can buy or sell calls and puts, including packages with both long and short legs. Flat views default to capped-loss structures with protective long options, such as an iron condor or iron butterfly. Volatile views can use a long straddle or strangle. Explicit unhedged short requests are supported; short calls can have unbounded loss, and shorts require collateral. An initial card is an unpriced proposal. You request a firm quote, review its package price and expiry, then confirm and sign. Acceptance or wallet signing alone does not prove a fill; confirmed fills can still revert before finalization. Package legs share one asset and one expiry. The maker prices the whole package together. Copilot does not offer executable closes and reductions. Older non-RFQ execution cards are hidden, including when a conversation is reopened; their stored records are retained. An explicit premium or maximum-loss limit stays attached to the conversation. Missing price or fee information does not prevent requesting a quote, but Copilot cannot claim it fits the limit. Before signing, the app checks the captured quote and signed fee maximum against freshly read limits. The check uses the selected buy or sell side and every signed leg. Maximum-loss limits use the package payoff with the signed fee ceiling conservatively included; premium received and locked collateral are not loss caps. Unbounded loss cannot pass a finite maximum-loss limit. The selected side is checked against current holdings after sign-in, including cards created anonymously or flipped between Buy and Sell. Opposing holdings and incomplete position or fill reads block confirmation. Package resizing must preserve the saved signed leg ratios. This check is a snapshot before signing, not an exchange reduce-only guarantee. Changed quote terms require another check. A previous blocked card can recheck a limit you have clarified. A loss ceiling is not a target amount to spend.

Explore outcomes

Ask “What can I lose?” or “What if SOL settles at $120?” to open a server-calculated scenario. The card shows its contract, size, entry-cost basis, conditional gross payout and profit or loss before settlement fees. For an unfilled proposal, specify Buy or Sell when comparing sides; two-way proposals require a side. A positive package price is paid on Buy and received on Sell, with negative prices reversing the cash flow. Edit the hypothetical settlement reference or cost assumptions and select Update scenario. Editing hides the previous results until the new calculation returns. Saved calculations are labeled historical until refreshed. Unknown premium or actual entry fees remain unknown; a signed fee maximum is not an actual charge. Positive payout does not imply profit. A purchased call can finish above its strike and still lose money after premium and fees. The displayed maximum is calculated analytically, not taken from the edge of a chart. Settlement scenarios are not forecasts, executable prices or guaranteed chain receipts. Early-exit estimates remain unavailable without authoritative settlement timing and method. An executable exit would need a new maker quote; Copilot cannot submit closes. After partial closes, historical cash flow and remaining exposure stay separate from unknown remaining cost basis. Older payoff illustrations appear as historical notices rather than verified RFQ risk.

Context for follow-up questions

Selected card and instrument references and ticket inputs can accompany a chat message. They are hints: the server checks ownership and reads current exchange evidence. It does not receive the entire browser or client transcript. For “the first one,” a clear ordered group takes precedence over an unrelated visible instrument; ambiguous references need clarification. Follow-ups combine original intent with verified owned fills and current holdings. Unavailable, incomplete, provisional and reverted data remain distinct. A live widget update does not automatically become a new model turn, and there is currently no exact live-RFQ read available to the model. Card bindings alone do not prove ownership of a fill or its economics. Copilot retrieves the approved US economic calendar only for relevant questions about rates, inflation, employment or general economic events. It includes source timing and cache age, distinguishes scheduled events from reported actuals, and bounds the result. It does not browse the web or fetch news, social posts or earnings reports. Education questions do not need a macro-data payload. Probability-like model scores and theoretical option probabilities are not presented as your trade win rate.

Funding

Copilot trades use your RFQ account. A balance in an older trading account must be moved into the RFQ account before it can fund a Copilot trade. The trade card offers a transfer or deposit action when funds are needed. Current holdings inform fit and concentration. Available balance is not treated as your risk tolerance, and incomplete account data is not described as an empty portfolio. The exchange may disable package requests in an environment. In that case, the card reports the exchange’s error when you try to request a quote.

Decision-model experiment

Jev is an offline experiment for choosing bounded evidence, clarification categories or already-authorized references. It does not write answers, calculate option values or authorize execution. The ordinary language model still interprets evidence and produces text and widgets. The runtime remains off; synthetic contract checks do not establish a quality, speed or cost improvement.

Provider usage

Production answering and background extraction share the configured open model. The recommended profile is Kimi K3 Ultra through Lithos with low reasoning effort. Choosing Lithos without a model override selects this profile. Existing explicit deployment settings take precedence. DeepSeek V4.1 Flash through OpenRouter’s pinned Together route remains a manual alternative. The isolated comparison measured 2.86-second p95 first visible text for Lithos Kimi across 40 synthetic turns. Production latency, populated-memory benefits, and financial-answer quality still need validation. The chat SSE done event includes usage.input_tokens and usage.output_tokens. These are actual provider totals across all tool rounds, including billed reasoning. Either value can be null when usage is unavailable; clients must not treat that as zero. A provider failure or truncated stream ends with an error and does not trigger an automatic paid retry or a switch to Claude.

Historical recall

When historical recall is enabled, the copilot can look up owned message/card references and search eligible authenticated discussion. It admits at most three evidence groups within a conservative 4,000-byte estimated prompt budget. Original passages and attribution are retained; this does not summarize the conversation. Historical evidence is attributed by message IDs and timestamps. It never replaces live balances, positions, quotes or trading authorization. A generated card is not a fill; client-reported rendering is distinct from server emission and attention. The internal recall_memory tool is a bounded fallback for history-dependent questions. Ambiguous relative dates need an absolute date or exact reference. Unavailable, stale or irrelevant evidence can produce an abstention; incomplete history is not proof that a discussion never happened. Original authentication cannot be recovered for legacy or anonymously claimed messages, so those records are excluded from recall while existing conversation access stays available. Corrections and forgetting revoke their supporting evidence and dependent context even after reindexing. Deletion excludes original dialogue and cards from recall while preserving eligible preference use. Later answers keep their preference dependencies so explicit forgetting still invalidates them. Opaque provider reasoning is never indexed. Joyride devnet enables profile admission and automatic preference capture, controlled independently by AI_MEMORY_PROFILE_ENABLED and AI_MEMORY_CAPTURE_ENABLED. Capture off prevents automatic extraction jobs and provider calls; explicit instructions through update, inspection and forgetting remain available, as do current task constraints. Profile off excludes stored preferences from initial and post-control prompt assembly; an explicit inspection can still return them in that conversation. These are rollout controls, not an incognito mode: accepted messages and source identity remain stored. Joyride devnet uses AI_RECALL_MODE=hybrid with pgvector and bundled embedding assets. The model and recall comparison follows landing. Unconfigured deployments default to off, which disables recall and indexing, including recall-tool evidence. Operators can use shadow to record selection without answer injection. Profile and capture flags also default off when omitted; the devnet release sets them explicitly.

Inference diagnostics

Authenticated production calls through Lithos and OpenRouter record each final inference request before dispatch, including the assembled prompt, admitted memory/context, tools and explicit model settings. These private records let operators investigate reported responses alongside token usage, tool outcomes, errors and card delivery evidence. They are not exposed through conversation responses, SSE or semantic recall. The internal ai_trace_export operator command exports eligible terminal turns and can extract a verified original request body. It requires database access and checks wallet ownership, conversation visibility and source eligibility. It does not call models or execute trades. Credential redaction can make a request inexact, in which case original-body extraction is rejected. Historical records from before this instrumentation cannot reconstruct missing prompts. Repeating an identical request can still produce different model output.