API Reference

The Mass API

Mass is the platform. Five primitives — Entity, Ownership, Fiscal, Identity, Consent — plus operational services for tax, documents, governance, licensing, corridors, settlement, and compliance. 171 endpoints across 32 route modules. Mass SDK in TypeScript, Python, and Rust. MCP server with 17 tools for AI agents. The mez CLI deploys and operates zones.

Quick Start

From clone to first request in four steps

terminal
# 1. Authenticate and build
$ mez auth login
$ mez init && cargo build --workspace
   Compiling mez-core v0.4.44
   Compiling mez-api v0.4.44
   Compiling mez-cli v0.4.44
    Finished release [optimized] target(s)

# 2. Start the API server
$ cargo run -p mez-api
INFO  mez_api > listening on 0.0.0.0:3000
INFO  mez_api > 32 route modules registered, 171 endpoints active
INFO  mez_api > JWT issuer: mez-api.local

# 3. Authenticate
$ curl -X POST http://localhost:3000/v1/auth/token \
  -H "Content-Type: application/json" \
  -d '{"client_id":"...","client_secret":"...","scope":"entity:write asset:write"}'

{ "access_token": "eyJhbGciOiJFZERTQSIs...", "token_type": "Bearer", "expires_in": 3600 }

# 4. Create your first entity
$ curl -X POST http://localhost:3000/v1/entities \
  -H "Authorization: Bearer eyJhbGciOiJFZERTQSIs..." \
  -H "Content-Type: application/json" \
  -d '{"zone":"synth-atlantic-fintech","type":"llc","jurisdiction":"us-de","name":"Acme Ventures LLC"}'

{
  "entity_id": "ent_01HZQ3...",
  "status": "active",
  "compliance": { "tensor_status": "passed", "domains_checked": 20 },
  "banking": { "rails": ["SWIFT", "USDC"], "status": "provisioned" },
  "identity": { "did": "did:mez:ent01hzq3" }
}

Introduction

Mass is the platform — the five primitives and every service built on them. Momentum is the fund that builds Mass and deploys it. The EZ Stack is the deployment package: Mass configured for a specific jurisdiction with lawpacks, adapters, and compliance rules. The mez CLI and {zone}.mez.network URLs use the abbreviation for Mass Economic Zone.

The Mass API provides programmatic access to institutional infrastructure across 30+ economic zones. Built in Rust on Axum 0.7, the API exposes 18 service families across five layers:

  • Five primitives — Entity, Ownership, Fiscal, Identity, Consent
  • Operational services — Tax, Documents & Signing, Governance, Licensing, Notifications
  • Protocol infrastructure — Smart Assets, Corridors, Compliance, Trade, Credentials, Settlement
  • Engines — Operations, Watchers, Arbitration, Policy Engine
  • Government surfaces — GovOS, Regulator Console

The Mass SDK provides type-safe client libraries in TypeScript, Python, and Rust. All requests use JSON over HTTPS. The base URL for production deployments is zone-specific:

Base URLs

Production
https://{zone}.mez.network/v1
Local dev
http://localhost:3000/v1

Versioning

All endpoints are prefixed with /v1. Breaking changes ship under a new version prefix. The current stack version is 0.4.44 GENESIS.

Content Type

All requests and responses use application/json. Artifact endpoints additionally support application/octet-stream for content-addressed binary data.

Base request
curl
$ curl https://synth-atlantic.mez.network/v1/entities \
  -H "Authorization: Bearer mez_live_sk_..." \
  -H "Content-Type: application/json"
Response shape
json
{
  "data": [ ... ],
  "has_more": false,
  "total": 42
}

Authentication

The API uses Bearer JWT tokens signed with Ed25519. Tokens carry role claims that determine endpoint access. Include the token in the Authorization header of every request.

Roles

zone_admin role · highest
Full access to all resources and endpoints. Zone administration, corridor management, system configuration.
regulator role · read-all
Read access to all resources. Query attestations, compliance tensors, audit trails. GovOS dashboards. Regulator console.
entity_operator role · scoped
Read/write own entity resources only. Create assets, initiate settlements, manage identity, file disputes.

Scopes

Tokens include 22 fine-grained scopes following the {primitive}:{operation} convention: entities:read, entities:write, ownership:read, ownership:write, fiscal:read, fiscal:write, identity:read, identity:write, consent:read, consent:write, corridors:read, corridors:write, compliance:read, trade:read, trade:write, tax:read, tax:write, operations:read, operations:write, credentials:read, credentials:write, *:* (unrestricted). Empty scopes default to unrestricted for backwards compatibility.

Token request
curl
$ curl -X POST /v1/auth/token \
  -d '{
    "client_id": "cli_01HZQ...",
    "client_secret": "sk_live_...",
    "scope": "entity:write asset:read"
  }'
JWT payload (decoded)
json
{
  "sub": "cli_01HZQ...",
  "role": "operator",
  "scope": "entity:write asset:read",
  "zone": "synth-atlantic-fintech",
  "iat": 1740470400,
  "exp": 1740474000,
  "iss": "mez-api",
  "alg": "EdDSA"
}

Errors

The API returns errors in RFC 7807 Problem Details format. Every error response includes a machine-readable type URI, a human-readable title, the HTTP status code, and a detail string with context.

HTTP Status Codes

400 Bad Request
Malformed JSON, missing required fields, invalid field values.
401 Unauthorized
Missing or expired Bearer token.
403 Forbidden
Token lacks required scope or role for this endpoint.
404 Not Found
Resource does not exist or is not visible to this token.
422 Unprocessable Entity
Valid JSON but failed business rules. Compliance check failure, invalid state transition.
409 Conflict
State conflict. Invalid entity transition, corridor already active, duplicate operation.
429 Rate Limited
Rate limit exceeded. Back off and retry with exponential delay.
500 Internal Server Error
Server-side failure. Includes a request ID for debugging. Internal source locations are redacted.
501 Not Implemented
Phase 2 feature. Endpoint exists in the specification but execution is not yet available.
502 Upstream Error
Mass API service returned an error. Source details are never exposed to the client.
503 Service Unavailable
Required dependency not configured or temporarily unreachable.
Error response (RFC 7807)
json
HTTP/1.1 422 Unprocessable Entity
content-type: application/problem+json

{
  "type": "https://mez.network/errors/compliance-failure",
  "title": "Compliance check failed",
  "status": 422,
  "detail": "Entity ent_01HZQ3 failed AML domain check for jurisdiction ae-abudhabi-adgm",
  "instance": "/v1/entities/ent_01HZQ3/compliance/check",
  "request_id": "req_a3f8c1e7"
}
Validation error (400)
json
{
  "type": "https://mez.network/errors/validation",
  "title": "Validation failed",
  "status": 400,
  "detail": "Missing required field: jurisdiction",
  "errors": [
    {
      "field": "jurisdiction",
      "message": "required"
    }
  ]
}

Entities

An Entity represents a legal structure — LLC, corporation, foundation, trust, or cooperative — formed within a zone. Entity creation triggers a 20-domain compliance tensor evaluation, provisions banking rails, and issues a decentralized identifier (DID) with a verifiable credential.

POST /v1/entities

Creates a new entity in the specified zone and jurisdiction. The compliance tensor is evaluated synchronously. Banking rails are provisioned asynchronously.

Body Parameters

zone string required
Zone identifier. e.g. synth-atlantic-fintech
type string required
One of: llc, corporation, foundation, trust, cooperative
jurisdiction string required
Jurisdiction code. e.g. us-de, ae-abudhabi-adgm, sg
name string required
Legal name of the entity.
beneficial_owners array optional
Array of {identity_id, ownership_pct} objects.
GET /v1/entities/{entity_id}

Retrieves a single entity by ID. Returns the full entity object including compliance status, banking rails, and DID.

GET /v1/entities

Lists entities visible to the current token. Supports limit and offset query parameters. Default limit is 20, maximum 100.

PUT /v1/entities/{entity_id}

Updates an entity with compliance orchestration. Name changes, jurisdiction transfers, and type conversions trigger re-evaluation of the full compliance tensor.

POST /v1/entities/{entity_id}/compliance/check

Triggers a cross-jurisdiction compliance evaluation against all 20 domains of the compliance tensor. Returns the tensor state and any failing domains.

POST /v1/entities/{entity_id}/dissolution/initiate

Begins the 10-stage dissolution process. Requires operator role. The entity transitions through wind-down, creditor notification, asset liquidation, and final registry removal.

Create entity
request
$ curl -X POST /v1/entities \
  -H "Authorization: Bearer ..." \
  -d '{
    "zone": "synth-atlantic-fintech",
    "type": "llc",
    "jurisdiction": "us-de",
    "name": "Acme Ventures LLC",
    "beneficial_owners": [
      {
        "identity_id": "id_9x8f7e",
        "ownership_pct": "100"
      }
    ]
  }'
Response 201
response
{
  "entity_id": "ent_01HZQ3...",
  "type": "llc",
  "jurisdiction": "us-de",
  "framework": "DGCL Title 8",
  "status": "active",
  "compliance": {
    "tensor_status": "passed",
    "domains_checked": 20,
    "domains_valid": 20
  },
  "banking": {
    "rails": ["SWIFT", "USDC"],
    "status": "provisioned"
  },
  "identity": {
    "did": "did:mez:ent01hzq3",
    "vc_issued": true
  },
  "created_at": "2026-02-25T10:14:32Z"
}

Ownership

Ownership represents cap tables, share classes, and equity transfers. Every ownership mutation triggers Securities and Corporate domain compliance evaluation, issues a verifiable credential, and updates the entity compliance passport.

POST /v1/ownership/cap-tables

Creates a new cap table for an entity. The cap table is a temporal data structure — every modification is recorded with an effective date, enabling point-in-time queries for any historical state.

Body Parameters

entity_id string required
The entity that owns this cap table.
share_classes array required
Array of {name, authorized_shares, par_value, currency} share class definitions.
GET /v1/ownership/cap-tables/{id}

Retrieves the current cap table state. Supports as_of query parameter for temporal point-in-time queries.

POST /v1/ownership/transfers

Records an ownership transfer between shareholders. Triggers Securities and Corporate compliance evaluation, issues a VC attesting to the transfer, and emits a tax event for capital gains tracking.

Transfer ownership
request
$ curl -X POST /v1/ownership/transfers \
  -H "Authorization: Bearer ..." \
  -d '{
    "entity_id": "ent_01HZQ3...",
    "from_shareholder": "sh_9x8f7e",
    "to_shareholder": "sh_4k2m1n",
    "share_class": "common",
    "quantity": "5000",
    "price_per_share": "12.50",
    "currency": "USD"
  }'
Response 201
response
{
  "transfer_id": "txfr_01HZR7...",
  "entity_id": "ent_01HZQ3...",
  "status": "completed",
  "compliance": {
    "tensor_status": "passed",
    "domains_checked": 20,
    "securities": "Compliant",
    "corporate": "Compliant"
  },
  "tax_event": {
    "type": "capital_gain",
    "amount": "62500.00",
    "currency": "USD"
  },
  "vc_issued": true,
  "passport_digest": "sha256:b4e9c1..."
}

Fiscal

The Fiscal surface manages treasury accounts, payment initiation, tax event recording, and withholding computation across 6 jurisdictions. Every financial write evaluates Banking and Payments compliance domains and updates the entity compliance passport.

POST /v1/fiscal/accounts

Creates a treasury account for an entity. Currency is derived from the zone context. The account is linked to the entity compliance passport and evaluated against Banking domain rules.

Body Parameters

entity_id string required
The owning entity.
account_type string required
One of: operating, escrow, settlement
POST /v1/fiscal/payments

Initiates a payment. Evaluates Payments and AML compliance domains. Sanctions check is performed as a hard pre-flight gate — NonCompliant sanctions result is a legal-requirement rejection with no override.

POST /v1/tax/withhold

Computes jurisdiction-aware withholding tax. Dispatches to rate tables for PK (S153/S149), AE, SG, US, GB, and IN. Returns the applicable rate in basis points, statutory section reference, and filer-status differentials.

GET /v1/tax/events

Queries tax events for an entity. Supports filtering by event type (capital_gain, withholding, distribution) and date range.

POST /v1/tax/events

Records a tax event and computes withholding. Creates an immutable tax event record with jurisdiction-specific rules applied. Returns the computed withholding amount and statutory reference.

GET /v1/tax/events/{id}

Retrieves a specific tax event by ID. Returns the full event record including computed rates, statutory references, and filer/non-filer differentials.

GET /v1/tax/obligations/{entity_id}

Returns outstanding tax obligations for an entity across all jurisdictions. Aggregates withholding amounts, filing deadlines, and compliance status per tax authority.

POST /v1/tax/report

Generates a tax report for authority submission. Produces jurisdiction-specific output formats: FBR XML (Pakistan), IRAS PDF (Singapore), IRS 1042-S (US). Returns report digest and submission receipt.

GET /v1/tax/rules

Lists loaded withholding rules for a jurisdiction. Returns rate tables, statutory section references, effective dates, and filer/non-filer differentials.

Compute withholding
request
$ curl -X POST /v1/tax/withhold \
  -H "Authorization: Bearer ..." \
  -d '{
    "entity_id": "ent_01HZQ3...",
    "tax_id": "1234567-8",
    "tax_id_type": "NTN",
    "jurisdiction": "pk",
    "transaction_type": "services",
    "amount": "500000",
    "currency": "PKR"
  }'
Response 200
response
{
  "jurisdiction": "pk",
  "tax_id": "1234567-8",
  "filer_status": "filer",
  "transaction_type": "services",
  "rate_bps": 800,
  "statutory_section": "S153(1)(b)",
  "withholding_amount": "40000",
  "net_amount": "460000",
  "currency": "PKR",
  "non_filer_rate_bps": 1600,
  "effective_date": "2024-07-01"
}

Identity

The Identity service handles KYC/KYB verification, national ID cross-referencing, and decentralized identifier management. Supports NADRA CNIC verification, FBR NTN tax status checks, and general identity attestation workflows. Each verified identity receives a DID and verifiable credential.

POST /v1/identity/cnic/verify

Verifies a Pakistani CNIC (Computerized National Identity Card) against the NADRA registry. Returns format validation, registry match, and sanctions screening results.

Body Parameters

cnic string required
CNIC number in format XXXXX-XXXXXXX-X
POST /v1/identity/ntn/verify

Verifies a National Tax Number against the FBR IRIS system. Returns tax filing status and compliance classification.

GET /v1/identity/entity/{entity_id}

Returns the full identity record for an entity, including all linked national IDs, verification sources, and the entity DID.

POST /v1/identity/verify

General-purpose identity verification. Routes to the appropriate national adapter based on jurisdiction: NADRA (Pakistan), MyInfo (Singapore), Aadhaar (India), Emirates ID (UAE), DVLA (UK), or SSN/EIN (US). Returns verification result with DID and verifiable credential.

GET /v1/identity/{id}

Retrieves a specific identity verification record by ID. Returns verification history, linked credentials, and compliance status.

GET /v1/identity/status

Returns identity service health status, configured national adapters, and supported jurisdiction list.

Verify CNIC
request
$ curl -X POST /v1/identity/cnic/verify \
  -H "Authorization: Bearer ..." \
  -d '{ "cnic": "35201-1234567-8" }'
Response 200
response
{
  "cnic": "35201-1234567-8",
  "verified": true,
  "source": "NADRA",
  "checks": [
    { "type": "format", "status": "pass" },
    { "type": "registry", "status": "pass" },
    { "type": "sanctions", "status": "clear" }
  ]
}
Entity identity 200
response
{
  "entity_id": "ent_01HZQ3...",
  "verifications": {
    "cnic": {
      "verified": true,
      "source": "NADRA"
    },
    "ntn": {
      "verified": true,
      "source": "FBR IRIS"
    }
  },
  "did": "did:mez:ent01hzq3"
}

Tax

The Tax service records taxable events, computes withholding at source, tracks obligations per entity, and generates authority-ready reports. Withholding rules are jurisdiction-specific: Pakistan uses FBR Income Tax Ordinance rates (filer vs non-filer), ADGM applies 0% corporate tax, Delaware follows IRC withholding schedules. Every payment through the Fiscal primitive automatically creates a tax event.

POST /v1/tax/events

Records a taxable event and computes withholding. The tax pipeline identifies the applicable jurisdiction, looks up withholding rules, computes the amount, and records the obligation. Returns the computed withholding and net amount.

Body Parameters

entity_id string required
The entity incurring the tax event.
event_type string required
One of: payment_received, dividend_distribution, capital_gain, service_fee, rental_income, royalty
amount string required
Gross amount in minor units.
currency string required
ISO 4217 currency code. e.g. PKR, USD, AED
jurisdiction string required
Jurisdiction where the event occurs. Determines which withholding rules apply.
GET /v1/tax/events

Lists tax events with filtering by entity_id, event_type, jurisdiction, and date range. Supports pagination.

GET /v1/tax/events/{id}

Returns a specific tax event including computed withholding, applicable rate, statutory basis, and linked fiscal transaction.

POST /v1/tax/withhold

Dry-run withholding computation. Returns the withholding amount, applicable rate, and statutory reference without recording an event. Use this to preview tax impact before executing a payment.

GET /v1/tax/obligations/{entity_id}

Returns the cumulative tax obligations for an entity. Breaks down by category (income, capital gains, withholding, dividend) with amounts collected, amounts due, and filing status.

POST /v1/tax/report

Generates a tax report formatted for the relevant authority. Pakistan: FBR return format. Delaware: IRC 1099 series. ADGM: economic substance report. The report includes all events, withholdings, and obligations for the specified period.

GET /v1/tax/rules

Lists loaded withholding rules for a jurisdiction. Returns rate tables, filer/non-filer distinctions, thresholds, and the statutory basis for each rule.

Record tax event
request
$ curl -X POST /v1/tax/events \
  -H "Authorization: Bearer ..." \
  -d '{
    "entity_id": "ent_01HZQ3...",
    "event_type": "payment_received",
    "amount": "500000",
    "currency": "PKR",
    "jurisdiction": "pk-sifc"
  }'
Response 201
response
{
  "tax_event_id": "txe_01J8K2...",
  "entity_id": "ent_01HZQ3...",
  "event_type": "payment_received",
  "gross_amount": "500000",
  "withholding": {
    "rate_bps": 800,
    "amount": "40000",
    "filer_status": "filer",
    "statutory_basis": "Income Tax Ordinance 2001, s.153"
  },
  "net_amount": "460000",
  "currency": "PKR",
  "jurisdiction": "pk-sifc"
}
Tax obligations 200
response
{
  "entity_id": "ent_01HZQ3...",
  "jurisdiction": "pk-sifc",
  "period": "2026-Q1",
  "categories": [
    {
      "type": "withholding",
      "collected": "240000",
      "remitted": "200000",
      "due": "40000"
    }
  ],
  "filing_status": "on_time",
  "next_filing_date": "2026-04-15"
}
Withholding rules 200
response
{
  "jurisdiction": "pk-sifc",
  "rules": [
    {
      "event_type": "payment_received",
      "filer_rate_bps": 800,
      "non_filer_rate_bps": 1600,
      "threshold": "25000",
      "statutory_basis": "ITO 2001 s.153"
    },
    {
      "event_type": "dividend_distribution",
      "filer_rate_bps": 1500,
      "non_filer_rate_bps": 3000,
      "threshold": "0",
      "statutory_basis": "ITO 2001 s.150"
    }
  ]
}

Documents & Signing

The templating engine is a first-class part of the API surface. Operations trigger document generation automatically: lawpacks define what documents each operation requires, who signs them, and in what order. The templating engine generates jurisdiction-specific PDFs, orchestrates multi-party e-signatures, and files completed documents with government registrars.

Document Lifecycle

Template selection → field interpolation from lawpack params → PDF generation → signing widget (Docuseal) → signer notification → signature collection → signed document storage (S3) → operation advancement. When all signers sign, the operation engine advances to the next step. If any signer declines, the operation halts with a document.declined event.

POST /v1/signing-requests

Create a signing request. Specify template types, signers with roles, and field values. Returns a submission ID with status awaiting_signatures. The signing widget URL is returned for each signer.

GET /v1/submissions/{id}

Track signing status. Returns per-signer status (awaiting, signed, declined), timestamps, and the signed document download URL (presigned S3, 1-hour expiry).

GET /v1/templates/available

List available document templates for an entity, filtered by operation type and jurisdiction. Returns template groupings, required fields, and signing roles.

Template Groupings

consent
Certificate of Amendment, Special Resolution, Board Resolution. Operations: entity.rename, entity.dissolve.
agreement
Bylaws, Operating Agreement, Shareholder Agreement. Operations: entity.incorporate.
equity_offer
Stock Certificate, Stock Purchase Agreement, 83(b) Election. Operations: ownership.issue_shares.
fundraiser
SAFE, Subscription Agreement. Operations: consent.equity_offer.
invest
Investment Agreement, Capital Call Notice. Operations: ownership.invest.

Signing Roles

officer (president/secretary/CFO), recipient (counterparty), spouse (community property jurisdictions), witness, system (auto-signed). Roles are defined by lawpacks per jurisdiction. Delaware requires an officer signature; ADGM requires an authorized signatory.

Filing Adapters

Completed documents are filed with government registrars through typed filing adapters. Filing lifecycle: SubmittedUnderReviewApproved / Rejected / RequiresCorrection. Each filing receives a registrar tracking number and fee record.

6 registrar adapters
SECP eServices (Pakistan), ADGM-RA, Delaware Division of Corporations, SunBiz (Florida), ACRA (Singapore), Companies House (UK). Filing types: incorporation, amendment, dissolution, annual returns, name reservations.
Create signing request
request
// POST /v1/signing-requests
{
  "entityId": "ent_01HZQ3...",
  "templateTypes": ["MODIFY_COMPANY_NAME"],
  "signers": [{
    "name": "Jane Doe",
    "email": "jane@acme.com",
    "role": "officer"
  }],
  "fields": [
    { "name": "currentName", "value": "Acme Inc" },
    { "name": "newName", "value": "Acme Holdings" },
    { "name": "effectiveDate", "value": "2026-04-01" },
    { "name": "state", "value": "Delaware" }
  ]
}
Submission status 200
response
// GET /v1/submissions/sub_01HZR4...
{
  "id": "sub_01HZR4...",
  "status": "signed",
  "template": "Certificate of Amendment",
  "signers": [{
    "name": "Jane Doe",
    "role": "officer",
    "status": "signed",
    "signed_at": "2026-03-04T15:22:01Z"
  }],
  "document_url": "https://s3.../signed.pdf",
  "filing": {
    "registrar": "Delaware Division of Corporations",
    "status": "Approved",
    "tracking_number": "DE-2026-00847",
    "fee": "$150.00"
  }
}

Governance

Governance extends the consent primitive with cap-table-aware weighted voting, quorum enforcement, proxy delegation, and jurisdictional variance. Resolution types map to corporate law requirements: ordinary (simple majority), special (supermajority, typically 75%), extraordinary, board, and written resolutions.

POST /v1/governance/resolutions

Creates a new resolution. The kernel applies jurisdiction-specific defaults: Delaware (DGCL §216) requires majority of shares for quorum; ADGM uses articles-defined quorum with 75% for special resolutions; Seychelles (IBC Act 2016) permits written resolutions per articles; Singapore (Companies Act §179) requires 2 members for quorum.

POST /v1/governance/resolutions/{id}/votes

Casts a weighted vote. Voting power is computed from cap table: share count × class weight. Proxy votes include the proxy_id of the delegated holder. The tally recomputes automatically after each vote.

GET /v1/governance/resolutions/{id}/tally

Returns the current vote tally: votes for, against, abstentions, total eligible voting power, quorum status, and pass/fail determination against the threshold.

POST /v1/governance/proxies

Registers a proxy delegation. A shareholder delegates voting authority to a proxy holder, optionally with voting instructions and an expiration date. Delegations can be scoped to a specific resolution or apply entity-wide.

GET /v1/governance/jurisdictions/{code}/defaults

Returns jurisdiction-specific governance defaults: quorum requirements and approval thresholds for ordinary and special resolutions.

Create resolution
request
$ curl -X POST /v1/governance/resolutions \
  -H "Authorization: Bearer ..." \
  -d '{
    "entity_id": "ent_01HZQ3...",
    "resolution_type": "special",
    "subject": "Approve name change",
    "jurisdiction": "ae-abudhabi-adgm"
  }'
Response 201
response
{
  "id": "res_01J4K7...",
  "resolution_type": "special",
  "status": "draft",
  "quorum": {
    "min_percentage": 50,
    "quorum_basis": "share_count"
  },
  "threshold": {
    "numerator": 3,
    "denominator": 4
  },
  "jurisdiction": "ae-abudhabi-adgm"
}
Cast weighted vote
request
$ curl -X POST /v1/governance/resolutions/res_01J4K7.../votes \
  -d '{
    "voter_id": "id_9x8f7e",
    "approve": true,
    "voting_power": 15000
  }'

Licensing

Government licensing and permit management across jurisdictions. Business licenses, building permits, professional certifications, VASP registrations, and trade permits flow through a unified adapter interface. Each jurisdiction’s licensing authority connects through the service bus.

POST /v1/licensing/applications

Submits a license application with supporting documents. The compliance tensor evaluates the application before routing to the jurisdiction’s licensing authority. Supporting documents are referenced by ID from the templating engine.

GET /v1/licensing/entities/{entity_id}/licenses

Lists all licenses for an entity. Filter by category (business_license, building_permit, vasp_license, professional_license, trade_permit, financial_services_license) and status (applied, under_review, active, suspended, expired, rejected).

POST /v1/licensing/licenses/{id}/renew

Renews an existing license. The licensepack tracks renewal dates and triggers compliance warnings before expiration.

GET /v1/licensing/licenses/{id}/verify

Verifies whether a license is valid and active. Returns a boolean determination suitable for real-time compliance checks by corridor peers and government operators.

GET /v1/licensing/jurisdictions/{code}/categories

Lists available license categories for a jurisdiction. Seychelles: IBC, CSP, VASP, trade. ADGM: FSRA, commercial, professional. Singapore: MAS, BCA, ACRA. This is the API that answers: “What licenses can I issue through the platform?”

Apply for building permit
request
$ curl -X POST /v1/licensing/applications \
  -H "Authorization: Bearer ..." \
  -d '{
    "entity_id": "ent_01HZQ3...",
    "category": "building_permit",
    "jurisdiction": "sc",
    "supporting_documents": ["doc_a1..."],
    "application_data": {
      "building_type": "commercial",
      "floor_area_sqm": 500,
      "location": "Victoria, Mahe"
    }
  }'
Response 201
response
{
  "license_id": "lic_01J5M2...",
  "category": "building_permit",
  "status": "applied",
  "jurisdiction": "sc",
  "issuing_authority": "Planning Authority"
}

Notifications

The notification adapter dispatches email, SMS, and webhook notifications as part of the orchestration pipeline. Signing requests, compliance alerts, filing deadlines, and governance votes trigger notifications automatically. Webhook handlers receive callbacks from external services (DocuSeal signing completions, payment confirmations, registrar filing updates).

POST /v1/notifications/send

Dispatches a notification. Channel priority: email (always), SMS (time-sensitive: signing deadlines, compliance alerts), webhook (system-to-system). Notification types: signing_request, document_signed, entity_formed, compliance_alert, consent_required, renewal_reminder, filing_deadline, payment_confirmation.

GET /v1/notifications/messages/{id}

Checks delivery status: queued, sent, delivered, failed, bounced.

POST /v1/notifications/webhooks

Registers a webhook endpoint. External services (DocuSeal, payment gateways, government registrars) send event callbacks through registered webhooks. Webhook payloads are verified against a signing secret before processing.

GET /v1/notifications/webhooks

Lists registered webhook endpoints and their event subscriptions.

Send signing notification
request
$ curl -X POST /v1/notifications/send \
  -H "Authorization: Bearer ..." \
  -d '{
    "notification_type": "signing_request",
    "channel": "email",
    "recipient": "officer@acme.sc",
    "subject": "Signing required: Certificate of Amendment",
    "body": "Please sign the attached document.",
    "entity_id": "ent_01HZQ3...",
    "reference_id": "sub_01J3K2..."
  }'
Register webhook
request
$ curl -X POST /v1/notifications/webhooks \
  -d '{
    "source": "docuseal",
    "url": "https://zone.gov.sc/hooks/signing",
    "events": ["document.signed", "document.declined"]
  }'

Packs

The Pack Trilogy is the configuration layer that makes the kernel jurisdiction-aware. Three pack types define the rules, regulatory state, and license lifecycle for every zone. Governments define rules in packs; the kernel executes them.

Lawpack

Compiles legislative statutes into machine-readable operation step DAGs. Each lawpack pins to a jurisdiction and domain, is content-addressed via SHA-256, and defines what steps an operation requires, what documents are generated, who signs, what fees apply, and which registrar receives the filing. A lawpack for entity.rename in Delaware produces different steps than in ADGM: different documents (Certificate of Amendment vs Special Resolution), different signers (officer vs authorized_signatory), different fees ($150 vs $100), different registrar filings.

Regpack

Captures dynamic regulatory state that changes independently of legislation. Sanctions lists (OFAC, UN, EU, UK), license registries, reporting deadlines, enforcement priorities. The regpack feeds the compliance tensor. A regpack update (new OFAC sanctions entry) immediately affects the compliance tensor for all entities in all zones. Regpacks are versioned and hash-chained for audit.

Licensepack

Manages business license lifecycle across 15+ categories: business licenses, professional certifications, regulatory authorizations (CSP, EMI, CASP, custody, token issuer, exchange, fund admin, trust company). Tracks issuance dates, renewal deadlines, and compliance warnings. For Pakistan: SECP registration, SBP authorization, FBR NTN, PSEB registration, and 11 additional categories.

Lawpack: entity.rename (Delaware)
lawpack
# entity.rename — Delaware (DGCL Title 8)
operation: "entity.rename"
jurisdiction: "us-de"
sha256: "a3f8c2..."

steps:
  - name_check:
      target: "Division of Corporations"
  - document:
      template_grouping: "consent"
      templates: ["Certificate of Amendment"]
      signers: [{ role: "officer" }]
  - filing:
      registrar: "de-div-corps"
      fee: 150
      type: "amendment"
  - entity_update:
      depends: ["filing"]
Lawpack: entity.rename (ADGM)
lawpack
# entity.rename — ADGM (Companies Reg 2020)
operation: "entity.rename"
jurisdiction: "ae-abudhabi-adgm"
sha256: "7b2e91..."

steps:
  - name_check:
      target: "ADGM Registration Authority"
  - consent:
      type: "special_resolution"
      quorum: "shareholder_75_pct"
  - document:
      template_grouping: "consent"
      templates: ["Special Resolution"]
      signers: [{ role: "authorized_signatory" }]
  - filing:
      registrar: "adgm-ra"
      fee: 100
      type: "amendment"
  - entity_update:
      depends: ["filing"]

Smart Assets

A Smart Asset is a content-addressed financial instrument — equity, debt, fund unit, or real estate token — that carries its compliance state as a tensor. Assets are created with a genesis event, bound to a home harbor (jurisdiction), and can migrate across corridors while maintaining continuous compliance.

POST /v1/assets/genesis

Creates a new Smart Asset. The genesis event is content-addressed: the asset_id is the SHA-256 digest of the canonical genesis payload. This makes the asset ID deterministic and verifiable.

Body Parameters

asset_name string required
Human-readable name for the asset.
asset_class string required
One of: equity, debt, fund_unit, real_estate, commodity
home_harbor_id string required
Jurisdiction where the asset is domiciled. e.g. ae-abudhabi-adgm
metadata object optional
Extensible metadata: denomination, total_supply, issuer details.
POST /v1/assets/{asset_id}/compliance/evaluate

Evaluates the compliance tensor across one or more target jurisdictions. Returns per-jurisdiction binding status, allowed/denied determination, reasons, and missing attestations.

POST /v1/assets/{asset_id}/migration/propose

Proposes a cross-jurisdiction migration. The asset moves through an 8-phase saga: pre-flight check, source lock, exit attestation, corridor transit, entry attestation, target registration, source deregistration, and finalization. Returns a migration ID and corridor receipt.

POST /v1/assets/registry

Submits a Smart Asset registry verifiable credential. Binds the asset to a jurisdiction registry and issues a W3C VC attesting registration.

GET /v1/assets/{asset_id}

Returns the current view of a Smart Asset: genesis metadata, compliance tensor, home harbor, migration history, and all linked attestations and checkpoints.

POST /v1/assets/{asset_id}/attestations

Submits an attestation for an asset. Attestations are signed evidence documents (compliance evaluations, watcher signatures, registry confirmations) appended to the asset’s attestation chain.

POST /v1/assets/{asset_id}/checkpoint

Creates a state checkpoint for an asset. Captures the current compliance tensor, home harbor, ownership, and valuation as a content-addressed snapshot.

POST /v1/assets/{asset_id}/anchors/corridor/verify

Verifies corridor anchoring evidence for an asset checkpoint. Confirms that the corridor receipt chain supports the claimed asset state transition.

Create genesis
request
$ curl -X POST /v1/assets/genesis \
  -H "Authorization: Bearer ..." \
  -d '{
    "asset_name": "Series A Preferred",
    "asset_class": "equity",
    "home_harbor_id": "ae-abudhabi-adgm",
    "metadata": {
      "denomination": "USD",
      "total_supply": "1000000"
    }
  }'
Response 201
response
{
  "asset_id": "sha256:7a3f9b2e...",
  "stack_spec_version": "0.4.44",
  "asset_name": "Series A Preferred",
  "asset_class": "equity",
  "home_harbor_id": "ae-abudhabi-adgm",
  "genesis_digest": "sha256:7a3f9b2e...",
  "created_at": "2026-02-25T10:14:32Z"
}
Migration response 202
response
{
  "migration_id": "mig_01HZR4...",
  "asset_id": "sha256:7a3f9b2e...",
  "source": "ae-abudhabi-adgm",
  "target": "sg",
  "status": "pending_compliance",
  "corridor_receipt": "cr_e1c5f8...",
  "phases": [
    "preflight", "source_lock",
    "exit_attestation", "corridor_transit",
    "entry_attestation", "target_registration",
    "source_deregistration", "finalization"
  ]
}

Corridors

A Corridor is a bilateral compliance bridge between two jurisdictions. Corridors maintain a cryptographic hash chain of receipts using SHA-256 and Merkle Mountain Ranges (MMR). Every asset transfer, state transition, or settlement that crosses jurisdictions produces a corridor receipt appended to this chain.

POST /v1/corridors

Creates a new corridor between two jurisdictions. Initial state is DRAFT. Transitions through PENDING and ACTIVE require evidence gates (bilateral agreements, watcher bonds).

Body Parameters

jurisdiction_a string required
First jurisdiction code.
jurisdiction_b string required
Second jurisdiction code.
PUT /v1/corridors/{id}/transition

Advances the corridor state machine. Valid transitions: DRAFT → PENDING → ACTIVE, with HALTED and SUSPENDED branches. Each transition requires evidence matching the gate specification.

POST /v1/corridors/state/propose

Submits a new receipt to the corridor hash chain. The receipt links prev_root to next_root via the payload digest. The MMR root is updated and the chain height increments. Receipts are content-addressed and independently verifiable.

GET /v1/corridors

Lists corridors with pagination. Supports limit, offset, and state query parameters. Returns corridor metadata, current state, and chain height.

GET /v1/corridors/{id}

Retrieves a single corridor by ID. Returns the full corridor object including state machine position, hash chain root, watcher bonds, and bilateral agreement status.

POST /v1/corridors/state/fork-resolve

Resolves a fork between two competing receipt branches. Selects the canonical branch using watcher attestation quorum and updates the MMR root.

POST /v1/corridors/state/anchor

Anchors a corridor commitment to L1 (Phase 2). Posts the MMR root and chain height as an on-chain attestation.

POST /v1/corridors/state/finality-status

Computes finality status for a corridor commitment (Phase 2). Returns confirmation depth, anchor hash, and finality determination.

Corridor Peers

The peer protocol handles inter-zone communication for corridor proposals, acceptance, receipt exchange, and watcher attestation propagation.

GET /v1/corridors/peers

Lists all known corridor peers. Returns zone IDs, connection status, and last-seen timestamps.

GET /v1/corridors/peers/{zone_id}

Retrieves a specific peer by zone ID. Returns peer metadata, supported corridor types, and attestation history.

POST /v1/corridors/peers/propose

Receives a corridor proposal from a peer zone. Validates the proposal against local policy, evaluates compliance requirements, and returns acceptance or rejection.

POST /v1/corridors/peers/accept

Receives corridor acceptance from a peer zone. Transitions the corridor from DRAFT to PENDING and initiates watcher bond collection.

POST /v1/corridors/peers/receipts

Receives an inbound receipt from a peer zone. Validates the receipt chain linkage, verifies the MMR proof, and appends to the local chain.

POST /v1/corridors/peers/attestations

Receives a watcher attestation from a peer zone. Verifies the Ed25519 signature, checks the watcher bond, and updates the corridor’s attestation quorum.

Create corridor
request
$ curl -X POST /v1/corridors \
  -H "Authorization: Bearer ..." \
  -d '{
    "jurisdiction_a": "us-de",
    "jurisdiction_b": "ae-abudhabi-adgm"
  }'
Response 201
response
{
  "id": "cor_01HZQ5...",
  "jurisdiction_a": "us-de",
  "jurisdiction_b": "ae-abudhabi-adgm",
  "state": "DRAFT",
  "hash_chain": {
    "height": 0,
    "mmr_root": "sha256:0000..."
  },
  "created_at": "2026-02-25T10:14:32Z"
}
Submit receipt 201
response
{
  "sequence": 0,
  "prev_root": "sha256:0000...",
  "next_root": "sha256:a4f8...",
  "mmr_root": "sha256:c6f3...",
  "chain_height": 1,
  "timestamp": "2026-02-25T10:15:44Z"
}
State machine

Compliance

The Compliance surface exposes the 20-domain compliance tensor, entity passports with tamper-evident hash chains, bilateral passport exchange outcomes, and decision proof materialization. Every write in the system feeds into this compliance state.

GET /v1/compliance/domains

Lists all 20 compliance domains with their descriptions and jurisdiction-specific rule metadata. Domains include AML, KYC, Sanctions, Tax, Securities, Corporate, Custody, DataPrivacy, Licensing, Banking, Payments, Clearing, Settlement, DigitalAssets, Employment, Immigration, IP, ConsumerProtection, Arbitration, and Trade.

GET /v1/compliance/entity/{entity_id}/passport

Returns the entity compliance passport — a materialized view of the entity's compliance state with a tamper-evident SHA-256 hash chain. Each evaluation extends the chain with prev_digest = SHA-256(previous_passport).

GET /v1/compliance/entity/{entity_id}/passport/integrity

Verifies the structural integrity of an entity's compliance passport hash chain. Checks genesis correctness, chain invariant, terminal state consistency, and prev_digest format validation.

GET /v1/compliance/mutation-journal/integrity

Verifies the mutation journal hash chain. Walks the in-memory chain recomputing event_hash via canonical bytes and verifying previous_hash linkage. Returns total entries, valid entries, and any chain violations.

POST /v1/compliance/passport/exchange

Bilateral passport exchange between two entities. Computes mutual compliance across shared domains, produces a bilateral outcome, and materializes a decision proof as a verifiable credential.

Entity passport
response
// GET /v1/compliance/entity/ent_01HZQ3.../passport
{
  "entity_id": "ent_01HZQ3...",
  "overall_status": "Compliant",
  "evaluation_count": 14,
  "prev_digest": "sha256:a1b2c3d4e5f6...",
  "domain_results": {
    "aml": "Compliant",
    "kyc": "Compliant",
    "sanctions": "Compliant",
    "tax": "Compliant",
    "securities": "Compliant",
    "corporate": "Compliant",
    "custody": "Compliant",
    "data_privacy": "Compliant",
    "licensing": "Compliant",
    "banking": "Compliant",
    "payments": "Pending",
    "clearing": "NotApplicable",
    "settlement": "NotApplicable",
    "digital_assets": "NotApplicable",
    "employment": "Compliant",
    "immigration": "NotApplicable",
    "ip": "NotApplicable",
    "consumer_protection": "NotApplicable",
    "arbitration": "Compliant",
    "trade": "NotApplicable"
  },
  "updated_at": "2026-02-25T11:42:18Z"
}
Chain integrity 200
response
{
  "entity_id": "ent_01HZQ3...",
  "evaluation_count": 14,
  "chain_intact": true,
  "violations": [],
  "current_digest": "sha256:f8e7d6c5...",
  "journal_entries_for_entity": 23
}

Trade

Trade flows model cross-border commercial transactions across four archetypes: Letter of Credit, Open Account, Documentary Collection, and Structured Payment. Each flow progresses through a jurisdiction-aware state machine with compliance gates at every transition.

POST /v1/trade/flows

Creates a new trade flow. The archetype determines the state machine: Letter of Credit flows require document presentation and bank confirmation; Open Account flows track invoice lifecycle and payment terms.

Body Parameters

archetype string required
One of: letter_of_credit, open_account, documentary_collection, structured_payment
exporter_entity_id string required
Entity ID of the exporting party.
importer_entity_id string required
Entity ID of the importing party.
amount string required
Trade value as a decimal string.
GET /v1/trade/flows/{flow_id}

Returns the trade flow including current state, transition history, and compliance evaluation results at each gate.

POST /v1/trade/flows/{flow_id}/transitions

Submits a state transition. Valid transitions are enforced by the archetype state machine. Each transition triggers compliance evaluation against Trade, AML, Sanctions, and jurisdiction-specific export control domains.

POST /v1/trade/flows/{flow_id}/documents

Attaches a trade document to a flow. Document types: bill_of_lading, commercial_invoice, certificate_of_origin, packing_list, insurance_certificate. Documents are content-addressed and linked to the flow’s compliance chain.

GET /v1/trade/flows

Lists trade flows with filtering by archetype, state, exporter, importer, and date range. Supports pagination via limit and offset.

POST /v1/trade/flows/{flow_id}/screening

Runs export control screening against EAR/ITAR (US), dual-use regulations (EU), and jurisdiction-specific restricted goods lists. Returns screening result, matched control lists, and required licenses.

Create trade flow
request
$ curl -X POST /v1/trade/flows \
  -H "Authorization: Bearer ..." \
  -d '{
    "archetype": "letter_of_credit",
    "exporter_entity_id": "ent_01HZQ3...",
    "importer_entity_id": "ent_02JKR8...",
    "amount": "2500000.00",
    "currency": "USD",
    "goods_description": "Textile machinery",
    "origin_jurisdiction": "pk",
    "destination_jurisdiction": "ae"
  }'
Response 201
response
{
  "flow_id": "tfl_01HZS2...",
  "archetype": "letter_of_credit",
  "state": "initiated",
  "exporter": "ent_01HZQ3...",
  "importer": "ent_02JKR8...",
  "amount": "2500000.00",
  "currency": "USD",
  "compliance": {
    "trade": "Compliant",
    "aml": "Compliant",
    "sanctions": "Compliant",
    "export_control": "Compliant"
  },
  "valid_transitions": [
    "document_presented",
    "cancelled"
  ],
  "created_at": "2026-02-25T10:14:32Z"
}

Credentials

Every write operation in the system produces a W3C Verifiable Credential signed with Ed25519. The Credentials surface allows verification of any VC issued by any zone in the network.

POST /v1/credentials/verify

Verifies a Verifiable Credential's Ed25519 signature and validates the embedded claims against the issuing zone's public key. Returns the verification result, the decoded credential subject, and any chain-of-custody metadata.

Body Parameters

credential string required
The full VC JSON object or compact JWT string.
POST /v1/assets/{id}/credentials/compliance

Issues a compliance credential for a Smart Asset. The VC attests to the asset's current compliance tensor evaluation and is signed by the issuing zone's Ed25519 key.

Verify credential
request
$ curl -X POST /v1/credentials/verify \
  -H "Authorization: Bearer ..." \
  -d '{
    "credential": {
      "@context": ["https://www.w3.org/2018/credentials/v1"],
      "type": ["VerifiableCredential", "MezComplianceAttestation"],
      "issuer": "did:mez:zone:synth-atlantic",
      "credentialSubject": {
        "entity_id": "ent_01HZQ3...",
        "tensor_status": "passed"
      },
      "proof": {
        "type": "Ed25519Signature2020",
        "verificationMethod": "did:mez:zone:synth-atlantic#key-1",
        "proofValue": "z3FXp1PJ8..."
      }
    }
  }'
Response 200
response
{
  "verified": true,
  "issuer": "did:mez:zone:synth-atlantic",
  "credential_type": "MezComplianceAttestation",
  "subject": {
    "entity_id": "ent_01HZQ3...",
    "tensor_status": "passed"
  },
  "signature_algorithm": "Ed25519",
  "issued_at": "2026-02-25T10:14:32Z"
}

Settlement

The Settlement service handles multilateral netting and cross-corridor routing. Netting computes optimal net positions from a set of bilateral obligations, reducing the number of settlement legs. Routing finds the lowest-cost path between two zones using Dijkstra over the corridor graph.

POST /v1/corridors/{id}/settlement/compute

Computes multilateral netting across a set of obligations within a corridor. Returns the netting reduction percentage, net positions per party, and the minimum set of settlement legs.

Body Parameters

corridor_id string required
The corridor to settle within.
obligations array required
Array of {from, to, amount, currency} objects.
POST /v1/corridors/route

Finds the optimal route between two zones. Uses Dijkstra over the corridor graph weighted by compliance cost, latency, and fee. Returns the hop sequence, estimated total fee, and estimated transit time.

POST /v1/corridors/{id}/settlement/instruct

Generates ISO 20022 pacs.008 payment instructions from the netting result. Produces SWIFT-compatible XML messages with corridor receipt references for cross-border settlement.

Compute netting
request
$ curl -X POST /v1/corridors/{id}/settlement/compute \
  -H "Authorization: Bearer ..." \
  -d '{
    "corridor_id": "cor_01HZQ5...",
    "obligations": [
      { "from": "ent_A", "to": "ent_B", "amount": "100000", "currency": "USD" },
      { "from": "ent_B", "to": "ent_A", "amount": "75000", "currency": "USD" }
    ]
  }'
Response 200
response
{
  "netting_reduction": "75.00%",
  "net_positions": [
    {
      "party": "ent_A",
      "net_amount": "25000"
    }
  ],
  "settlement_legs": [
    {
      "from_party": "ent_A",
      "to_party": "ent_B",
      "amount": "25000",
      "currency": "USD"
    }
  ]
}
Find route 200
response
{
  "route": [
    "us-de",
    "ae-abudhabi-adgm",
    "sg"
  ],
  "hops": 2,
  "estimated_fee": "1250.00",
  "estimated_time_ms": 8400
}

Watchers

Watchers are bonded observer nodes that attest to corridor state. The watcher economy enforces honest attestation through a bond/slash mechanism: watchers post collateral to activate, earn attestation credit for honest observation, and face slashing for equivocation, false attestation, availability failure, or collusion. Four slashing conditions with severity ranging from 1% (availability) to 100% + permanent ban (collusion).

POST /v1/watchers

Registers a new watcher node. Initial state is Registered. The watcher must post a bond and activate before it can attest to corridor state.

Body Parameters

corridor_ids array required
Corridors this watcher will monitor.
public_key string required
Ed25519 public key for attestation signing.
POST /v1/watchers/{id}/bond

Posts collateral bond. Transitions the watcher from Registered to Bonded. Bond amount must be positive. The watcher can then activate for corridor monitoring.

POST /v1/watchers/{id}/activate

Activates a bonded watcher. Transitions from Bonded to Active. The watcher begins monitoring corridor state and can submit attestations.

POST /v1/watchers/{id}/attest

Records a successful attestation. Increments the watcher's attestation count. Only valid in Active state.

POST /v1/watchers/{id}/slash

Slashes a watcher for protocol violation. Four conditions: Equivocation (100%), FalseAttestation (50%), AvailabilityFailure (1%), Collusion (100% + permanent ban). Transitions from Active to Slashed or Banned.

POST /v1/watchers/{id}/unbond

Begins voluntary unbonding. Transitions from Active to Unbonding. After cooldown, complete with /complete-unbond to reach terminal Deactivated state and reclaim collateral.

Register and bond
request
$ curl -X POST /v1/watchers \
  -H "Authorization: Bearer ..." \
  -d '{
    "corridor_ids": ["cor_01HZQ5..."],
    "public_key": "z6MkWATCH..."
  }'
Response 201
response
{
  "watcher_id": "wtc_01HZS8...",
  "state": "Registered",
  "bonded_stake": 0,
  "attestation_count": 0,
  "corridors": ["cor_01HZQ5..."]
}
Slash for equivocation 200
response
// POST /v1/watchers/wtc_01HZS8.../slash
// {"condition": "Equivocation"}
{
  "watcher_id": "wtc_01HZS8...",
  "state": "Slashed",
  "condition": "Equivocation",
  "slash_percentage": 100,
  "slashed_amount": "50000",
  "remaining_stake": "0",
  "slash_count": 1
}
Watcher lifecycle
state machine
Registered ─bond()──▶ Bonded ─activate()──▶ Active

                                    ┌─────────┴─────────┐
                                 slash()           unbond()
                                    │                  │
                                    ▼                  ▼
                                 Slashed          Unbonding
                                    │                  │
                                 rebond()      complete_unbond()
                                    │                  │
                                    └──▶ Bonded        ▼
                                              Deactivated

Collusion slash ──▶ Banned (permanent)

Arbitration

The Arbitration service manages cross-border dispute resolution through a 7-phase lifecycle with typed evidence gates at every transition. Supports 8 dispute types (breach of contract, payment default, delivery failure, force majeure, and more) and integrates with institutional registries including DIFC-LCIA, SIAC, ICC, AIFC-IAC, and Pakistan-specific institutions (ATIR, ADR Centre, KCDR).

POST /v1/disputes

Files a new dispute. Requires claimant and respondent DIDs, dispute type, jurisdiction, and claims with optional monetary amounts. Initial state is Filed. Every state transition produces a TransitionRecord with content-addressed evidence digest.

Body Parameters

dispute_type string required
One of: BreachOfContract, NonConformingGoods, PaymentDefault, DeliveryFailure, QualityDefect, DocumentaryDiscrepancy, ForceMajeure, FraudulentMisrepresentation
claimant object required
{did, legal_name, jurisdiction_id} — DID-identified filing party.
respondent object required
{did, legal_name, jurisdiction_id} — DID-identified responding party.
institution_id string required
Arbitration institution. e.g. difc-lcia, siac, icc, pak-kcdr
POST /v1/disputes/{id}/begin-review

Transitions FiledUnderReview. Requires ReviewInitiationEvidence with case reference and institution acknowledgment digest.

POST /v1/disputes/{id}/open-evidence

Transitions UnderReviewEvidenceCollection. Opens the evidence collection phase with a procedural order and deadline.

POST /v1/disputes/{id}/schedule-hearing

Transitions EvidenceCollectionHearing. Requires hearing date and tribunal composition digest.

POST /v1/disputes/{id}/decide

Transitions HearingDecided. Records the tribunal ruling with a content-addressed ruling digest. The ruling can then be enforced.

POST /v1/disputes/{id}/settle

Transitions any pre-decision state to Settled (terminal). Requires settlement agreement digest and consent from both parties.

File dispute
request
$ curl -X POST /v1/disputes \
  -H "Authorization: Bearer ..." \
  -d '{
    "dispute_type": "PaymentDefault",
    "claimant": {
      "did": "did:mez:ent01hzq3",
      "legal_name": "Acme Ventures LLC"
    },
    "respondent": {
      "did": "did:mez:ent02jkr8",
      "legal_name": "Gulf Trading FZE"
    },
    "institution_id": "difc-lcia",
    "claims": [{
      "claim_type": "PaymentDefault",
      "description": "Non-payment under LC",
      "amount": {
        "amount": "2500000",
        "currency": "USD"
      }
    }]
  }'
Response 201
response
{
  "dispute_id": "dsp_01HZT4...",
  "state": "Filed",
  "dispute_type": "PaymentDefault",
  "institution": "difc-lcia",
  "claims": [{
    "claim_id": "clm_01HZT4...",
    "amount": {
      "amount": "2500000",
      "currency": "USD"
    }
  }],
  "transition_log": [{
    "to_state": "Filed",
    "timestamp": "2026-02-25T14:22:07Z",
    "evidence_digest": "sha256:e4f7a1..."
  }],
  "valid_transitions": [
    "begin-review",
    "settle",
    "dismiss"
  ]
}
Dispute lifecycle
state machine
Filed ──▶ UnderReview ──▶ EvidenceCollection
  │           │                    │
  ├─settle    ├─settle    schedule-hearing
  └─dismiss   └─dismiss             │

                                 Hearing

                          ┌────────┴────────┐
                       settle              decide
                          │                  │
                       Settled            Decided

                                          enforce

                                          Enforced

                                           close

                                           Closed

Policy Engine

The Agentic Policy Engine evaluates environmental triggers against registered policies and produces scheduled actions. Twenty trigger types across six categories: regulatory environment, arbitration lifecycle, corridor activity, asset lifecycle, fiscal events, and entity/migration events. Deterministic conflict resolution guarantees identical outcomes across all nodes — higher priority wins, then jurisdiction specificity, then lexicographic policy ID as tiebreaker.

POST /v1/triggers

Submits an environmental trigger for policy evaluation. The engine evaluates all registered policies against the trigger, resolves conflicts deterministically, and returns matching policies and their scheduled actions.

Body Parameters

trigger_type string required
One of 20 types. e.g. SanctionsListUpdate, DisputeFiled, CorridorStateChange, TaxYearEnd, MigrationDeadline
data object required
Event-specific payload. Conditions evaluate fields via dot-notation (e.g. match.score).
GET /v1/policies

Lists all registered policies sorted by priority. Each policy defines a trigger type, optional condition predicate, action, authorization requirement (Automatic, Quorum, Unanimous, Governance), and jurisdiction scope.

DELETE /v1/policies/{id}

Unregisters a policy. Future triggers of this type will no longer be evaluated against this policy. Existing scheduled actions are not affected.

GET /v1/scheduled-actions

Lists scheduled actions awaiting execution. Each action has a status (Pending, Executing, Completed, Failed, Cancelled), deadline, retry count, and authorization gate.

Submit trigger
request
$ curl -X POST /v1/triggers \
  -H "Authorization: Bearer ..." \
  -d '{
    "trigger_type": "SanctionsListUpdate",
    "data": {
      "list_source": "OFAC",
      "affected_parties": ["self"],
      "match": {
        "score": 98,
        "entity_name": "Acme Ventures LLC"
      }
    }
  }'
Response 200
response
{
  "evaluations": [{
    "policy_id": "sanctions_auto_halt",
    "matched": true,
    "action": "Halt",
    "authorization": "Automatic",
    "priority": 100
  }],
  "scheduled_actions": [{
    "action_id": "act_01HZU2...",
    "action": "Halt",
    "policy_id": "sanctions_auto_halt",
    "status": "Pending",
    "authorization": "Automatic",
    "retries_remaining": 3
  }]
}
Standard policies
built-in
// 4 standard policies (Definition 17.3)
sanctions_auto_halt    P100  SanctionsListUpdate → Halt
license_expiry_alert  P90   LicenseStatusChange → Halt
ruling_enforcement    P95   RulingReceived → ArbitrationEnforce
key_rotation_required P80   KeyRotationDue → UpdateManifest

// 20 trigger types across 6 categories
Regulatory:  SanctionsListUpdate, LicenseStatusChange,
             GuidanceUpdate, ComplianceDeadline
Arbitration: DisputeFiled, RulingReceived,
             AppealPeriodExpired, EnforcementDue
Corridor:    CorridorStateChange, SettlementAnchorAvailable,
             WatcherQuorumReached
Asset:       CheckpointDue, KeyRotationDue,
             GovernanceVoteResolved
Fiscal:      TaxYearEnd, WithholdingDue
Entity:      EntityDissolution, PackUpdated,
             AssetTransferInitiated, MigrationDeadline

Operations

The Operation Engine is the kernel’s instruction decoder. It reads lawpack YAML definitions and decomposes high-level business intents into jurisdiction-specific step DAGs. Each step flows through the compliance pipeline: pre-flight tensor, sanctions hard-block, service execution, evidence storage, VC issuance, passport update.

Three Control Levels

Level 1: Autonomous execute
Call execute_operation once. The engine handles all steps, async events, and compensation. Returns an operation_id for monitoring.
Level 2: Planned plan
Call plan_operation to preview the step DAG. Advance each step manually with advance_operation_step. Deliver async events with deliver_operation_event.
Level 3: Direct bypass
Bypass the engine entirely. Call primitive endpoints directly (POST /v1/entities, etc.). For troubleshooting and custom workflows.
POST /v1/operations

Creates and begins executing a multi-step operation (Level 1). The engine builds a dependency DAG from the lawpack definition, topologically sorts steps, and drives all ready steps to completion. Supports compensation on failure and async event delivery.

Body Parameters

operation string required
Operation identifier. e.g. entity.incorporate, entity.rename, fiscal.open_account
jurisdiction string required
Jurisdiction code. Determines which lawpack variant is loaded (falls back to _default.yaml).
params object required
Operation parameters. Validated against the lawpack’s parameter schema. Referenced in step templates as {params.field}.
POST /v1/operations/plan

Dry-run (Level 2): builds and returns the full step DAG without executing. Shows dependency graph, topological order, interpolated parameters, async steps, ready steps, compensation coverage, and estimated fees.

GET /v1/operations/{id}

Returns the operation state including overall status, per-step status (Pending, Ready, Executing, Waiting, Completed, Failed), step results, compliance evaluations, attestation IDs, and timing.

POST /v1/operations/{id}/advance

Advances the next ready step in the DAG (Level 2). A step is ready when all dependencies are satisfied. Each advancement flows through the full compliance pipeline. Returns the step result and updated operation state.

POST /v1/operations/{id}/events

Delivers an async event to a waiting step. Operations span time — board votes take hours, state filings take weeks. When external processes complete, this endpoint advances waiting steps. Event types: consent.approved, document.signed, filing.accepted, verification.completed.

GET /v1/operations/types

Lists all operation types available in the zone with jurisdiction coverage. Returns operation families and the jurisdictions each supports.

GET /v1/operations/requirements

Returns jurisdiction-specific requirements for an operation type: step DAG, required parameters with validation, consent requirements, filing requirements (fees, authorities, timelines), and compliance domains.

GET /v1/operations/compare

Compares how an operation differs across jurisdictions. For each jurisdiction: step count, filing authorities, forms, fees, required documents, consents, compliance domains. The intelligence surface for jurisdiction selection.

DELETE /v1/operations/{id}

Cancels an in-progress operation. Triggers compensation for completed steps as defined in the lawpack. Status transitions to compensating then compensated.

Execute operation
request
$ curl -X POST /v1/operations \
  -H "Authorization: Bearer ..." \
  -d '{
    "operation": "entity.incorporate",
    "jurisdiction": "pk",
    "params": {
      "entity_name": "Karachi Exports Ltd",
      "entity_type": "private_limited",
      "ntn": "1234567-8"
    }
  }'
Response 201
response
{
  "operation_id": "op_01HZU6...",
  "operation": "entity.incorporate",
  "jurisdiction": "pk",
  "status": "Executing",
  "steps": [
    {
      "name": "create_entity",
      "service": "entity-service",
      "status": "Completed",
      "result": {
        "id": "ent_01HZU6..."
      }
    },
    {
      "name": "register_tax_id",
      "service": "tax-service",
      "status": "Ready",
      "depends_on": ["create_entity"]
    },
    {
      "name": "open_bank_account",
      "service": "fiscal-service",
      "status": "Pending",
      "depends_on": ["register_tax_id"]
    },
    {
      "name": "evaluate_compliance",
      "service": "compliance-service",
      "status": "Pending",
      "depends_on": ["create_entity"]
    }
  ],
  "started_at": "2026-02-25T16:30:44Z"
}

Operation Explorer

Visualize how the kernel decomposes operations into jurisdiction-specific step DAGs. Select an operation and jurisdiction to see the dependency graph, then compare across jurisdictions.

organization treasury identity consent compliance templating ⋯ async boundary

Compare Jurisdictions

See how the same operation differs across jurisdictions — legal basis, step count, required parameters, fees, and compliance domains.

Regulator Console

The Regulator Console provides read-only access for regulatory authorities to inspect zone compliance state, query attestation history, and view aggregate dashboards. All queries are authenticated with regulator-scoped bearer tokens and return data filtered to the regulator's jurisdiction scope.

GET /v1/regulator/summary

Returns the zone-wide compliance summary: total entities, entities by compliance status, domain-level aggregate statistics, and flagged entities requiring attention.

POST /v1/regulator/query/attestations

Queries attestation records with filtering by compliance domain, status, date range, and entity. Returns paginated attestation history for regulatory audit.

GET /v1/regulator/dashboard

Full regulator dashboard view: compliance summary, recent attestation activity, active disputes, watcher health, corridor status, and alerts. Designed for rendering in the GovOS console interface.

GET /v1/compliance/{entity_id}

Per-entity compliance posture. Returns the full 20-domain tensor evaluation, current status per domain, and attestation chain with timestamps and watcher signatures.

Compliance summary
response
// GET /v1/regulator/summary
{
  "zone": "ae-abudhabi-adgm",
  "total_entities": 847,
  "by_status": {
    "Compliant": 812,
    "Pending": 23,
    "NonCompliant": 8,
    "Exempt": 4
  },
  "flagged_entities": 8,
  "active_disputes": 3,
  "watcher_count": 12,
  "corridor_count": 6,
  "attestation_rate_24h": 1247
}
Query attestations 200
response
// POST /v1/regulator/query/attestations
// {"domain": "aml", "status": "NonCompliant"}
{
  "attestations": [{
    "entity_id": "ent_01HZQ3...",
    "domain": "aml",
    "status": "NonCompliant",
    "reason": "SAR filed, pending review",
    "attested_by": "wtc_01HZS8...",
    "timestamp": "2026-02-25T09:14:32Z"
  }],
  "total": 1,
  "page": 1
}

GovOS

The Government Operating System exposes zone-level dashboards for government ministries. Four console surfaces cover tax revenue and collection, free zone operations, citizen services, and the unified government console. Designed for integration with 40+ ministry interfaces across economic zones.

GET /v1/govos/console

Unified government console. Aggregates compliance summary, revenue metrics, entity formation velocity, corridor throughput, and active alerts across all zone subsystems.

GET /v1/govos/tax-revenue

Tax revenue dashboard. Withholding collected, filing compliance rates, revenue by sector, and FBR IRIS integration status. Filterable by date range, entity type, and tax section.

GET /v1/govos/freezone

Free zone operations dashboard. Entity formation pipeline, license issuance, visa processing, and zone-level compliance metrics. Designed for free zone authority control rooms.

GET /v1/govos/citizen

Citizen services dashboard. Identity verification status, benefit disbursement, and public service delivery metrics.

GET /v1/govos/licensing

Licensing and permits dashboard. For zones that build custom licensing systems on Mass APIs: building permits, VASP compliance, professional certifications, regulatory authorizations. 15+ license categories tracked. Renewal dates, compliance warnings, and fee collection. Role: zone_admin.

Console Access

zone_admin
Full dashboard access: entity formation, compliance, revenue, corridors, licensing. Zone authority staff.
regulator
Read-only compliance view: attestation queries, entity posture, flagged entities. Regulatory authority staff.
Government console
response
// GET /v1/govos/console
{
  "zone": "pk-sialkot-sez",
  "entities": {
    "total": 1247,
    "formed_this_month": 89,
    "avg_formation_hours": 14.2
  },
  "revenue": {
    "withholding_collected": "47250000",
    "license_fees": "12800000",
    "currency": "PKR"
  },
  "compliance": {
    "overall_rate": "96.2%",
    "flagged_entities": 12
  },
  "corridors": {
    "active": 4,
    "receipts_24h": 847,
    "settlement_volume": "23400000"
  }
}
Tax revenue 200
response
// GET /v1/govos/tax-revenue
{
  "period": "2026-02",
  "withholding": {
    "S153": "28500000",
    "S149": "18750000"
  },
  "filing_compliance": {
    "filers": 892,
    "non_filers": 355,
    "rate": "71.5%"
  },
  "fbr_iris_sync": "healthy",
  "currency": "PKR"
}

Integration

Mass integrates with existing government digital public infrastructure through adapter layers. The five primitives and operational services act as a canonical data model — a shared vocabulary that the service bus enforces. No system talks directly to another. Everything routes through Mass.

Adapter Pattern

Each government system connects through a typed adapter. Adapters handle authentication, data transformation, error recovery, and retry logic for the target system. 12 national adapters ship with the platform. New adapters follow a trait interface and deploy as Kubernetes sidecars.

Integration Sequence

Identity first. The national identity system is the root of trust. Once identity is connected, entity formation can anchor to verified individuals. Fiscal follows (tax registration). Ownership and Consent compose on top. The sequence is: Identity → Entity → Fiscal → Ownership → Consent.

Deployment Options

Sovereign
Full on-premise deployment. Government holds all encryption keys. Data never leaves sovereign infrastructure. Requires: 8 vCPU, 32GB RAM, 500GB SSD, Kubernetes 1.28+.
Hybrid
Compute on government infrastructure, corridor settlement via cloud. Government holds identity and entity data. Cross-border data flows encrypted end-to-end.
Cloud
Managed deployment on AWS/Azure. Government retains data sovereignty via encryption key custody (AWS KMS customer-managed keys). Fastest deployment: 30 days.

Infrastructure Requirements

Minimum production deployment: 8 vCPU, 32GB RAM, 500GB SSD, PostgreSQL 16, Redis 7. Kubernetes 1.28+ or Docker Compose for development. 12 containerized services. Terraform modules for AWS VPC/EKS/RDS/KMS included.

Adapter configuration
zone.yaml
# National adapter configuration
adapters:
  identity:
    type: "national_id"
    provider: "seyid"
    endpoint: "https://id.gov.sc/api/v2"
    auth: "oauth2_client_credentials"
    fields:
      - "national_id"
      - "full_name"
      - "date_of_birth"
  registry:
    type: "company_registrar"
    provider: "registrar_general"
    filing_types:
      - "incorporation"
      - "amendment"
      - "dissolution"
      - "annual_return"
  tax:
    type: "tax_authority"
    provider: "sra"
    withholding: true
  payments:
    type: "central_bank"
    provider: "cbs_rtgs"
    settlement: "SWIFT + domestic"

MCP Tools

The Mass MCP Server exposes 17 tools via the Model Context Protocol (JSON-RPC 2.0 over stdio). Any MCP-compatible client — Claude, GPT, Gemini, or custom agents — can call these tools to operate sovereign economic zones. The tools cover the full operational lifecycle: discover, plan, execute, monitor, inspect, and act.

Discovery (2 tools)

list_operations
List all operation types available in the current zone. Returns operation families: entity.incorporate, entity.rename, ownership.transfer, fiscal.open_account, etc. 34 operation families, 338 jurisdiction-specific definitions.
get_requirements operation_type: string, jurisdiction_id?: string
Get jurisdiction-specific requirements for an operation type. Returns the full step DAG, required parameters (with types and validation), consent requirements, document requirements, and filing requirements (fees, authorities, expected timelines). Incorporating in Delaware requires different steps than incorporating in ADGM.

Execution (3 tools)

plan_operation operation_type: string, entity_id?: string, params: object
Create an operation plan without executing. Returns the full step DAG with dependencies, async steps, compliance domains evaluated at each step. Plan mode (Level 2): inspect before committing. Advance steps individually with advance_step.
execute_operation operation_type: string, entity_id?: string, params: object
Create and begin executing autonomously. The Stack decomposes the operation into jurisdiction-specific steps, gates every step through 20-domain compliance evaluation, issues W3C Verifiable Credential attestations, and updates the entity compliance passport. Returns immediately with operation_id.
cancel_operation operation_id: string, reason?: string
Cancel an in-progress operation. Triggers compensation for completed steps if the lawpack defines compensation entries. Status transitions to cancelled or compensating.

Monitoring (3 tools)

get_status operation_id: string
Full operation record: overall status (created, in_progress, waiting, completed, failed), per-step state, compliance evaluations, attestation IDs, ready steps, error details.
advance_step operation_id: string, step_id: string
Manually advance a step in plan-mode operations. The step must be in “ready” state (all dependencies satisfied). Each step flows through: pre-flight compliance, sanctions hard-block, Mass API call, evidence store, post-flight re-evaluation, VC issuance, passport update.
deliver_event operation_id: string, event_type: string, step_id: string, external_id?: string, payload?: object
Deliver async events to waiting steps. Operations span time — board votes, document signing, state filings. Event types: consent.approved, document.signed, payment.completed, filing.accepted.

Intelligence (2 tools)

get_entity entity_id: string
Comprehensive entity dossier aggregating all five primitives: entity details, board composition, cap table, identity records (KYC status, verified IDs), compliance passport (20-domain tensor), corridor recognition, attestation trail, decision proofs.
get_passport entity_id: string
Compliance passport: 20-domain evaluation state (8 core + 12 extended domains). Each domain: Compliant, NonCompliant, Pending, or NotApplicable. Sanctions NonCompliant is a legal hard-block. Hash-chained via SHA-256(previous_passport) for tamper-evident audit trail.

Action (5 tools)

create_entity zone_id: string, entity_type: string, jurisdiction: string, name: string
Create a new legal entity. Flows through the full 20-domain compliance tensor evaluation. Returns entity ID, compliance status, banking rails, and DID credential.
list_entities zone_id?: string, status?: string
List all entities in a zone. Filterable by status (active, suspended, dissolved). Returns entity summaries with compliance passport status.
create_payment entity_id: string, amount: number, currency: string, recipient: object
Initiate a payment from an entity account. Triggers compliance evaluation and tax pipeline (withholding computation, DTA application). Supports SWIFT, stablecoin, and domestic rails.
verify_identity jurisdiction: string, id_type: string, id_number: string
Verify national identity across 6 jurisdictions: Pakistan (CNIC/NTN via NADRA/FBR), UAE (Emirates ID/TRN via ICA/FTA), Singapore (NRIC/UEN via MyInfo/ACRA), US (EIN/SSN via IRS/SSA), UK (UTR/NINO via HMRC/DWP), India (Aadhaar/PAN via UIDAI/Income Tax). 12 national ID adapters.
create_corridor zone_a: string, zone_b: string, corridor_type?: string
Create a cross-zone corridor between two jurisdictions. Initializes bilateral compliance context, settlement rails, and receipt chain (MMR). N zones produce N×(N−1)/2 corridors.

Query (2 tools)

list_compliance_domains
List all 20 compliance domains with descriptions: AML, KYC, Sanctions, Tax, Securities, Corporate, Custody, DataPrivacy, Licensing, Banking, Payments, Clearing, Settlement, DigitalAssets, Employment, Immigration, IP, ConsumerProtection, Arbitration, Trade.
get_corridor_health corridor_id: string
Corridor health and receipt chain statistics: corridor status, receipt chain length, watcher attestation count, last activity timestamp. Monitors bilateral compliance surface integrity.
MCP client configuration
claude_desktop_config.json
{
  "mcpServers": {
    "mass": {
      "command": "node",
      "args": ["sdk/mcp/dist/index.js"],
      "env": {
        "MASS_API_URL": "http://localhost:8080",
        "MASS_API_TOKEN": "your-zone-auth-token"
      }
    }
  }
}
Tool call: execute incorporation
json-rpc
// Agent calls execute_operation tool
{
  "method": "tools/call",
  "params": {
    "name": "execute_operation",
    "arguments": {
      "operation_type": "entity.incorporate",
      "params": {
        "name": "Acme Ventures LLC",
        "entity_type": "llc",
        "jurisdiction": "us-de"
      }
    }
  }
}
Tool call response
response
{
  "operation_id": "op_01HZQ3...",
  "operation_type": "entity.incorporate",
  "status": "in_progress",
  "steps": [
    { "id": "name_check", "status": "executing" },
    { "id": "consent", "status": "pending" },
    { "id": "entity_create", "status": "pending" },
    { "id": "filing", "status": "pending" },
    { "id": "treasury_open", "status": "pending" },
    { "id": "compliance_eval", "status": "pending" },
    { "id": "vc_issue", "status": "pending" }
  ],
  "ready_steps": ["name_check"],
  "async_steps": ["consent", "filing"]
}

Agent Workflows

The 17 MCP tools compose into jurisdiction-aware workflows. An agent discovers available operations, inspects requirements, plans or executes, monitors progress, delivers async events, creates entities and payments, verifies identity, and manages corridors. The Operation Engine handles jurisdiction-specific decomposition — the agent works at the intent level.

Incorporate a company

4 tools, 3 steps
list_operations to discover entity.incorporate. get_requirements with jurisdiction_id=us-de to see Delaware-specific steps, fees, and parameters. plan_operation to preview the step DAG. execute_operation to begin. The Operation Engine handles the 7-step DAG: name check, board consent, entity creation, state filing, treasury opening, compliance evaluation, VC issuance.

Compare jurisdictions

1 tool, multiple calls
Call get_requirements for each jurisdiction (e.g. us-de, ae-adgm, sg) with the same operation_type. The agent compares step counts, fees, timelines, and filing authorities. Delaware: $300, 7 steps, ~14 days. ADGM: AED 6,000, 8 steps, ~30 days. Singapore: SGD 315, 6 steps, ~21 days.

Monitor async operations

3 tools over time
get_status to check which steps are waiting. When a board vote completes: deliver_event with event_type=consent.approved. When a state filing is accepted: deliver_event with event_type=filing.accepted. The Operation Engine advances the DAG automatically.

Compliance audit

2 tools
get_entity for the full dossier (board, cap table, identity, corridor recognition). get_passport for 20-domain evaluation with hash chain integrity. Sanctions NonCompliant is a legal hard-block. The agent presents domain-by-domain analysis with severity levels.
Incorporation workflow
workflow
User says: "Incorporate a company in ADGM"

1. Agent calls: get_requirements
   operation_type = "entity.incorporate"
   jurisdiction_id = "ae-adgm"

2. Operation Engine returns:
   ADGM-specific step DAG (8 steps)
   Required parameters (with validation)
   Filing authorities (ADGM RA)
   Fees (AED 6,000 trade license)
   Consents needed (board resolution)
   Compliance domains evaluated
   Async steps (filing acceptance)

3. Agent calls: execute_operation
   Stack drives all steps to completion.
   Agent monitors with get_status.
Jurisdiction comparison
comparison
// Agent calls get_requirements for each jurisdiction

Delaware    $300         7 steps   ~14 days
ADGM        AED 6,000    8 steps   ~30 days
Singapore   SGD 315      6 steps   ~21 days

Each response includes full step DAGs,
filing authorities, consent requirements,
and async step dependencies.
Why tools beat static prompts
comparison
Static system prompt:
  Stale the moment zone config changes.
  Cannot know jurisdiction-specific fees.
  Hard-codes procedures that vary by zone.

RAG over documentation:
  Retrieves text, not structured data.
  Cannot compute comparison tables.
  No live data from the Operation Engine.

MCP Tools + Operation Engine:
   Live data on every tool call
   Structured responses, not free text
   Jurisdiction-aware from zone lawpacks
   34 operation families, 334 jurisdiction definitions
   Handles async steps and compensation

Read Surfaces

Two intelligence tools give agents comprehensive read access across all five primitives. The underlying API also exposes zone state, compliance domains, and operation capabilities through standard REST endpoints that agents can query directly.

Entity Dossier

get_entity entity_id: string
Cross-primitive dossier: entity details (name, type, jurisdiction, status), board composition, cap table (share classes, shareholders), identity records (KYC status, verified IDs, accreditation), compliance passport (20-domain tensor), passport chain integrity, corridor recognition (peer zone acceptance), attestation trail (recent VCs), decision proofs.

Compliance Passport

get_passport entity_id: string
Materialized compliance state across 20 regulatory domains. 8 core: AML, KYC, Sanctions, Tax, Securities, Corporate, Custody, DataPrivacy. 12 extended: Licensing, Banking, Payments, Clearing, Settlement, DigitalAssets, Employment, Immigration, IP, ConsumerProtection, Arbitration, Trade. Hash-chained via SHA-256(previous_passport). Evaluation count tracks re-evaluation history.

Zone and Operation Intelligence

list_operations + get_requirements
Zone situational awareness through tool composition. list_operations returns available operation types. get_requirements returns jurisdiction-specific step DAGs, parameters, fees, and filing authorities. Together they provide complete operational intelligence for the connected zone.
Entity dossier response
get_entity response
{
  "entity": {
    "name": "Acme Ventures LLC",
    "jurisdiction": "us-de",
    "status": "active"
  },
  "board": { "directors": 3, "officers": 2 },
  "cap_table": {
    "share_classes": 2,
    "shareholders": 4
  },
  "identity": { "kyc_status": "verified" },
  "passport": {
    "compliant": 12,
    "pending": 2,
    "not_applicable": 6,
    "non_compliant": 0
  },
  "corridors": ["ae-adgm", "sg", "hk"],
  "attestations": 12
}
Compliance passport
get_passport response
Core domains (8):
  AML           Compliant
  KYC           Compliant
  Sanctions     Compliant  (hard-block if NonCompliant)
  Tax           Compliant
  Securities    Compliant
  Corporate     Compliant
  Custody       NotApplicable
  DataPrivacy   Compliant

Extended domains (12):
  Licensing     Compliant     Banking      Compliant
  Payments      Compliant     Clearing     N/A
  Settlement    N/A           DigitalAssets N/A
  Employment    Pending       Immigration  Pending
  IP            Compliant     ConsumerProt N/A
  Arbitration   N/A           Trade        Compliant

Chain: eval #47, SHA-256(prev) → 0x8f2a...

Zone Setup

Initialize a zone from jurisdiction configuration to a running API server. The process is deterministic: a zone definition (jurisdiction stack + module manifest + profile) produces a fully configured deployment artifact.

Setup Sequence

1. Jurisdiction selection
Choose from 218 configured jurisdictions. Each includes: jurisdiction stack (country → region → zone), applicable legislation, regulatory authority, compliance domains, fee schedules.
2. Module composition
Select from 338 module manifests across 25 families. The zone composer validates dependencies and generates a lockfile (SHA-256 content-addressed).
3. Pack loading
Load lawpacks (operation step DAGs), regpacks (sanctions lists, regulatory state), and licensepacks (license categories). Each pack is hash-verified.
4. Infrastructure provisioning
Terraform generates AWS VPC/EKS/RDS/KMS or Docker Compose for development. 12 containerized services deploy to Kubernetes. Database migrations run automatically.
5. Adapter connection
Connect national adapters to government systems: identity, registry, tax, payments. Each adapter is tested independently before zone activation.
Zone initialization
terminal
$ mez zone init \
    --jurisdiction sc \
    --profile sovereign-govos

Loading jurisdiction stack: sc
 Jurisdiction: Seychelles (FSA)
 Modules: 47 selected, 0 conflicts
 Lawpacks: 34 operations loaded
 Regpacks: sanctions (OFAC+UN+EU)
 Lockfile: zone.lock (SHA-256)

$ mez deploy generate --target k8s

Generating deployment artifacts...
 docker-compose.yaml (12 services)
 terraform/ (VPC, EKS, RDS, KMS)
 migrations/ (47 SQL files)
 adapters/ (identity, registry, tax)

Ready to deploy. Run:
$ terraform apply
$ kubectl apply -f k8s/

Operation Kernel

The operation kernel decomposes high-level business intent into jurisdiction-specific step DAGs. This is the architectural insight that differentiates the EZ Stack: the same operation (entity.rename) produces different step sequences, different documents, different signers, different fees, and different registrar filings depending on jurisdiction.

How It Works

An operation request arrives with a type and jurisdiction. The kernel loads the lawpack for that combination, interpolates parameters, builds the step DAG with dependencies, and begins execution. Each step passes through the 20-domain compliance tensor. Async steps (consent collection, registrar filing) emit events that the engine watches for advancement.

Example: entity.rename

Delaware requires: name availability check → Certificate of Amendment (signed by officer) → filing with Division of Corporations ($150) → entity update. ADGM requires: name availability check → special resolution (75% shareholder approval) → Special Resolution document (signed by authorized signatory) → filing with ADGM-RA ($100) → entity update. Same operation. Different jurisdictions. Different step DAGs.

131 Operation Definitions

32 operation families covering: entity lifecycle (incorporate, rename, dissolve, amend), ownership (transfer, issue shares, record pledge), fiscal (open account, make payment, file return), identity (verify individual, verify entity, issue credential), consent (collect board resolution, collect shareholder vote). Each family has jurisdiction-specific variants.

Operation decomposition comparison
diff entity.rename
# Delaware (DGCL Title 8)
Steps: 4  Async: 1  Fee: $150
  1. name_check         Div of Corps
  2. document            Cert of Amendment
     signer: officer
  3. filing              DE Secretary of State
     (async: filing.accepted)
  4. entity_update      depends: [3]

# ADGM (Companies Reg 2020)
Steps: 5  Async: 2  Fee: $100
  1. name_check         ADGM-RA
  2. consent             Special Resolution
     quorum: 75% shareholders
     (async: consent.approved)
  3. document            Special Resolution
     signer: authorized_signatory
  4. filing              ADGM-RA
     (async: filing.accepted)
  5. entity_update      depends: [4]

Operational Independence

Government staff operate the platform independently by Day 90. This is a contractual deliverable.

Training Curriculum

Days 1–30: Foundation
Platform architecture. Five primitives. API surface walkthrough. Sandbox deployment. First adapter integration (national identity). Hands-on: form 10 entities, run compliance checks, inspect operation DAGs.
Days 31–60: Operations
Production deployment. Regulator dashboard configuration. Document template customization. Filing adapter testing. Hands-on: process first production entity formation independently. Build first custom service on APIs (e.g., building permit application).
Days 61–90: Independence
Full operational handoff. Incident response procedures. Pack update workflow (lawpack amendments when legislation changes). Certification exam. Government team operates without Momentum involvement.

Certification Criteria

Government team must demonstrate: (1) deploy a zone update independently, (2) configure a new license category, (3) process entity formation end-to-end, (4) investigate and resolve a compliance alert, (5) modify a lawpack when legislation changes. All five pass = operational independence certified.

Evidence

Próspera, Honduras: 87 days to full-stack deployment. 500+ entities formed. 7 corridors active. 47-second average formation time. Local staff operate independently. Momentum exited.

Training deliverables
timeline
Day 30   Foundation
  Team trained on architecture + APIs
  Sandbox deployment running
  First adapter connected (identity)
  10 test entities formed

Day 60   Operations
  First production use case executed
  Document templates configured
  Regulator dashboard live
  Filing adapters tested

Day 90   Independence
  Contractual handoff complete
  Certification exam passed
  All credentials transferred
  Government operates independently

Post-handoff support:
   Quarterly platform updates
   Regpack updates (sanctions lists)
   Emergency security patches
   Network corridor maintenance
Interactive

API Sandbox

Select a resource and action, edit the request body, and send. Responses are simulated from the canonical API schema.

response
Select a resource and action, then send a request.
Data Model

Schema Reference

473 JSON schemas (Draft 2020-12), content-addressed via SHA-256. Every data structure in the kernel has a canonical schema.

schema
Select a schema above.
Client Libraries

Mass SDK

Type-safe client libraries generated from the OpenAPI 3.1 specification. Each SDK wraps authentication, request signing, error handling, and compliance envelope parsing.

TypeScript
$ npm install @mass/primitives

import Mass from '@mass/primitives';

const mass = new Mass({
  token: process.env.MASS_TOKEN,
});

// Entity formation — Delaware LLC in 47 seconds
const company = await mass.entities.incorporate({
  zone: 'us-de',
  type: 'llc',
  name: 'Meridian Dynamics LLC',
  beneficial_owners: [{
    identity_id: 'id_01HZQ3',
    ownership_pct: '100.00'
  }]
});

company.entity_id;          // ent_01HZQ3...
company.compliance.overall; // Compliant (20/20 domains)
company.credential.proof;   // Ed25519Signature2020
company.passport_digest;    // sha256:7a3f9b2e...

// 24 sub-clients: entities, ownership, fiscal, identity,
// consent, operations, documents, compliance, corridors,
// assets, disputes, watchers, trade, governance, licensing,
// notifications, peers, agentic, govos, csp, oauth,
// instruments, govos_sc
Python
from mass import Mass

mass = Mass(
    api_key="mez_live_sk_...",
    zone="synth-atlantic-fintech"
)

entity = mass.entities.create(
    type="llc",
    jurisdiction="us-de",
    name="Acme Ventures LLC"
)

print(entity.compliance.tensor_status)  # "passed"
print(entity.passport_digest)           # "sha256:..."
Rust
use mass_sdk::Mass;

let mass = Mass::new("mez_live_sk_...", "synth-atlantic-fintech");

let entity = mass.entities().create(CreateEntityRequest {
    entity_type: EntityType::Llc,
    jurisdiction: "us-de".into(),
    name: "Acme Ventures LLC".into(),
    ..Default::default()
}).await?;

println!("{}", entity.compliance.tensor_status); // "passed"
println!("{:?}", entity.passport_digest);         // Some("sha256:...")
Tooling

The mez CLI

The mez command-line tool (Mass Economic Zone CLI) provides 15 subcommand families with 71 total commands for zone validation, artifact management, corridor operations, Smart Asset lifecycle, dispute resolution, verifiable credentials, and local development. Built in Rust alongside the Mass API server.

terminal
$ mez --help

Mass CLI v0.4.44 GENESIS

USAGE:
    mez <COMMAND>

COMMANDS:
    validate    Validate zones, modules, and profiles
    lock        Lock zone configuration (deterministic hash)
    corridor    Corridor lifecycle operations
    artifact    Content-addressed artifact store/resolve/verify
    asset       Smart Asset operations (genesis, migrate, evaluate)
    law         Lawpack compilation and verification
    vc          Verifiable Credential signing and verification
    regpack     Regulatory package operations
    agent       Agentic policy engine (triggers, policies)
    arbitration Dispute lifecycle (file, evidence, ruling, enforce)
    zone        Zone init, deploy, and status
    init        Initialize a new zone from starter template
    deploy      Deploy zone to infrastructure (AWS/Docker)
    audit       Run audit checks across the stack
    demo        Interactive demo of five primitives and services

$ mez validate --all-zones
OK  synth-atlantic-fintech    12 modules, 0 warnings
OK  ae-abudhabi-adgm          18 modules, 0 warnings
OK  sg-mas                    14 modules, 0 warnings
Validated 3 zones in 0.8s