> For the complete documentation index, see [llms.txt](https://learn.qanplatform.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.qanplatform.com/developers/qvm-multi-language-smart-contracts/generic-workflow/writing-a-smart-contract.md).

# Writing a smart contract

Contracts can be written in several programming languages. We provide official samples for writing smart contracts for the following:

{% content-ref url="/pages/jI285S1Ez5wGdcXcsKIZ" %}
[Golang (Go) smart contract](/developers/qvm-multi-language-smart-contracts/docs-for-supported-languages/golang-go-smart-contract.md)
{% endcontent-ref %}

{% content-ref url="/pages/S6Qe4bbXpoZOjiUH0gcO" %}
[JavaScript (JS) smart contract](/developers/qvm-multi-language-smart-contracts/docs-for-supported-languages/javascript-js-smart-contract.md)
{% endcontent-ref %}

{% hint style="info" %}
We will keep on expanding this list continously! Check back later if your faviourite language is not officially supported here yet.
{% endhint %}
