Co-Signer API

API endpoints

Co-Signer API

Co-Signer API — це raw MPC transport для клієнтського Co-Signer. Application backend зазвичай використовує wallet і transaction endpoints, а не викликає ці операції напряму.

Операції

MethodPathОпис
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:

json
{
  "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.