Back to Home
Architecture V4.0

The Three-Chain Data Model

To balance Speed, Security, and Privacy, Nodency splits data into three specialized structures. This ensures that financial history is public and immutable, while personal data and communication remain private and local.

Chain 01

The Global Ledger

The Root of Trust. This is a permissioned EVM-compatible blockchain maintained by professional Validators. It stores the final state of all accounts and the Smart Contract logic.

  • Immutability Once written, data cannot be altered. Used for final settlement.
  • Smart Contract State Holds the definitive logic for the 5 Economic Flows and Trust Registry.
BLOCK_HEADER.JSON
{
  "blockNumber": 8921005,
  "timestamp": 1732049200,
  "stateRoot": "0xABC...221F",
  "transactionsRoot": "0xEFG...331A",
  "minerAddress": "0x1F2B...C9D",
  "merkleProof": [
    "0x1A2B...",
    "0x3C4D..."
  ]
}
MY_CHAIN_BLOCK.JSON
{
  "localHeight": 42,
  "prevHash": "0x5A6B...D2F",
  "type": "P2P_TRANSFER",
  "payload": {
    "recipient": "did:kash:alice.w.5678",
    "amount": "500.00 cSTABLECOIN",
    "kCode": "K-9R4X-MP2P"
  },
  "signature": "0x5C6D...342F",
  "isSynced": false
}
Chain 02

Local Light Chain

The Personal History. Stored as an encrypted SQLite database on the user's phone. This chain allows the app to function offline and verify transactions at the edge.

  • Edge Trust Users verify signatures locally via Bluetooth/NFC without internet.
  • Self-Sovereign You hold your own data. The network acts as a backup, not the owner.
Chain 03

Chat Chain (E2EE)

The Privacy Layer. An asynchronous message queue for communication between DIDs. Critical for negotiating trades and support, without cluttering the financial ledger.

  • Server Blindness The server sees only scrambled ciphertext. It cannot read your messages.
  • Context Aware Messages can be cryptographically linked to a Transaction Hash for proof of dispute.
MESSAGE_PACKET.JSON
{
  "messageID": "msg-X9Y1-Z2W3",
  "senderDID": "did:kash:alice.w.5678",
  "recipientDID": "did:kash:bob.m.7654",
  "keyId": "session-A1B2",
  "ciphertext": "U2FsdGVkX1+m3XfE7...",
  "contextTxRef": "K-9R4X-MP2P",
  "msgSignature": "0xEF01...BB2"
}