Home / Tokenized Deposits

Tokenized Deposits

EUR deposits as tokenized assets for purchasing TMMF and TMF shares. 1:1 EUR backing with ZK-privacy for transaction amounts.

Tokenized Deposits

In Plain English

You deposit €10,000 in your bank account and get €10,000 in digital tokens. These tokens are exactly like euros — you can use them to buy investment funds instantly, no paperwork, no waiting. When you want your euros back, you burn the tokens and get your euros credited to your bank account. It's like having a bank account that works as fast as sending a text message.

Customers deposit EUR into the platform and receive EUR tokens representing their deposit value. These tokens can be used to purchase both TMMF (Tokenized Money Market Fund) and TMF (Tokenized Mutual Fund) shares — just like how banks let customers move from savings accounts to investment products.

Architecture Flow — Tokenized Deposits

Standards used: ERC-3643/T-REX (EUR tokens — MiCA EMT, permissioned transfers), ERC-4626 (TMMF/TMF vault accounting), ERC-7540 (async redemption requests), ERC-1643 (prospectus/KID document anchoring), SEPA Instant, MiCA Art. 48 EMT, UCITS/AIFMD.

1
EUR Deposit via SEPA
Off-Chain

Customer transfers EUR via SEPA/SEPA Instant to the platform's bank account. Bank confirms receipt.

2
MintEscrow — 2-Stage Minting
On-Chain

Stage 1 (Provisional): SEPA receipt confirmed by bank → provisional EUR tokens minted, marked as uncleared.
Stage 2 (Definitive): SEPA clearing confirmed (D+0) → tokens unlocked and fully transferable. If clearing fails, provisional tokens are burned.

3
EUR Tokens Minted (ERC-20)
ERC-20 Transfer

Customer receives EUR tokens (ERC-3643/T-REX — permissioned, not open ERC-20) in their wallet. Each token = €1.00 backed 1:1 by fiat deposit. Transfers restricted to verified, accredited addresses only per MiCA Art. 48 EMT requirements.

4
Purchase TMMF (ERC-4626 Vault)
ERC-4626

TMMF.purchaseWithEURTokens() — EUR tokens burned, TMMF shares minted based on current NAV. Follows ERC-4626 vault standard.

5
Purchase TMF or Transition from TMMF
ERC-4626

Direct: TMF.purchaseWithEURTokens() — buy TMF shares directly with EUR tokens.

Transition: requestTMFTransition() — convert TMMF shares → TMF shares based on NAV ratio.

1
Customer deposits 10,000 EUR via bank transfer (SEPA)
2
MintEscrow contract receives EUR (2-stage minting)
3
Platform mints EUR tokens (1:1 with deposit) to customer
4
Customer uses EUR tokens to purchase TMMF shares (low-risk, ~4.5% yield)
5
Customer can transition TMMF → TMF or purchase TMF directly (higher-risk, ~6-8% yield)

Deposit Details

Deposit Amount 10,000 EUR
Token Received 10,000 EUR tokens (1:1)
Token Value €1.00 per token
Token Use Purchase TMMF shares
Token Use (TMF) Purchase TMF shares
Withdrawal Burn tokens → receive EUR back
Redemption flow: Customer calls redeem() → tokens burned → Middleware triggers SEPA Credit Transfer to customer's IBAN → EUR arrives in SEPA Instant window (<10 seconds).
Reserve model: EUR tokens are 1:1 backed by segregated client money accounts (per E-Money Directive 2009/110/EC Article 19 and MiCA Article 54 safeguarding rules). The EUR token is classified as an e-money token under MiCA Article 48. Reserve custodian address is registered in the IdentityRegistry. Monthly third-party attestation verifies 1:1 backing (cf. Circle USDC model).
Depositary/Custodian: Under UCITS/AIFMD, an independent depositary is mandatory. The depositary holds the underlying EUR deposits in segregated accounts, verifies 1:1 backing, and has liability for loss of assets. In the architecture, this is represented by the ReserveCustodian contract address, which must sign off on any mint/burn operation.
Atomic Delivery vs Payment (DVP)

Eliminates counterparty risk: EUR tokens are burned and fund shares are minted in a single atomic transaction. Either both happen or neither does — no risk of losing tokens without receiving shares.

Step 1: approve(EUR tokens, TMMF contract)
Step 2: purchaseWithEURTokens(amount)
Inside purchase(): eurToken.burn(msg.sender, amount)mint(msg.sender, shares)
Both operations in single transaction — atomic guarantee
EUR Token → TMMF Shares Flow
Customer deposits EUR via bank transfer to the platform's bank account.
MintEscrow receives EUR and triggers minting of EUR tokens. The platform mints 10,000 EUR tokens (1:1 with deposit).
Customer receives 10,000 EUR tokens in their wallet. These tokens represent their EUR deposit value.
Customer approves EUR tokens for the TMMF contract to spend.
Customer calls TMMF.purchaseWithEURTokens() — EUR tokens are burned and TMMF shares are minted based on the current NAV.
EUR Token → TMF Shares Flow
Customer has EUR tokens from their bank deposit (same as above).
Customer approves EUR tokens for the TMF contract to spend.
Customer calls TMF.purchaseWithEURTokens() — EUR tokens are burned and TMF shares are minted based on the current NAV.
Customer now holds TMF shares (higher risk, variable NAV, ~6-8% target yield)

Deposit & Purchase TMMF

Demo Mode: Works without MetaMask. Click buttons to simulate the full flow — deposit EUR, mint EUR tokens, purchase TMMF shares. All transactions are simulated with realistic hashes and delays.

EUR bank transfer → EUR tokens minted 1:1

Purchase TMMF Shares with EUR Tokens
Purchase TMF Shares with EUR Tokens
Current TMMF Status
NAV €1.0000
Annual Yield ~4.5%
Your TMMF Shares 0