# Script Types
There are three types of scripts:
- dApp script comprises сallable functions that can be called externally by the invoke script transaction. Also dApp script may comprise a verifier function that checks transactions and orders that are sent from dApp account.
- Account script checks transactions and orders that are sent from the account (like a verifier function of a dApp script).
- Asset script checks transactions involving the asset.
The script type is defined by the
Features of each script type are described in the table.
|#||dApp script||Account script||Asset script|
| ||dApp address||Smart account address||Asset|
|Transaction or order that is checked||Check is performed by the verifier function only. Annotation of the function sets the name of the variable that contains the outgoing transaction or the order, for example: ||Built-in variable ||Build-in variable |
Order check is not supported
|Proofs accessibility||• Proofs of the outgoing transaction or the order are accessible by the verifier function. |
• Proofs of the invoke script transaction are unaccessible by the callable function
|Blockchain data||• Accessible by the callable function |
• Accessible by the verifier function when checking a transaction
• Unaccessible by the verifier function when checking an order
|• Accessible when checking a transaction |
• Unaccessible when checking an order