DApp Architecture
Introduction
Before building a DApp on Hathor, it helps to understand how its parts fit together. This article maps out the typical DApp architecture — what each component does, how they connect, and where Hathor-specific decisions come in.
TL;DR: see section key takeaways.
What is a DApp?
Decentralized application (DApp) is an application that runs on a blockchain system.
An application is considered decentralized when the core part of its business logic is implemented as smart contracts, and users submit blockchain transactions to perform operations on it. Not all components of a DApp need to be decentralized. Usually, the DApp team provides the front end as a web application hosted on a central server and/or as a native application published on major mobile application stores (e.g., Google Play and App Store).
Overview
On Hathor, DApps follow the same architectural pattern as those on conventional public blockchain platforms. The following diagram presents the typical architecture of DApps on Hathor platform:

Credits: icons created by annisa luthfiasari, Trevor Dsouza, rendicon, Juicy Fish, and Ralf Schmitzer from the Noun Project; and smashingstocks and Ahmad Roaayala from Flaticon.
A DApp consists of three main components:
- Front end
- Nano contracts
- Complementary services
In the next section, we will describe these components in detail. Following that, we will explain how they interact with each other, the user, and their wallet.
Components
Front end
The DApp front end comprises the application(s) — web and native — provided to users by the project team. It handles the UI, reads blockchain data, and coordinates with the user’s wallet to submit transactions.
Nano contracts
The core business logic of the DApp is implemented as one or more nano contracts deployed on Hathor Network. Hathor Network acts as the main back end, running this logic and maintaining the ledger (blockchain) as the primary database.
Complementary services
Complementary services encompass everything outside the scope of the blockchain itself. These may address functional needs (off-chain storage) or non-functional needs (blockchain indexers, caching layers). They can be decentralized — for example, "The Graph" indexing solution — or centralized, as is common in many DApps.
Interactions
Accessing the front end
A user accesses the DApp front end via a browser or by installing a native application. The front end can be served in a centralized manner (conventional web servers, app stores) or a decentralized one (e.g., IPFS, Filecoin).
Connecting to the back end
Once initialized, the DApp front end establishes a connection to the back end. There are two approaches:
- Direct connection: the front end connects directly to a Hathor full node. This is the simplest form — no centralized back-end service required.
- Mediated connection: the front end delegates blockchain interactions to a centralized back-end service. This is common when scalability or user experience requirements demand faster queries or indexing.
Connecting to the wallet
The DApp front end also establishes a connection to the user’s wallet. Since the front end does not have access to the user’s private key, it relies on this connection to let the user authorize and sign transactions.
The type of connection depends on the user’s environment. Hathor official wallets (desktop and mobile) use WalletConnect via Reown. Hathor also supports MetaMask via the Hathor MetaMask Snap, which uses the web3 injector approach.
Key takeaway
Every DApp on Hathor has the same core:
- Nano contracts — the on-chain business logic. Every user operation ends in a contract execution.
- Front end — reads blockchain data via a Hathor full node HTTP API, and sends transactions through the user’s wallet via WalletConnect/Reown.
The main architectural decision your team will make is how the front end connects to Hathor Network:
| Approach | When to choose |
|---|---|
| Direct — front end calls the full node API | Simple DApps, minimal back end, fastest to ship |
| Mediated — centralized back-end service between front end and blockchain | Better scalability, advanced indexing, UX requirements |
Either way, the wallet integration works the same: your front end uses the Reown (WalletConnect) SDK to connect to Hathor desktop and mobile wallets.
What’s next?
- DApp-wallet integration architecture: how the two-layer wallet connection works.
- DApp-wallet integration development: reference code for implementing the wallet connection.
- Build a DApp: milestone-by-milestone pathway for building your DApp on Hathor.