Skip to content

Registry API Reference

Base URL: https://api.biologicalsovereigntyprotocol.com

The Registry API is a gasless relayer. It verifies Ed25519 signatures and relays transactions to Arweave, paying the gas on behalf of users. It cannot forge or modify user actions.

All write operations require a signed payload with nonce (16+ chars) and timestamp (ISO8601, max 5 min old).


BEO Operations

All routes under POST /api/relayer/beo/...

RouteDescriptionAuth
POST /api/relayer/beoCreate a new BEOEd25519 sig
POST /api/relayer/beo/lockEmergency lockEd25519 sig
POST /api/relayer/beo/unlockUnlockEd25519 sig
POST /api/relayer/beo/destroyPermanent erasure (LGPD/GDPR)Ed25519 sig
POST /api/relayer/beo/rotate-keyRotate Ed25519 keyEd25519 sig
POST /api/relayer/beo/recoveryUpdate recovery configEd25519 sig
POST /api/relayer/beo/request-recoveryInitiate Social RecoveryPublic
POST /api/relayer/beo/revoke-allRevoke all consent tokens for a BEOEd25519 sig
POST /api/relayer/consentGrant ConsentTokenEd25519 sig

Payload format (example: createBEO)

json
{
  "domain": "andre.bsp",
  "publicKey": "ed25519-hex-64-chars",
  "recovery": null,
  "signature": "base64-ed25519-detached-signature",
  "nonce": "random-16-chars-min",
  "timestamp": "2026-04-07T20:00:00.000Z"
}

The signature is computed over: JSON.stringify(sortedKeys({ function: "createBEO", domain, publicKey, recovery, nonce, timestamp })).


IEO Operations

All routes under POST /api/ieo/...

RouteDescriptionAuth
POST /api/ieoCreate a new IEOEd25519 sig
POST /api/ieo/lockEmergency lockEd25519 sig
POST /api/ieo/unlockUnlockEd25519 sig
POST /api/ieo/destroyPermanent erasureEd25519 sig
POST /api/ieo/rotate-keyRotate Ed25519 keyEd25519 sig
POST /api/ieo/contactsUpdate API endpoint / webhookEd25519 sig
POST /api/ieo/recoveryUpdate recovery configEd25519 sig
POST /api/ieo/approveApprove governance proposal (multisig 2-of-3)X-Institute-Key
POST /api/ieo/certificationUpdate IEO certification levelX-Institute-Key

Guardian Operations

All routes under /api/guardian/...

RouteDescriptionAuth
POST /api/guardian/inviteBEO holder invites a guardianEd25519 sig
GET /api/guardian/accept/:tokenRender guardian acceptance pagePublic
POST /api/guardian/accept/:tokenGuardian accepts and registers Ed25519 public keyPublic
GET /api/guardian/confirm-recovery/:tokenRender recovery confirmation pagePublic
POST /api/guardian/confirm-recovery/:tokenGuardian confirms recovery (threshold 2-of-3 triggers key rotation)Public

Query Operations (Read-only)

No authentication required — reads public Arweave state.

RouteDescription
GET /api/beos/:beoIdGet BEO by UUID
GET /api/beos/domain/:domainResolve BEO by .bsp domain
GET /api/ieosList IEOs (filters: status, ieoType, certLevel)
GET /api/ieos/:ieoIdGet IEO by UUID
GET /api/ieos/domain/:domainResolve IEO by .bsp domain
GET /api/ieos/:ieoId/certificationVerify IEO certification
GET /api/consent/:tokenIdVerify ConsentToken
GET /api/consent/history/:beo_domainFull token history

RouteDescriptionAuth
DELETE /api/consent/:tokenIdRevoke one tokenEd25519 sig
DELETE /api/consent/allRevoke ALL tokens (emergency)Ed25519 sig
DELETE /api/consent/ieo/:ieo_domainRevoke all from one IEOEd25519 sig
DELETE /api/consent/intent/:intentRevoke all by intentEd25519 sig

Exchange Operations

RouteDescriptionAuth
POST /api/exchange/recordsSubmit BioRecordsConsentToken + Ed25519
GET /api/exchange/recordsRead BioRecordsConsentToken + Ed25519
POST /api/exchange/exportSovereign data export (JSON/CSV/FHIR_R4)ConsentToken + Ed25519

Rate Limits

Route GroupLimit
BEO/IEO relayer10 req/min
Query reads60 req/min per IP
Consent writes15 req/min per IP
Exchange submit10 req/min per IP
Exchange read30 req/min per IP
Sovereign export5 req/min per IP
Guardian invite5 req/min

Health Check

GET /health
→ { "status": "ok", "service": "bsp-registry-api", "version": "1.0.0" }

CLI Reference · SDK Reference · MCP Server