Skip to main content
Musubi is designed for institutional participants with strict security requirements. This page covers the security architecture for your InfoSec and integration teams.

Authentication

API access is authenticated via JWT bearer tokens.
PropertyValue
Token typeJWT (JSON Web Token)
Signing algorithmHMAC-256 (testnet); RSA-256 via external IdP (production)
Lifetime3600 seconds (1 hour) default
Issuermusubi
Audiencemusubi-api
Key claimscanton_party_id (your identity), role (your participant type)
Tokens are obtained from your own participant backend (POST /auth/token). In production, this will integrate with your organization’s identity provider (Keycloak, Auth0, or equivalent SSO).
The testnet uses a shared HMAC-256 secret across all services. Production deployment will use asymmetric RSA-256 signing where only the authentication service holds the private key.

Intent Signing

Every order includes an intent_signature — a cryptographic signature over the order payload produced by the sender institution’s private key. What this guarantees:
  • Non-repudiation: The sender cannot deny having authorized the payment
  • Integrity: Any modification to the order payload invalidates the signature
  • Off-chain verifiability: Regulators can verify the signature without network access
What this does NOT replace:
  • Custodian authorization (separate co-signature, enforced by the settlement protocol)
  • KYC/AML verification (separate reference, validated at order creation)

Data Isolation

Each participant runs their own isolated infrastructure stack: Key properties:
  • Your backend and database run in your infrastructure, not Musubi’s
  • Your database contains only your contracts and transactions — no other participant’s data
  • Communication between participants flows through the settlement network protocol, not direct API calls
  • No participant can query another participant’s backend or database

Privacy Model

The settlement network enforces privacy at the protocol level — each participant sees only the contracts they are authorized to see.
DataYou (Sender)Your CustodianMarket MakersReceiver Institution
Order detailsFull visibilityFull visibilityNOT visibleNOT visible until settled
Your identityn/aVisibleNOT visibleVisible at settlement
Competing quotesVisibleVisibleOwn quotes onlyNOT visible
FX rate negotiationVisibleVisibleOwn quotes onlyNOT visible
Settlement confirmationVisibleVisibleVisibleVisible
Transaction hashVisibleVisibleVisibleVisible
Key privacy guarantees:
  • Market makers never see your identity — RFQs are anonymized (currency pair + amount only)
  • Receiver institution sees only the settlement result — not the quoting or rate negotiation process
  • No global ledger — unlike public blockchains, there is no shared state that all participants can read

Transport Security

ConnectionSecurity
API requests (your apps to your backend)HTTPS/TLS 1.2+
Settlement network connections (your node to network)Mutual TLS with participant certificates
Database connections (backend to PostgreSQL)Encrypted, localhost-only on your infrastructure

What You Control

ComponentControlled By
Your backend instanceYou
Your databaseYou
Your private keysYou (via your custodian for asset keys, directly for intent signing)
JWT token issuance (production)Your IdP
Network access policiesYou
Your settlement nodeYou