Skip to main content

Concept

The x/depository module manages the lifecycle of Global Notes and their associated Participation Tokens (PTs). It enables the issuance, transfer control, and surrender of tokenized securities backed by notarised assets from the x/notary module.

Overview

The x/depository module enables:

  1. Platform administrators to register depositories that serve as custodians for Global Notes
  2. Depository owners to authorise SPV (Special Purpose Vehicle) issuers
  3. SPV issuers to issue Global Notes linked to notarised assets and mint corresponding PT tokens
  4. Control over PT token transferability (pause/unpause)
  5. Surrender of Global Notes at maturity, burning all associated PT tokens

The sequence of events is as follows:

How It Works

The x/depository module integrates with x/bank for token operations and x/notary for asset verification:

Platform Admin → RegisterDepository → Depository Created

Depository Owner → AddAuthorizedIssuer → SPV Authorized

SPV Issuer → IssuePTWithGlobalNote → GlobalNote + PT Tokens Minted

PT Tokens Distributed to Holders

SPV Issuer → SurrenderGlobalNote → PT Tokens Burned + Holdings Recorded

Key Components

Depository

A depository represents a custodian entity that holds Global Notes. Each depository has:

  • Owner: Can manage authorised issuers and update depository parameters
  • Pauser: Can pause/unpause the depository operations
  • Region: Geographic identifier for regulatory compliance

Global Note

A Global Note represents tokenized securities and contains:

  • ISIN: International Securities Identification Number (unique identifier)
  • Depository ID: The custodian depository
  • SPV Issuer: The authorised issuer address
  • Global Note Hash: Hash of the underlying asset data
  • Total Supply: Number of PT tokens representing the note
  • Asset Type ID: Links to x/notary asset type
  • Notarised Asset ID: Links to the notarised asset in x/notary

Participation Tokens (PT)

PTs are fungible tokens representing fractional ownership of a Global Note:

  • Minted when a Global Note is issued
  • Transferable via x/bank (unless paused)
  • Burned when the Global Note is surrendered

Transfer Controls

The module implements transfer controls via bank hooks:

  1. PT Transferability: Each ISIN can have transfers paused/unpaused
  2. Before Send Hook: Validates transfers aren't blocked before execution
  3. Native Token Bypass: Native chain tokens bypass these controls

Integration with x/notary

Global Notes are linked to notarised assets:

  • asset_type_id: Identifies the type of underlying asset
  • notarised_asset_id: References a specific notarised asset

This ensures that PT tokens are always backed by verified, on-chain asset data.

Key Design Points

  1. Hierarchical Authorization: Platform Admin → Depository Owner → SPV Issuer
  2. Asset-Backed Tokens: All PTs are linked to notarised assets via x/notary
  3. Pausable Operations: Both depositories and individual PT transfers can be paused
  4. Complete Surrender: Global Note surrender collects and burns all outstanding PTs
  5. Holder Tracking: Final PT holder balances are recorded at surrender for off-chain settlement
  6. Versioning of GlobalNote: All the GlobalNotes have the hashchain that proves that the sequence of updates.