# 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="https://3217825125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj9hEk9kiY8ArikdUCqnJ%2Fuploads%2F96R6GTA8KsSaUY2vWHje%2FLayers%20BTCS.png?alt=media&#x26;token=1df3582e-3f79-4508-9daf-fc0a60d225c8" 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.
