# How To Guides

Welcome to the **How-To Guides** — your one-stop resource for building on the **Somnia Network**.

This section is designed to help developers of all experience levels onboard quickly, understand the tools available to them, and start shipping powerful dApps on Somnia.

Somnia offers a high-performance Layer 1 blockchain with blazing-fast finality, high throughput, and robust developer tooling. Whether you're deploying your first smart contract, building out a full-stack decentralized application, or integrating advanced tooling like oracles, subgraphs, and SDKs — you're in the right place.

Our guides are **practical, up-to-date, and hands-on**, focused on real implementations that will help you go from zero to deployed faster than ever.

{% hint style="success" %}
**Developers who are deploying Smart Contracts and need Somnia Test Tokens (STT):**\
\
Please join the [Discord](https://discord.com/invite/somnia). Go to the `#dev-chat` channel, tag the Somnia DevRel, `@emreyeth` and request Test Tokens.\
\
You can also join the [Somnia Developer Telegram](https://t.me/+s_oRMnGpOyQ3ODQ0) or use [Faucet](https://testnet.somnia.network/).\
\
You can also email `developers@somnia.foundation` with a brief description of what you are building and your GitHub profile.
{% endhint %}

***

The guides are grouped by **theme and difficulty**, so you can explore what’s most relevant to your project or level of expertise:

## Basics

Learn how to:

* Deploy smart contracts on Somnia using [RemixIDE](/developer/development-frameworks/deploy-with-remixide.md), [Hardhat](/developer/development-frameworks/deploy-with-hardhat.md), or [Foundry](/developer/development-frameworks/deploy-with-foundry.md)
* [Verify your contracts on Somnia](/developer/development-frameworks/deploy-with-hardhat.md)
* [Create ERC20 Tokens on Somnia](/developer/building-dapps/tokens-and-nfts/create-erc20-tokens.md)

## Intermediate

Move beyond the basics by building full-stack applications.

* [Learn how to connect Web UI with Smart Contracts using Viem](/developer/development-frameworks/using-the-viem-library.md)
* [How to Set Up MetaMask for use with Somnia](/developer/building-dapps/wallet-integration-and-auth/authenticating-with-metamask.md)
* [How to Use Native Somnia Tokens: SOMI (STT - Testnet](/developer/building-dapps/tokens-and-nfts/using-native-somi-stt.md))

## Advanced

**Build Complete dApp experiences**

* [Create a DAO: Smart Contract Guide](/developer/building-dapps/example-applications/dao-smart-contract.md)
* [Set Up the Web UI for DAO Smart Contract](/developer/building-dapps/example-applications/dao-ui-tutorial-p1.md)
* [Set Up READ Operations for DAO Smart Contract](/developer/building-dapps/example-applications/dao-ui-tutorial-p2.md)
* [Set Up WRITE Operations for DAO Smart Contract](/developer/building-dapps/example-applications/dao-ui-tutorial-p3.md)
* [Build a Subgraph UI using Apollo Client](/developer/building-dapps/data-indexing-and-querying/building-subgraph-uis-apollo-client.md)
* [Build a DEX on Somnia](/developer/building-dapps/example-applications/building-a-simple-dex-on-somnia.md)
* [Somnia WebSockets](/developer/building-dapps/data-indexing-and-querying/listening-to-blockchain-events-websocket.md)

## Oracles

Bring off-chain data on-chain with:

* [How to integrate **DIA price feeds** on Somnia](/developer/building-dapps/oracles/dia-price-feeds.md)
* [How to implement **Protofire Price Feeds**](/developer/building-dapps/oracles/protofire-price-feeds.md)
* [How to implement **Verifiable Randomness (VRF)** via **Protofire + Chainlink**](/developer/building-dapps/oracles/using-verifiable-randomness-vrf.md)

## Subgraphs

Efficiently query and index onchain data.

* [How to create and deploy subgraphs on Somnia using **ORMI**](/developer/building-dapps/data-indexing-and-querying/ormi-subgraph.md)
* [How to build with **Protofire’s subgraph infrastructure**](/developer/building-dapps/data-indexing-and-querying/protofire-subgraph.md)
* [Frontend integrations for building responsive UIs from your subgraph data](/developer/building-dapps/data-indexing-and-querying/building-subgraph-uis-nextjs-fetch.md)

## Thirdweb

A seamless wallet experience is key to user adoption. Somnia integrates with modern wallet providers to help you build dApps that feel intuitive and onboarding-friendly.

This section covers:

* [How to deploy Smart Contracts using **Thirdweb on** Somnia](/developer/development-frameworks/deploy-with-thirdweb.md)
* [Using **Thirdweb Wallet SDK** for seamless Web3 UX](/developer/building-dapps/account-abstraction/smart-wallet-app-with-thirdweb.md)
* [How to enable gasless transactions via **Account Abstraction**](/developer/building-dapps/account-abstraction/gasless-transactions-with-thirdw.md)

## Wallets

Accelerate development with partner SDKs.

* [Integrate **Privy** for embedded, Web2-friendly wallet flows](/developer/building-dapps/wallet-integration-and-auth/authenticating-with-privy.md)
* [Use **RainbowKit** to offer a beautiful, customizable wallet connection UI](/developer/building-dapps/wallet-integration-and-auth/authenticating-with-rainbowkit.md)
* [Leverage **ConnectKit** for flexible and extensible wallet integrations](/developer/building-dapps/wallet-integration-and-auth/authenticating-with-connectkit.md)

## APIs

Use available APIs to enhance your application:

* [How to use **ORMI’s Data API** to query blockchain state](/developer/building-dapps/data-indexing-and-querying/using-data-apis-ormi.md)

***

Somnia’s developer ecosystem is growing rapidly — and with that, so is the tooling. These guides are updated frequently to reflect new partnerships, infra improvements, and best practices.

If you're a developer who wants to build **fast, scalable, and secure** dApps, **Somnia is your playground**. And these guides are your map.


---

# 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.somnia.network/developer/how-to-guides.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.
