Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.inkwell.finance/llms.txt

Use this file to discover all available pages before exploring further.

CONFIDENTIAL & PROPRIETARY © 2026 Inkwell Finance, Inc. All Rights Reserved. This document is for informational purposes only and does not constitute legal, tax, or investment advice, nor an offer to sell or a solicitation to buy any security or other financial instrument. Any examples, structures, or flows described here are design intent only and may change.
Pre-alpha vs production. Pages that describe “the operator holds the session-to-ephemeral-key mapping” describe today’s single-operator implementation. Production Dagon will distribute this custody across an Ika 2PC-MPC dWallet network — no single “operator” entity will hold the mapping, and no unilateral disclosure (lawful or otherwise) will be possible without the network agreeing. The two-party composition described here is strengthened, not weakened, by the migration. See Design Philosophy for the full decentralization roadmap.
“Operator” pre-alpha vs production. Pages that describe a single “operator” cranking batches, holding liveness, or acting as a single point of failure describe today’s pre-alpha implementation. In production, operator duties are performed by the decentralized FHE cluster (Encrypt REFHE threshold network) — any quorum can crank, no single entity can stall the venue, and liveness is shared across independent nodes. “Operator” survives as a conceptual role, not a single entity.
Six stages, from an order leaving the browser to a hypothetical court order landing.

01 · Submit

The trader composes their order client-side — not as a price-and-size pair, but as a curve: a six-parameter schedule describing how much they will take at each price. In production, the curve is encrypted into an FHE ciphertext before it leaves the browser; the operator receives bytes it cannot read. In pre-alpha, the mock Encrypt executor operates on plaintext under the same API — see the confidential-matching status.

02 · Pool

The ciphertext joins a SIMD vector of peers. From outside, the vector is a single encrypted object; from inside, every lane is indistinguishable from every other lane. There is no pool of plaintext to mix with, no deposit-and-withdraw obfuscation. The trader is not hiding in a crowd; the trader is the crowd, homomorphically.

03 · Match

Iterative bisection run over the encrypted vector. Each pass narrows the bracket around the price where aggregate demand equals aggregate supply. The operator watches the bracket shrink; it never sees an order. Every step — the midpoint, the demand aggregate, the supply aggregate, the comparison between them — is computed homomorphically. The output is p★, still encrypted.

04 · Clear

p★ is the price. Every buyer in the epoch fills at p★. Every seller fills at p★. No last-look, no maker-taker asymmetry, no sub-cent pickoff from whoever submitted first. The curve that arrived first and the curve that arrived last receive the same economics.

05 · Settle

Balances update inside the encrypted vector as a single atomic step. No separate settlement phase. No bridge. No custodial hop. If any lane would underflow, the entire epoch reverts. Partial fills are structurally impossible. The vault is always consistent with the sum of its lanes, because the sum is the vault.

06 · Disclose

Identity is split. The operator holds a session-to-ephemeral-key map. The credential issuer holds a credential-to-PII map. Neither alone can name a trader. A valid compelled process — a court order served on both parties — joins the maps and resolves one specific user’s activity. One user. Not the book. Not the tape. The two-party composition is the lock. The warrant is the key. There is no other key.
For the cost comparison against lit CEX and OTC, see A block trade, three ways. For what each venue surrenders under a production order, see Under compelled process.