# Technical Overview

**Backend Infrastructure**

1. Blockchain Integration: Ultimate Digits uses a combination of Ethereum smart contracts to create and manage the link between mobile numbers and crypto wallet addresses. The use of Ethereum ensures decentralization and immutability.
2. Database: IPFS is used to store metadata about users. On BNB Chain, we’re using Greenfield.&#x20;
3. API Server: A RESTful API server handles requests from the front end. Built using Node.js and Express.js, this server interacts with the Ethereum blockchain and IPFS.

&#x20;**Smart Contracts**

4. Registration Contract: Users interact with this contract to link their mobile number to a crypto address. The actual mobile numbers aren’t stored on-chain, only a hashed version for privacy reasons. [Read our hashing mechanism.](https://docs.google.com/document/d/1L7yeGCIOwUUoxLRMBPLzjrGcHg7ETSoXb4hNtWriAQM/edit?usp=sharing)&#x20;
5. NFT Contract: This contract handles the creation and management of virtual Web3 mobile numbers as NFTs. ERC-721 standard used adopted here. If a user links a real-world mobile number, an NFT is still created and deposited into their wallet.
6. Lookup Contract: This performs a lookup of the last owner of the above-mentioned NFT via {getOwnersForToken}. This NFT holder’s wallet address is retrieved for further use.
7. Ultimate Owners: We track NFT ownership changes via {NewOwner} and {Transfer} events. We use additional event logging, time-lock, and incentives to handle events like user’s mobile numbers being changed, or mobile number NFTs being transferred. [Read more here](https://docs.google.com/document/d/1HljYcR1Wk5Xjlr7lCBzEdF58HFF-ShwTRQOlwQbsdy4/edit?usp=sharing).&#x20;

&#x20;**Frontend**

8. Web App: React.js for frontend interface. It will integrate with Web3.js or ethers.js to communicate with the Ethereum blockchain. We’ll also develop Flutter-based mobile apps.
9. MetaMask Snaps Plugin: This will be developed using the Snaps beta SDK provided by MetaMask. It'll be a micro-app that can be plugged into MetaMask.&#x20;

**Security**

10. Hash Functions
11. Smart Contract Audits
12. Oracles: For external data such as real-time token prices, decentralized oracles will be used to provide reliable data feeds.
13. Interoperability: Ultimate Digits is a fully open system where mobile numbers can be set to any kind of record, with blockchain addresses being the most common use case.

**DAO Governance:** Eventually, we’ll turn the protocol governance over to a DAO to ensure that it remains in the hands of its users.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ultimatedigits.com/technical-overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
