Getting started
Welcome to TON quick start guide! This guide will give you a starting point for further research of TON concepts and basic practical experience of developing applications with the TON Ecosystem.
Prerequisites
- Basic programming knowledge.
- Around 30 minutes of your time.
Note: We will provide a short explanation of core concepts during the guide, but if you prefer a more theoretical approach, you can check out core concepts of TON Blockchain first.
What You'll Learn
- Interact with TON Ecosystem: Wallets and Explorers.
- Setup development environment: use Blueprint SDK for developing
smart contracts
usingFunC
,Tact
, andTolk
programming languages. - Send transactions and read from TON Blockchain using your preferred programming language and available SDKs.
- Core concepts of TON Blockchain:
messages
,smart contracts
,addresses
and etc. - Basic templates ready for implementation of your project logic.
Concept of smart contract
You can think of smart contracts in TON as a program running on blockchain following well known behavior concept of actor.
In contrast to some other blockchains where you can call in synchronous way other contracts code, smart contract in TON is a thing in itself, and communicates with other smart contracts on equal basis sending asynchronous messages between each other.
Each processing of message by receiver smart contract is considered a transaction resulting in following actions:
- Sending further messages.
- Changing internal data or even code of smart contract itself.
- Changing it's balance.
Available interfaces of smart contract are:
- Receiving
internal messages
from other smart contract. - Receiving
external messages
from outside the blockchain. - Receiving
get methods
request from outside the blockchain.
In contrast to internal
and external
messages, get methods
are not what you can consider as a transaction. Those are special functions of smart contract that cannot change contract internal state or proceed any other action except querying specific data from contract state.
Contrary to what might seem intuitive, invoking get methods
from other contracts is not possible.
Interacting with TON Ecosystem
Before we step on our way of becoming a TON developer, we should become an advanced user of TON! Let's create your own wallet
, send a few transactions, and see how our actions are reflected on the blockchain using explorers
.
Step 1: Create a new wallet using an app
The simplest way to create a wallet
is to visit https://ton.org/wallets and choose one of the wallet apps from the list. They are all pretty similar, let's choose Tonkeeper. Go ahead, install and run it.
Step 2: Mainnet and Testnet
In the TON there is two different networks called Mainnet
and Testnet
, that have distinct roles:
- The
Mainnet
is the primary network where actual transactions take place, carrying real economic value as they involve real cryptocurrency. - The
Testnet
is a testing version of the TON Blockchain designed for development and testing purposes. It's a risk-free zone for developers to test without financial implications. It's mainly used for development, testingsmart contracts
, and trying new features.
Getting funds
Transactions in TON always require some amount of funds, since executing smart contracts code requires fee payment. TON basic transactions are very cheap, about 1 cent per transaction, getting euqivalent to $5 amount of Toncoin will be enough for hundreds of them. Here is how you can get them:
- For
Mainnet
you can getToncoins
by simply pressing the buy button in the user interface, or ask someone to send them to youraddress
, which you can copy from the wallet app somewhere near your balance.
Don't worry, sharing your address
is totally safe, unless you don't want it to be associated with you.
- For the
Testnet
version, you can request funds from the Testgiver Ton Bot completly for free! After a short wait, you will receive 2Toncoins
that will appear in your wallet app.
Step 3: Creating Testnet wallet
If you decide to use the Testnet
version, you can do to it by following guide below.
Generating mnemonic
To create your first Testnet wallet in Tonkeeper you should obtain mnemonic using the button below. Do not forget to save this phrase!
Your mnemonic:s
Creating wallet
To create Testnet wallet click Wallet
-> Add Wallet
- TestnetAccount
. Then import seed phrase generated in previous step.


Step 4: Exploring TON Blockchain
Congratulations! We created our first wallet and received some funds on it. Now let's take a look at how our actions are reflected in the blockchain
. We can do this by using various explorers.
An explorer
is a tool that allows you to query data from the chain, investigate TON smart contracts
, and transactions. For our examples, we are going to use TonViewer.
Note that in case of using Testnet
, you should manually change the explorer mode to the Testnet
version. Don't forget that these are different networks not sharing any transactions or smart contracts, so your Testnet
wallet would not be visible in Mainnet
mode and vice versa.
Let's take a look at our newly created wallet using the explorer
: copy your wallet address from the app and insert it into the search line of the explorer like this:

Address state
First, let't examine common address state of our smart contract:
Nonexisting
: If you still didn't receive funds to youraddress
you can see the default state for any address that has not been used before, and therefore don't have any data.

Uninit
: stands for an address that has some metadata such as funds, but hasn't been initialized by deployedsmart contract
code or data.

This might seem unintuitive, why is your wallet in uninit
state when you already created it? There is little difference between wallet app
and wallet smart contract
:
wallet app
is your off-chain client forwallet smart contract
wallet smart contract
is contract itself, since its deployment requires some fees mostwallet apps
don't actually deploy the walletsmart contract
until you receive funds on your address and try to make your first transaction.
Active
: state of deployedsmart contract
with positive balance. To deploy our wallet let's send first transaction to someone special - ourselves. And see how it looks on theblockchain
. Enter the send menu in your wallet app and transfer some funds to your own address that you have copied before. In the explorer, our contract should start looking something like this:

There is also fourth state called frozen standing for smart contract with storage charge that exceeds it's balance. In this state smart contract cannot perform any operations.
And here we are, our wallet contract is deployed and ready to use. Let's examine provided user interface:
Metadata Section
- Address: Your account's unique ID (e.g.,
QQB...1g6VdFEg
) - Balance: Current TON amount
- Type: Contract version (e.g.,
wallet_v5r1
– detected automatically by code) - State: address state. Maybe
nonexisting
,uninit
,active
orfrozen
Navigation Tabs
- History/Transactions: Displays recent activity (e.g., received funds, contract deployments)
- Code: Shows raw smart contract code compiled from
Func
/Tact
/Tolk
. - Methods: Allows execution of
get methods
to retrieve persistent contract data.
Next Steps:
- Try to experiment with
wallet app
andwallet smart contract
: create another wallet contract in your wallet app and try to send transactions between them. - Continue to Blockchain interaction if you want to learn how to interact with
smart contracts
from outside the blockchain. - Or dive into Developing smart contracts to learn how to develop
smart contracts
by yourself!
Happy creating on TON!