This site requires Javascript to be enabled.

Project Setup

A new Archway project involves creating a Rust-based application that compiles to WebAssembly (wasm), a binary instruction format optimized for efficient execution on chain. Setting up a new Archway project is most straightforward when using the Archway Developer CLI. Let's begin the process of creating a new project with the help of this Developer CLI.

Creating an account

Use the command archway accounts list to view accounts in your environment's keyring, or create a new account using archway accounts new.


$ archway accounts new [ACCOUNT-NAME] [STDININPUT] [--json] [--log-level debug|error|info|warn] [--ledger | --recover] [--hd-path <value>] [--keyring-backend file|os|test] [--keyring-path <value>]


archway accounts new

You will be asked to enter a name for the account.

Example output with certain sensitive details altered or omitted:

✅ Account testwallet successfully created!Address: archway1qs2qnjvzlkgt0gpekr2c3pld0eu3tq8yw2kwgcPublic Key  Algo: secp256k1  Key: Ak++QeiMs4HhXQe3JLpM/R+nU2pzvOWT6GsJZacTfyr6Recovery phrase: <phrase removed>⚠️ Important: write this mnemonic phrase in a safe place. It is the only way to recover your account if you forget your password.Checking for updates...

Creating a project

The archway new command starts a new project.


$ archway new [PROJECT-NAME] [--json] [--log-level debug|error|info|warn] [--chain <value>] [--contract] [--contract-name <value>] [--template <value>]


archway new

Example output with certain details altered or omitted:

✔ Enter the name of the new project … Project 1✔ Select a chain to use › Archway✔ Choose a name for your contract … increment✔ Choose a starter template › IncrementCreating Archway project project-1...🔧   Destination: /Users/testuser/project-1 ...🔧   project-name: project-1 ...🔧   Generating template ...[ 1/19]   Done: .cargo/config                                                                                                                                                                                                                               💡   Initializing a fresh Git repository✨   Done! New project created /Users/testuser/project-1🔧   Destination: /Users/testuser/project-1/contracts/increment ...🔧   project-name: increment ...🔧   Generating template ...✔ 🤷   This template has 2 versions:- The full template includes example logic in case you're new to CosmWasm smart contracts.

Configuring a project

When you have created a new project, navigate to the folder where the project was installed and print your config using the command:

archway config show

An example output:

Chain id: constantine-3Contracts path: ./contractsKeyring backend: osKeyring files path: /Users/testuser/.config/archway/keys

If this configuration isn't to your liking, you can always modify it by executing the archway config set with the key and value you would like to update.


$ archway config set KEY VALUE [--json] [--log-level debug|error|info|warn] [-g]


KEY (required) (chain-id|contracts-path|default-account|keyring-backend|keyring-path) The config key to setVALUE (required) The config value

The Chain ID specifies the chain the project is currently configured to interact with. You can use the following command to easily switch to the Archway testnet (constantine-3):

$ archway config set chain-id constantine-3

You can find the list of public Archway networks here.

Drop Camp is here!

Join the queue and be one of the first to get in!.

Go Camping ↗