Agent Protocol for EXchange
The open MCP-based specification for how AI agents communicate with financial brokers, dealers, and market makers.
APEX defines a canonical tool vocabulary, a universal instrument identifier, and a unified order model — enabling any compliant agent to connect to any compliant broker without bespoke integrations.
protocol/
├── spec/ # THE SPECIFICATION
│ ├── core/ # Layer 1 — mandatory baseline (all brokers)
│ ├── profiles/ # Layer 2 — asset class extensions
│ │ ├── fx.md # Spot FX, CFD FX, rollovers
│ │ ├── cfd.md # Equities, indices, commodities
│ │ └── crypto.md # Spot, perpetuals, funding rates
│ └── registry/ # Instrument taxonomy and ID format
├── reference-implementation/ # Reference MCP servers (stub handlers)
│ ├── typescript/ # Node.js 18+, MCP SDK, Zod
│ ├── rust/ # rmcp crate
│ ├── go/ # mcp-go SDK
│ └── java/ # Direct JSON-RPC 2.0, Jackson
├── conformance/ # Test suite for spec compliance
├── governance/ # TAC charter, RFC process, contributing
└── docs/ # Agent quickstart, integration guides
| Layer | Scope | Status |
|---|---|---|
| Layer 1 — Core | Session, account, orders, market data, risk | v0.1-draft |
| Layer 2 — FX | Spot FX, CFD FX, rollovers, currency exposure | v0.1-draft |
| Layer 2 — CFD | Equities, indices, corporate actions | v0.1-draft |
| Layer 2 — Crypto | Spot, perpetuals, funding rates, margin modes | v0.1-draft |
| Layer 2 — Derivatives | Listed options, futures, greeks | planned |
| Layer 2 — Fixed Income | Bonds, yield, duration | planned |
- Read
docs/agent-quickstart.md - Use canonical instrument IDs from
spec/registry/ - Connect directly to any APEX-compliant broker's MCP endpoint
- Read
spec/core/README.md— the mandatory baseline - Choose your
spec/profiles/for your asset classes - Start from a
reference-implementation/ - Run the
conformance/test suite against your implementation
Five domains. Consistent naming. Every tool annotated with MCP metadata.
| Domain | Prefix | Purpose |
|---|---|---|
| Session | apex.session.* |
Authentication, capabilities, heartbeat |
| Account | apex.account.* |
Balances, positions, orders, history |
| Orders | apex.order.* |
Place, modify, cancel, status |
| Market Data | apex.market.* |
Quotes, snapshots, search, instrument details |
| Risk | apex.risk.* |
Pre-trade checks, account limits |
APEX:{ASSET_CLASS}:{SUB_CLASS?}:{SYMBOL}
Examples: APEX:FX:EURUSD, APEX:CFD:IDX:SPX500, APEX:CRYPTO:SPOT:BTCUSDT
APEX Protocol uses semantic versioning: MAJOR.MINOR.PATCH
Current version: 0.1.0-draft
See governance/CONTRIBUTING.md for the RFC process.
Specification: Creative Commons Attribution 4.0 Reference Implementations: Apache License 2.0