The official language of TON Blockchain is Tolk, and all other languages are deemed legacy. That said, you can still use them and contribute to the surrounding tooling or documentation.
address
to send the money to,and the
amount
to send. The method does not return a value, indicated by ()
to the left of the method name send_money
.
The method uses the impure
and inline
specifiers, which are flags that tell the compiler to process
the method in specific ways.
The method first creates the message to send msg
by using a cell builder, since the message is encoded as a cell.
A new cell builder is created with function begin_cell
. Then, some message flags are set, indicated at the line
with the single-line comment ;; nobounce
. Then, function store_slice
stores the receiving address,
followed by function store_coins
which stores the amount to send. The builder finalizes the cell with a call to the end_cell
function.
Finally, function send_raw_message
sends the message, where the parameter 64
describes a sending mode.
Fix links once the pages are ready, since most of the links are broken or point to a generic stub.
Compiler
The compiler converts FunC programs into Fift assembler code, generating the corresponding bitcode for the TON Virtual Machine. Developers and engineers can use its bitcode, which is structured as a tree of cells like all data in the TON Blockchain, to create smart contracts or run it on a local instance of the TVM.Compile with JS
Using the Blueprint framework is the most convenient and quickest way to begin developing and compiling smart contracts. Read more in the Blueprint section. The following command installs all JS dependencies and creates a template project in the current working directory:Compile with original binaries
FunC compiler binaries for Windows, macOS (Intel or Arm64), and Ubuntu can be downloaded from GitHub.The last version for the FunC compiler was v2025.07. The FunC compiler is no longer developed. New releases are focused on the Tolk compiler.
TON Blockchain course
The TON Blockchain course covers FunC and smart contract development in its 4th module.Tutorials
I cannot find where the “Introduction” page is in the new docs!!!!!!!The best place to start developing with FunC is the Introduction section.
- Challenge 1: Simple NFT deploy
- Challenge 2: Chatbot contract
- Challenge 3: Jetton vending machine
- Challenge 4: Lottery/raffle
- Challenge 5: Create UI to interact with the contract in 5 minutes
- Challenge 6: Analyzing NFT sales on the Getgems marketplace
- Func & Blueprint - @MarcoDaTr0p0je
- TON hello world: step-by-step guide for writing your first smart contract
- TON hello world: step-by-step guide for testing your first smart contract
- 10 FunC lessons - @romanovichim, using Blueprint
- 10 FunC lessons (RU) - @romanovichim, using Blueprint
- FunC quiz - Vadim. It is good for self-checking and will take 10–15 minutes. The questions are mainly about FunС, with a few general questions about TON.
- FunC quiz (RU) - Vadim
Contests
Joining contests is a great way to learn FunC. You can also review past competitions to learn more:Contest | Tasks | Solutions |
---|---|---|
TSC #5 (Dec 2023) | Tasks | — |
TSC #4 (Sep 2023) | Tasks | Solutions |
TSC #3 (Dec 2022) | Tasks | Solutions |
TSC #2 (Jul 2022) | Tasks | Solutions |
TSC #1 (Mar 2022) | Tasks | Solutions |