# Smart Contract

L1X smart-contracts are the executable code that interprets the instructions sent inside of each transaction on the blockchain.

Smart-contarct code is L1X eBPF machine bytecode.

### **Owner**

Each smart-contract has an owner. This is an account who initialized or deployed a smart-contract.

* An owner of the smart-contract code is the one who deployed the smart-contract.
* An owner of  the smart-contract instance is the one who initialized the smart-contract.

### **Smart-contract accounts**

**Contract code account**

When a smart contract is deployed, a new system account is created. This account keeps the smart-contract code.&#x20;

**Contract instance account**

The deployed smart contract should be initialized first. When the smart contract is initialized, a new system account is created. This account keeps the contract's persistent storage. A contract can have a lot of instances.&#x20;
