> For the complete documentation index, see [llms.txt](https://bitcoin-spark-foundation.gitbook.io/bitcoin-spark-whitepaper/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bitcoin-spark-foundation.gitbook.io/bitcoin-spark-whitepaper/core-blockchain-function/smart-contract-programming-language-and-layers.md).

# Smart Contract Programming Language and Layers

The Bitcoin Spark layered smart contract execution system will be compatible with two different programming styles, both high-level and low-level languages.

Bitcoin Spark network will allow for smart contract deployment in the EVM-compatible languages Solidity and Vyper, or any other high-level language compilable to EVM bytecode. A parallel layer will also allow for the deployment of contracts in Rust, with integration to allow transaction settlement on the main Bitcoin Spark network. This permits a wider variety of developers and smart contract styles to be on the Bitcoin Spark network, promoting innovation and a wider scope of technical systems.

{% hint style="warning" %}
*Solidity opcode variances are currently unconfirmed. Any incompatibilities will be confirmed on the devkit release.*
{% endhint %}

The layered system allows multiple language implementations as per the below diagram:

<figure><img src="/files/XHKDaVxlCFYAIt9u26yo" alt=""><figcaption></figcaption></figure>

These separate contract execution systems with singular network finality will create a diverse and thriving ecosystem of applications and smart contracts relevant to many use cases.
