Skip to main content

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:

DApp architecture

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:

ApproachWhen to choose
Direct — front end calls the full node APISimple DApps, minimal back end, fastest to ship
Mediated — centralized back-end service between front end and blockchainBetter 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?