SBX ID — Technical Whitepaperv2.0 · June 2026

The Compliance Passport for tokenized finance

SBX ID lets a user complete identity verification once, then reuse it across every integrated platform — sharing their verified data only with explicit, signed consent. This document describes the system architecture, cryptography, lifecycle, and developer interfaces.

Version
2.0 — draft
Status
Pre-launch
Audience
Partners & developers
Maintained by
SUPERBLOCK
Pre-launch document. SBX ID is in active development. This whitepaper describes the target v2 architecture. Components marked Planned are on the roadmap and not yet available; everything else describes the design under build. Nothing here is an offer of securities or financial advice — see Legal & regulatory.

Abstract

Regulated finance is moving on-chain, but identity and compliance have not kept up. Every platform re-runs its own KYC, users re-submit the same documents, and sensitive data is copied across hundreds of databases. SBX ID is an identity and compliance infrastructure layer: a user is verified once by an accredited issuer, receives a portable verifiable credential held in their own wallet, and presents it — selectively and with cryptographic consent — to any platform that needs it. Platforms receive exactly the attributes they request, run their own AML obligations against verified data, and record an auditable consent receipt.

SBX ID is built on open identity standards (W3C Verifiable Credentials and DIDs), modern selective-disclosure formats (SD-JWT-VC), zero-knowledge predicate proofs for on-chain eligibility, and a minimal on-chain anchor that never stores personal data. It is the compliance layer of the SUPERBLOCK ecosystem.

Design principles

  • Verify once, reuse everywhere — one verification event, many platforms.
  • User-held and consent-gated — data moves only when the user signs to release it.
  • Minimal disclosure — share the smallest set of attributes (or a yes/no proof) that satisfies the request.
  • No PII on-chain — the ledger holds only non-personal, expiring commitments.
  • Standards over bespoke — interoperate with the broader identity and tokenization stack rather than reinvent it.
  • Reliance, not replacement — platforms keep regulatory responsibility; SBX ID accelerates their work.

The problem

Compliance in tokenized finance is fragmented by design. The same investor is verified again and again, and the cost and risk compound as the market scales.

FrictionTodayConsequence
Regulatory fragmentation50+ regimes, no shared standardGlobal platforms juggle incompatible rulebooks at once.
Locked liquidityMost DeFi has no built-in KYC/AMLInstitutional capital cannot legally participate.
Duplicate cost$10–$30 per user, per platform~$150 of redundant verification per investor across five platforms.
Data sprawlPII copied across hundreds of serversEvery copy is an attack surface; every breach a liability.

The financial system does not have an identity problem — the checks have been done and the data exists. It has an identity architecture problem: nobody has made verified identity portable, private, and enforceable across platforms. That is what SBX ID provides.

How SBX ID works

SBX ID separates the one-time act of verification from the repeatable act of disclosure.

  1. Verify once. The user completes KYC/IDV with SBX ID (or, later, any accredited issuer). Documents are authenticated, liveness is checked, and sanctions/PEP screening is run.
  2. Receive a credential + on-chain marker. SBX ID issues a verifiable credential to the user's wallet and mints a non-transferable soulbound token so any platform can see the wallet is verified. The credential asserts attributes (jurisdiction, investor class, KYC level, expiry) signed by the issuer; raw documents stay encrypted in SBX GRID.
  3. Reuse with consent. When a platform needs to onboard the user, it sends a presentation request. The user reviews it and signs to release only the requested attributes. The platform verifies the issuer signature and revocation status, then runs its own AML.
  4. Enforce on-chain when needed. For tokenized assets and DeFi, eligibility is enforced at the contract level using a privacy-preserving attestation or a zero-knowledge proof — without exposing identity.
Reliance, not replacementThe relying platform always retains regulatory responsibility (consistent with FATF Recommendation 17 and EU AMLD reliance provisions). SBX ID supplies verified, structured data and a signed consent trail so the platform's own CDD takes minutes instead of days.

Roles & trust model

SBX ID follows the standard three-party credential model. Keeping these roles distinct is what bounds liability and preserves user control.

RoleWhoResponsibility
IssuerSBX ID (and accredited issuers Planned)Performs KYC/IDV, signs and issues the credential, maintains revocation status.
HolderThe verified userStores the credential in their wallet, controls every disclosure by signature, can revoke consent.
VerifierPartner platformRequests attributes, verifies issuer signature + freshness, runs its own AML, retains regulatory responsibility.

No party can act alone against the user's interest: the issuer cannot disclose data without the holder's signature, the verifier cannot read anything the holder did not release, and the on-chain layer never holds personal data at all.

System architecture

SBX ID is organised into five layers. The upper layers handle identity and consent off-chain; the lower layers handle enforcement and lifecycle. The jurisdiction-aware rules engine is cross-cutting — it feeds both the assurance levels offered during disclosure and the predicates enforced on-chain.

User — holderSBX ID — issuerPartner — verifier

  1. 01

    Identity & issuance

    KYC & IDV · verifiable credential (SD-JWT-VC) · DID

  2. 02

    Storage

    SBX GRID, encrypted · user-held keys · MPC recovery

  3. 03

    Consent & disclosure

    presentation request · sign consent · selective release

  4. 04

    On-chain anchor

    soulbound token (ERC-5192) · ZK predicate · token & AA hooks

  5. 05

    Lifecycle & policy

    rules engine · revocation · GDPR erasure

Figure 1 — SBX ID five-layer architecture

Each layer is addressed in detail in the sections that follow. The remainder of this whitepaper moves top-to-bottom: the credential and consent flow first, then cryptography, on-chain enforcement, storage, and lifecycle.

The credential

The unit of identity in SBX ID is a W3C Verifiable Credential (VC) bound to a Decentralized Identifier (DID). It is issued once and held by the user, not stored centrally for reuse. Credentials are encoded as SD-JWT-VC so the holder can disclose individual claims without revealing the rest.

Identifiers

Each user controls a DID. SBX ID supports did:pkh (derived from the user's wallet address) and did:key for app-managed keys; the credential subject is the user's DID, and the issuer is SBX ID's DID. This decouples identity from any single chain or platform account.

Credential contents

The credential asserts only compliance-relevant attributes. Raw documents and full PII never live in the credential — they remain encrypted in SBX GRID and are referenced, not embedded.

credential (illustrative)
// SD-JWT-VC payload — claims are individually disclosable
{
  "iss": "did:web:sbxid.com",
  "sub": "did:pkh:eip155:1:0x7f3...d91",
  "vct": "https://sbxid.com/schema/compliance-passport/1",
  "iat": 1750000000,
  "exp": 1813072000,
  "status": { "status_list": { "uri": "https://sbxid.com/status/3", "idx": 9214 } },
  "kyc_level": "enhanced",
  "investor_class": "qualified_institutional",
  "jurisdiction": "AE",
  "residency": "AE",
  "sanctions_screened": true,
  "vault_ref": "grid://v1/4c0a...e22"   // encrypted docs, not the docs
}

Because the format is SD-JWT-VC, the holder can present, for example, investor_class and jurisdiction while withholding residency — or present none of them and instead prove a predicate over them (see Privacy & cryptography).

Privacy & cryptography

SBX ID minimises what is revealed at every step using three complementary techniques.

Selective disclosure

SD-JWT-VC lets the holder reveal a subset of claims while the issuer's signature still verifies over the disclosed set. A platform that only needs jurisdiction never sees the user's name or document numbers. BBS+ signatures are a Planned upgrade for unlinkable multi-show selective disclosure.

Zero-knowledge predicate proofs

When a verifier needs only a yes/no answer, the holder proves a predicate over their credential without revealing the underlying attribute — for example, "jurisdiction is in the allowed set," "investor class ≥ accredited," or "not sanctioned as of status epoch N." Proofs are generated client-side and verified by a smart contract or API.

predicate (conceptual)
// proven in zero knowledge against the held credential
prove(
  jurisdiction  {AE, SG, GB, CH},
  investor_class  accredited,
  sanctions_screened == true,
  exp > now()
)  { proof, nullifier }   // no attribute values revealed

Nullifiers & sybil resistance

Each proof emits a nullifier — a deterministic, per-context value derived from the credential and the verifier's scope. The same person produces the same nullifier for a given platform (so they cannot create multiple "fresh" identities there), but nullifiers are unlinkable across platforms (so activity cannot be correlated between them). This gives one-person-one-credential guarantees without a global, trackable identifier.

Design noteSBX ID deliberately keeps identity attributes off-chain. The on-chain layer holds only salted commitments and validity flags, so low-entropy fields such as country codes cannot be brute-forced from the ledger.

On-chain enforcement

For tokenized assets and permissioned DeFi, eligibility must be enforced where the value moves — in the contract. SBX ID anchors verification with a soulbound token minted to the user's wallet, while keeping the on-chain footprint minimal and free of personal data.

Off-chain
  • Credential — held by the user in their wallet
  • ZK prover — runs client-side, reveals nothing
On-chain
  • Soulbound token — ERC-5192, no PII
  • Verifier contract — checks the token or a proof
  • Token / smart account — allows or denies at transfer

Only a signed attestation or a zero-knowledge proof crosses the boundary — never personal data.

Figure 3 — On-chain enforcement

The soulbound token

When a user is verified, SBX ID mints a non-transferable soulbound token (ERC-5192) to their wallet. Any platform can read it on-chain to instantly confirm that this wallet holds a valid SBX ID — and check the investor class, a salted jurisdiction commitment, the expiry, and a revocation pointer. The token deliberately carries no personal data: the documents and attributes behind it stay encrypted off-chain in SBX GRID. It pairs with EAS attestations for general use and ERC-3643 / ONCHAINID for regulated security tokens.

This is the "easy identification" layer: a platform doesn't have to ask whether a wallet is KYC-verified — the marker is right there on-chain. To actually view a user's KYC documents or attributes, the platform still needs the user to sign consent when the wallet interacts with it (the disclosure flow). Identification is public; data access is always permissioned.

Enforcement points

Integrating contracts enforce eligibility by reading the soulbound token (ERC-3643 compliance modules) or by verifying a fresh ZK proof at transfer time for privacy-sensitive flows. Account-abstraction wallets (ERC-4337) can enforce the same policy as a validation module (ERC-7579), so eligibility travels with the account rather than being re-checked by every dApp.

Public marker, private dataA soulbound token is publicly visible, so the fact that a wallet is verified is correlatable on-chain. That is the point — it makes verified wallets easy to recognise. Users who prefer not to expose a public marker can instead prove eligibility with a zero-knowledge proof, which reveals nothing — not even that an SBX ID exists.

Target networks at launch are Ethereum and Polygon, with additional EVM chains and cross-chain attestation relay on the roadmap. Planned

Storage — SBX GRID

Raw documents and full PII are never held in the credential or on-chain. They live in SBX GRID, the ecosystem's decentralized storage layer, under client-side encryption.

  • Zero-knowledge storage — GRID nodes store ciphertext only; they never see plaintext or keys.
  • User-held keys — encryption keys are derived from the user's wallet, with optional MPC / social-recovery backup so a lost device does not force re-verification.
  • Data residency — content is geo-sharded and pinned to satisfy in-country storage requirements in jurisdictions that mandate them.
  • Durability — erasure coding across nodes provides resilience without a single point of failure (and without a single honeypot).

A platform never receives documents from GRID directly. It receives only the attributes the user discloses; if a regulator later requires the underlying document, retrieval is again gated by the user's signed consent (or a lawful, logged compulsion path).

Rules engine

The jurisdiction-aware rules engine is the part of SBX ID that encodes what compliant means for a given context. It is policy-as-code: versioned, testable, and auditable.

A policy maps a request context (asset type, offering exemption, target jurisdictions) to the attributes and assurance level required, and to the on-chain predicate that enforces it. Policies are referenced by id, so a platform integrates once and the underlying rules can be updated centrally as regulations change.

policy (illustrative)
{
  "policy_id": "rwa.reg-d.506c",
  "requires": {
    "investor_class": "accredited_or_above",
    "jurisdiction_in": ["US", "AE", "SG", "GB"],
    "sanctions_screened": true,
    "max_kyc_age_days": 365
  },
  "enforcement": "zk_predicate"
}

Every decision the engine returns carries a deterministic reason code, so an allow or deny can be explained and audited after the fact.

Lifecycle

Credentials are living objects. SBX ID manages their full lifecycle so verification stays trustworthy over time.

EventMechanism
Freshness & expiryCredentials are time-boxed; verifiers check exp on every presentation.
RevocationStatusList2021 bitstring (and accumulators on the roadmap) let any verifier check revocation privately and cheaply.
Continuous screeningOngoing sanctions/PEP re-screening updates status; a change propagates to the on-chain attestation.
GDPR erasureOff-chain PII is auto-erased at expiry; on-chain holds only expiring, non-personal commitments. Users are reminded ~90 days before expiry to renew.
RecoveryMPC / social recovery restores credential access after device loss without re-running KYC.
Why erasure is possible hereBecause no personal data is ever written to an immutable ledger, "delete my data" is actually enforceable: erasing the off-chain ciphertext and letting the on-chain commitment expire removes the user's footprint.

Security & threat model

SBX ID's security rests on keeping data off-chain, encrypted, and consent-gated, and on distributing trust so no single party is a point of failure.

ThreatMitigation
Central data breach (honeypot)No central plaintext store. Documents are client-side encrypted in SBX GRID; nodes hold ciphertext only.
Issuer compromise / mis-issuanceIssuer keys in HSM/MPC; revocation lists; Planned issuer staking with slashing for federated issuers.
On-chain correlation / profilingNo PII on-chain; per-context nullifiers; salted commitments instead of hashed low-entropy fields.
Sybil / identity farmingNullifiers enforce one-person-one-credential per context; liveness + document binding at issuance.
Stolen / lost walletNon-transferable binding plus MPC/social recovery; credentials can be reissued to a new key, old key revoked.
Stale compliance statusShort expiries, continuous re-screening, and status checks on every presentation and transfer.
Replay of a presentationRequests carry a nonce and audience binding; presentations are single-use and audience-scoped.

Trust assumptions

  • The issuer correctly performs KYC and protects its signing keys.
  • The MPC parties protecting recovery and vault key control are independent and non-colluding.
  • The user protects their wallet (mitigated by recovery), and the verifier safeguards any data it receives.

Independent ZK circuit audits, smart-contract audits, a SNARK trusted-setup ceremony, and SOC 2 / ISO 27001 certification are part of the pre-launch program. Planned

SUPERBLOCK ecosystem

SBX ID is the identity and compliance layer of the SUPERBLOCK ecosystem. It gives every other product a shared, verified user base and a single compliance integration, and it is built to serve external platforms on the same terms.

SBX ID — the shared compliance layer

Powers — SUPERBLOCK
  • SBX Prime — RWA tokenization
  • SBX AURA — AI settlement
  • Rizq Finance — Shariah-compliant DeFi
  • SBX GRID — encrypted storage
  • $SBX · DAO — utility & governance
Serves — external
  • RWA platforms & exchanges
  • DeFi protocols — permissioned pools
  • Banks & fintechs — tokenized rails
Figure 4 — SBX ID as the shared compliance layer

Within the ecosystem, SBX Prime gates investor onboarding through SBX ID, SBX AURA confirms counterparties are eligible before settlement, Rizq Finance verifies eligibility for Shariah-compliant products, and SBX GRID provides the encrypted storage substrate. The same integration is available to external RWA platforms, exchanges, DeFi protocols, banks, and fintechs.

Token utility ($SBX)

The token never gates an individual's compliance.$SBX is never required for a user to obtain or present a credential, and it never influences a verification outcome. All compliance-critical operations are independent of the token. Fees for verification settle in fiat or stablecoins.

$SBX is the ecosystem utility token. Its role in SBX ID is confined to the network layer:

  • Partner access & SLA — platforms stake or hold $SBX to unlock higher API tiers, rate limits, and support SLAs.
  • Governance — through SBX DAO, $SBX governs protocol parameters (issuer accreditation standards, fee schedules, treasury), never individual compliance decisions.
  • Issuer staking Planned — accredited KYC issuers post a $SBX bond; mis-issuance is slashable, tying token economics to network integrity rather than to user gating.

Governance & roadmap

Governance

SBX ID launches under SUPERBLOCK stewardship and progressively decentralises to SBX DAO, which governs protocol parameters, the accreditation standard for federated issuers, fee schedules, and treasury allocation. Compliance decisions about individuals are never subject to governance — they are determined solely by the rules engine and the relying platform's own obligations.

Roadmap

PhaseFocusStatus
Phase 01 — FoundationCore engine, credential format, MPC vault, legal structureCompleted
Phase 02 — Build & partnerAPIs & SDKs, pilot integrations, jurisdiction expansion, sandboxIn progress
Phase 03 — LaunchPublic beta, holder app, on-chain attestations, auditsPlanned
Phase 04 — ScaleFederated issuers, eIDAS/EUDI alignment, cross-chain, DAO governancePlanned

Developer guide

This section is for engineers integrating SBX ID. The API is REST + JSON; on-chain integration is via the registry contracts and SDKs. All examples target the sandbox.

Pre-launchThe API surface below describes the v2 design and is stabilising during Phase 02. Request sandbox access from the partner programme. Endpoints and fields may change before general availability.

Integration flow

  1. 01Get API keys — sandbox credentials from the partner programme
  2. 02Create a verification session — one API call returns a hosted KYC URL
  3. 03User completes KYC — on the hosted flow, once
  4. 04Receive a webhookcredential.issued fires
  5. 05Check eligibility or request a presentation
  6. 06Enforce — via the API or the on-chain soulbound token
Figure 5 — Six-step integration flow

Authentication

API requests authenticate with a secret key in the Authorization header. Use the sk_test_… key against the sandbox and sk_live_… in production. Never expose secret keys in client-side code.

http
GET https://api.sbxid.com/v1/health
Authorization: Bearer sk_test_7f3d91...e22
Content-Type: application/json

Webhook payloads are signed; verify the SBXID-Signature header (HMAC-SHA256 over the raw body) before trusting an event. See Webhooks.

API reference

Base URL: https://api.sbxid.com/v1. All responses are JSON; errors use standard HTTP status codes with a machine-readable code and human-readable message.

MethodEndpointPurpose
POST/verification-sessionsStart a hosted KYC session for a user.
GET/verification-sessions/{id}Retrieve session state and outcome.
POST/presentation-requestsRequest a consented disclosure of attributes.
POST/compliance/checkEvaluate an address/holder against a policy.
GET/attestations/{address}Read the on-chain attestation reference for an address.
POST/credentials/{id}/revokeRevoke a credential (issuer only).

Create a verification session

request
POST /v1/verification-sessions
{
  "reference": "user_8821",
  "policy_id": "rwa.reg-d.506c",
  "redirect_url": "https://yourapp.com/kyc/return"
}
response · 201
{
  "id": "vs_3kf9...a1",
  "status": "pending",
  "hosted_url": "https://verify.sbxid.com/s/3kf9a1",
  "expires_at": "2026-06-16T18:30:00Z"
}

Check eligibility

request
POST /v1/compliance/check
{
  "subject": "did:pkh:eip155:1:0x7f3...d91",
  "policy_id": "rwa.reg-d.506c"
}
response · 200
{
  "decision": "allow",
  "reason_code": "OK_ELIGIBLE",
  "checked_at": "2026-06-16T17:58:11Z",
  "expires_at": "2026-06-16T18:58:11Z"
}

SDKs

Official SDKs wrap the REST API and presentation flows. The TypeScript SDK is shown below; a Python SDK follows the same shape.

typescript
import { SbxId } from "@sbxid/sdk";

const sbx = new SbxId({ apiKey: process.env.SBXID_KEY });

// 1 · start a verification session
const session = await sbx.verification.create({
  reference: "user_8821",
  policyId: "rwa.reg-d.506c",
});
redirect(session.hostedUrl);

// 2 · later, gate an action on eligibility
const { decision } = await sbx.compliance.check({
  subject: userDid,
  policyId: "rwa.reg-d.506c",
});
if (decision !== "allow") throw new Error("not eligible");

Smart-contract integration

On-chain, integrating contracts read the SBX ID registry to gate transfers or actions. The interface returns an eligibility boolean and a reason code; for privacy-sensitive flows, a verifier contract checks a ZK proof instead.

solidity
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

interface ISBXIDRegistry {
  function isEligible(address account, bytes32 policyId)
    external view returns (bool ok, uint16 reason);
}

contract GatedVault {
  ISBXIDRegistry public immutable registry;
  bytes32 public constant POLICY = "rwa.reg-d.506c";

  constructor(address _registry) { registry = ISBXIDRegistry(_registry); }

  modifier onlyCompliant() {
    (bool ok, uint16 reason) = registry.isEligible(msg.sender, POLICY);
    require(ok, "SBXID: not eligible");
    _;
  }

  function deposit() external payable onlyCompliant {
    // ... eligible participants only
  }
}

For ERC-3643 security tokens, SBX ID plugs in as a compliance module so transfer restrictions are evaluated natively by the token. For account-abstraction wallets, the same check can run as an ERC-7579 validation module.

Webhooks

Subscribe to events to react to verification and lifecycle changes without polling. Verify every payload's signature before acting on it.

EventWhen
verification.completedA user finishes a KYC session.
credential.issuedA credential is minted to the holder.
consent.grantedA user signs a disclosure to your platform.
consent.revokedA user withdraws previously granted access.
credential.revokedA credential is revoked or expires.
node · verify signature
import crypto from "node:crypto";

function verify(rawBody, header, secret) {
  const expected = crypto.createHmac("sha256", secret)
    .update(rawBody).digest("hex");
  return crypto.timingSafeEqual(
    Buffer.from(header), Buffer.from(expected));
}

Sandbox & testing

The sandbox mirrors production with deterministic test outcomes, so you can build the full flow before going live.

  • Use sk_test_… keys; no real identity data is processed.
  • Drive outcomes with reserved test subjects, e.g. did:pkh:…:0xTESTallow (eligible), 0xTESTreview (manual review), 0xTESTdeny (sanctioned/denied).
  • Trigger lifecycle events from the dashboard to test credential.revoked and consent.revoked handling.
  • Sandbox attestations are written to a testnet registry (Polygon Amoy) for end-to-end on-chain testing.

Glossary

AML / KYCAnti-money-laundering / know-your-customer — the checks platforms run to verify and monitor users.
Verifiable Credential (VC)A tamper-evident, issuer-signed digital credential held by the user.
DIDDecentralized Identifier — a user-controlled identifier independent of any platform.
SD-JWT-VCA credential format allowing the holder to disclose individual claims selectively.
Zero-knowledge proofA proof that a statement is true without revealing the underlying data.
Predicate proofA ZK proof of a condition (e.g. "age ≥ 18") rather than a value.
NullifierA per-context value preventing duplicate identities without cross-platform linkage.
EASEthereum Attestation Service — a standard for on/off-chain attestations.
ERC-3643 / ONCHAINIDPermissioned security-token and on-chain identity standards for regulated assets.
MPCMulti-party computation — splitting key control so no single party can act alone.
SoulboundA non-transferable on-chain token bound to one account.

FAQ

Does a platform stop doing its own KYC?

No. The platform receives verified data and a signed consent trail, then runs its own AML. SBX ID accelerates that work; it does not assume the platform's regulatory responsibility.

Where is my personal data stored?

Encrypted in SBX GRID under keys you control. It is never written to a blockchain, and it is shared only when you sign to release it.

What lives on-chain, then?

Only a non-personal attestation: a validity flag, investor class, a salted jurisdiction commitment, an expiry, and a revocation pointer. Nothing that identifies you.

Can I be tracked across platforms?

No. Disclosures are minimal and per-context nullifiers are unlinkable between platforms, so your activity cannot be correlated through SBX ID.

What if I lose my wallet?

MPC / social recovery restores access without re-running KYC; the old key can be revoked and the credential reissued.

Is $SBX required to verify?

Never. The token is confined to network-layer utility and governance and plays no part in any individual's verification.