# Executing smart contract

Smart contracts are tied to spaces. Each space can have one or none smart contracts. There can be unlimited number of spaces.

For example, smart contract is executed in space `space1` when new transaction is created with `transaction.space = 'space1'`, exactly before this transaction is going to be confirmed.

If  `confirm` method of smart contract returns `false`, transaction will be rejected. If it returns `true`, transaction is confirmed and stored in a block.
