- api-spec.md — public REST API contract. Single source of truth for HTTP behavior. Do not change without explicit approval from the API contract owner.
| File | Scope | Owner |
|---|---|---|
| tech-specs/read-api.md | All read endpoints: GET /markets, /depth, /account, /account/balances, /orders |
Dev2 |
| tech-specs/write-api.md | All write endpoints: POST/DELETE /order, POST/DELETE /batchOrders, DELETE /openOrders, POST /buyFullSet |
Dev1 |
| tech-specs/indexer.md | Chain-event ingestion, projectors, reconcilers (services/indexer) |
Dev2 |
| tech-specs/auth.md | Authentication, authorization, account/api-key lifecycle | shared |
| tech-specs/data-schema.md | Postgres tables, indexes, migrations | shared |
Operational cutover notes for specific schema/projector changes live in migrations/.
- shellnet-testing.md — tester guide for trying DEX.DO on Shellnet with the hosted testing backend or a self-hosted backend, including Private Note key custody warnings.
- deployment.md — self-hosting
indexer+apiwith Docker Compose against your own Acki Nacki GraphQL endpoint and your own Postgres / Supabase. - seed-private-notes.md — seeding the api's trading accounts from a JSON notes file (config path, docker-compose delivery, KEK-derived API keys), and deploying/funding the PrivateNotes they point at.
- contract-specs/ — on-chain DEX.DO contracts. Event routing in dex-events-routing.md; flow/object diagrams as HTML and drawio. The AI-inference registry (wrappers, SDK support, deploy specifics, e2e harness) is in airegistry-inference.md.
- One logical component → one tech-spec file. Read API, write API, and indexer are each one file. Shared files (
data-schema.md,auth.md) carry contributions from both developers; resolve conflicts on a per-section basis. - All tech-specs reference api-spec.md for HTTP shape; none duplicates it.
- Pre-commit doc-sweep is mandatory — see ../AGENT_REQUIREMENTS.md.