API endpoints
Co-Signer API
Co-Signer API — це raw MPC transport для клієнтського Co-Signer. Application backend зазвичай використовує wallet і transaction endpoints, а не викликає ці операції напряму.
Операції
| Method | Path | Опис |
|---|---|---|
GET | /api/v1/co-signer/intents/pending | Читання pending intents типу DKG або SIGN |
POST | /api/v1/co-signer/intents/{intentId}/claim | Отримання intent одним worker |
POST | /api/v1/co-signer/intents/{intentId}/result | Передавання результату COMPLETED або FAILED |
POST | /api/v1/co-signer/sessions/{sessionId}/messages | Надсилання outbound MPC protocol frame |
GET | /api/v1/co-signer/sessions/{sessionId}/messages | Читання inbound frames після sequence |
Необхідний scope для кожної операції: mpc:raw
Життєвий цикл intent
Pending intents містять intentId, sessionId, correlationId, type, payload і expiresAt. Перед обробкою виконайте claim. Claim operation вимагає X-Idempotency-Key і може повернути 409, якщо intent уже отримав інший worker.
Передайте terminal result:
{
"status": "COMPLETED"
}Для failure використовуйте FAILED і за можливості додайте errorCode та errorMessage. Успішний DKG або signing flow також може передати визначений схемою material.
Session messages
Outbound messages містять messageId, protocolSeq, round, Base64 payload і необов’язкові routing fields. protocolSeq забезпечує deduplication MPC transport. Створення message вимагає X-Idempotency-Key і X-Api-Body-Hash.
Читайте inbound messages через GET .../messages?afterSeq=<sequence> і зберігайте найбільший оброблений sequence.
Правила роботи
- Запускайте один надійний Co-Signer service для кожного середовища.
- Зберігайте MPC key share і приватний API key поза application repository.
- Зробіть claim і message processing idempotent.
- Припиняйте обробку після
expiresAt. - Відстежуйте вік pending intents, claim conflicts, session progress і terminal failures.