---
title: "3. Deploying to Stokenet and Mainnet"
path: "/developers/getting-started/03-deploying"
version: "1.1.0"
author: "Hydrate"
createdAt: "2026-02-22T17:37:35.645Z"
updatedAt: "2026-03-16T18:21:03.974Z"
---

# 3. Deploying to Stokenet and Mainnet

<Infobox>
| **Deploying to Stokenet & Mainnet** |
| Difficulty | Beginner |
| Est. Time | 20 minutes |
| Prerequisites | [Your First Blueprint](/developers/getting-started/02-first-blueprint) |
| Language | [Scrypto](/developers/legacy-docs/updates/roadmap/scrypto/scrypto) (Rust) |
| Stokenet Console | [stokenet-console.radixdlt.com](https://stokenet-console.radixdlt.com/deploy-package) |
| Mainnet Console | [console.radixdlt.com](https://console.radixdlt.com/deploy-package) |
</Infobox>

## Overview

Once you've tested locally with `resim`, the next step is deploying to the public **Stokenet** testnet. The process is the same for Mainnet — the only difference is you use real XRD.

Stokenet vs Mainnet

Always deploy and test on [Stokenet](/contents/tech/releases/stokenet) first. Stokenet XRD is free and has no value. Never send Mainnet XRD to Stokenet addresses.

## 1. Get Test XRD

Open the [Radix Wallet](/contents/tech/core-protocols/radix-wallet) and switch to the **Stokenet** network. Use the built-in faucet to request free test XRD — you'll need it to pay transaction fees for deployment.

## 2. Build Your Package

`[scrypto](/developers/legacy-docs/updates/roadmap/scrypto/scrypto) build`Your compiled [WASM](https://webassembly.org) file is at:

`target/wasm32-unknown-unknown/release/<package_name>.wasm`The build also generates an **RPD** (Radix Package Definition) file at the same location, which describes your [blueprints](https://docs.radixdlt.com/docs/blueprints-and-components) and their interfaces.

## 3. Deploy via Developer Console

1. $1
2. $1
3. $1
4. $1
5. $1
Once confirmed, the console displays your **package address**. Save it — you'll need it to instantiate components.

## 4. Instantiate a Component

Go to the **"Send Raw Transaction"** section of the console and submit a manifest that calls your instantiation function:

```rust
CALL_FUNCTION
  Address("<PACKAGE_ADDRESS>")
  "GumballMachine"
  "instantiate"
  Decimal("5")
;

CALL_METHOD
  Address("<YOUR_ACCOUNT>")
  "deposit_batch"
  Expression("ENTIRE_WORKTOP")
;
```
The resulting component address is your live dApp on Stokenet.

## Deploying to Mainnet

The process is identical — use [console.radixdlt.com](https://console.radixdlt.com/deploy-package) instead and ensure your wallet is on Mainnet with real XRD for fees.

Royalties

Before deploying to Mainnet, consider setting [package royalties](/developers/scrypto/04-events-metadata-royalties) to earn XRD whenever others use your [blueprints](https://docs.radixdlt.com/docs/blueprints-and-components).

## Next Steps

- [Scrypto Fundamentals](/developers/scrypto/01-fundamentals) — understand the [asset-oriented](/developers/legacy-docs/essentials/asset-oriented) programming model
- [Radix dApp Toolkit](/developers/frontend/01-radix-dapp-toolkit) — build a frontend that connects to your component
- [Transaction Manifest Language](/developers/transactions/01-manifest-language) — learn to write manifests directly

## External Links

- [Official deployment guide](https://docs.radixdlt.com/docs/deploy-a-package)
- [Stokenet Developer Console](https://stokenet-console.radixdlt.com)
- [Mainnet Developer Console](https://console.radixdlt.com)
- [What is Stokenet?](https://learn.radixdlt.com/article/what-is-stokenet)