# Turing-Complete Smart Contract Support

Turing-complete smart contracts open the door to numerous use cases in video streaming and beyond, from token investments in streamers, to automated splits of SCPT rewards between platform/streamers/users, to non-fungible tokens (NFTs) representing top content creators.&#x20;

Since the Script Virtual Machine is compatible with Ethereum Virtual Machine (EVM), porting over existing Ethereum-based contracts is simple and thousands of smart contract developers can easily jump to building on Script. Between the Script Labs team and Script community, many projects are already in the works including decentralized exchanges (DEXs), staking pools, and more.

Since the Script Virtual Machine is compatible with EVM, a developer can compile the [Solidity](https://docs.soliditylang.org/en/v0.7.5) contract source code using his preferred compiler toolchain ([Remix](https://remix.ethereum.org/), [Truffle](https://www.trufflesuite.com/), or [solc](https://docs.soliditylang.org/en/v0.7.5/installing-solidity.html)) into bytecode and then deploy to the Script Blockchain.

A user can deploy and interact with the smart contract either manually through the Script Web Wallet or programmatically via the Script Blockchain SDK. Also note that on the Script Blockchain, SCPT takes the place of ETH in all contracts. Just as you need ETH to deploy or interact with smart contracts on Ethereum, you need SCPT to do so on Script blockchain. All SCPT used to deploy or interact with smart contracts is burned.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.script.tv/for-users/blockchain-integration/turing-complete-smart-contract-support.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
