RU-DMIP is an open, testable API profile for digital market infrastructure.
Он задает общий контракт для подключения торговых площадок, банков, брокеров, операторов цифровых активов, кастодиальных и учетных систем, поставщиков данных и разработчиков. В центре проекта не конкретная платформа, а повторно используемая семантика: как обнаружить возможности участника, передать команду, проследить исполнение, проверить полномочия и подтвердить совместимость.
Статус: Draft 0.5 для технической оценки и пилотов. Проект не является нормативным актом, лицензией, заключением о допустимости продукта или позицией государственного органа.
Без общего контракта каждая интеграция заново определяет идентификаторы, статусы, ошибки, подпись запросов, правила повторов, события исполнения, кошельковые операции и отчетные данные. RU-DMIP выносит повторяющуюся часть в открытые спецификации и проверяет ее автоматически.
| Контур | Общий контракт | Проверка |
|---|---|---|
| Discovery | роли, capabilities, версии и правовые границы | /v1/profile и L0 tests |
| Market data | инструменты, стакан, сделки и свечи | REST schemas и L1 tests |
| Trading & execution | заявки, idempotency, состояния, события и replay | L2 tests |
| Wallet & custody | активы, адреса, ввод, вывод и transfers | L3 tests |
| Derivatives | позиции, маржа, funding и settlement | L4 tests |
| Compliance | согласия, audit events и report descriptors | L5 tests |
| Entitlements | правомочия, доказательства и authorization decisions | L5 tests |
Профиль не требует одинаковой внутренней архитектуры. Реализация публикует поддерживаемые возможности, а клиент строит поведение по контракту и capabilities, а не по имени поставщика.
- OpenAPI и JSON Schema;
- REST, WebSocket и FIX-compatible спецификации;
- Python и TypeScript reference clients;
- локальный reference sandbox;
- Postman collection;
- 28 conformance-проверок уровней L0-L5;
- отдельные профили исполнения, безопасности, compliance и правомочий;
- правовые границы для применения в российском контуре.
Требуются Python 3.10+ и Node.js 20+.
Терминал 1:
cd mock-exchange
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install .
uvicorn ru_dmip_mock.app:app --port 8080Терминал 2:
cd tests/conformance
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install .
pytest --base-url http://127.0.0.1:8080 --api-key sandbox-key --api-secret sandbox-secretДля ручной проверки импортируйте
postman/RU-DMIP.postman_collection.json.
Python:
from ru_dmip import Client
client = Client(
"http://127.0.0.1:8080",
api_key="sandbox-key",
api_secret="sandbox-secret",
)
print(client.profile())
print(client.execution_capabilities())
print(client.entitlement_capabilities())TypeScript:
import { RuDmipClient } from "@ru-dmip/sdk";
const client = new RuDmipClient({
baseUrl: "http://127.0.0.1:8080",
apiKey: "sandbox-key",
apiSecret: "sandbox-secret",
});
console.log(await client.profile());
console.log(await client.executionCapabilities());Не нужно принимать весь профиль целиком. Достаточно выбрать один сквозной сценарий, сопоставить его с действующей моделью участника и зафиксировать:
- какие сущности и статусы уже совпадают;
- где контракт неоднозначен или избыточен;
- какие проверки можно автоматизировать;
- что должно остаться внутри реализации;
- дает ли общий контракт экономию при следующем подключении.
Готовый формат сессии, сценарии и критерии результата описаны в
docs/PILOT.ru.md.
- Capabilities before assumptions. Клиент сначала узнает возможности реализации.
- Stable semantics. Статусы и события имеют одинаковый смысл у разных участников.
- Secure by default. Приватные действия подписываются, ограничиваются scopes и журналируются.
- Law-aware, not law-substituting. API показывает правовые границы, но не создает разрешение на деятельность.
- Data minimization. В обычных ответах используются ссылки, хеши и статусы вместо лишних документов и персональных данных.
- Testable compatibility. Заявленный уровень подтверждается conformance report.
- Incremental adoption. Участник внедряет только нужные роли и уровни.
| Раздел | Содержание |
|---|---|
docs/ |
обзор, позиционирование, пилот, безопасность, правовая рамка и roadmap |
spec/ |
нормативная техническая семантика профиля |
schemas/ |
OpenAPI и JSON Schema |
mock-exchange/ |
reference sandbox |
tests/conformance/ |
исполняемые проверки совместимости |
sdks/ |
Python и TypeScript reference clients |
postman/ |
коллекция для ручного исследования API |
Исторические материалы обращений находятся в submissions/; они не являются частью технического контракта и не подтверждают поддержку проекта адресатами.
- Технический стандарт
- Краткое позиционирование
- White paper
- Пилот и критерии оценки
- Профили участников
- Безопасность
- Правовая рамка РФ
- Roadmap
- Governance
Замечание полезно, если оно содержит конкретный сценарий, несовместимость или риск. Для изменения контракта укажите problem statement, предлагаемые поля или поведение, влияние на обратную совместимость, безопасность, правовую границу и conformance tests. Подробности — в CONTRIBUTING.md.
Apache-2.0. Спецификации, схемы, reference implementations и тесты можно проверять, расширять и использовать при соблюдении условий лицензии.