# Smart contracts and DApps

Use this section for operations that interact with smart contracts directly or through WalletConnect DApps. Smart contract operations use transaction orders because they require ledger-specific payloads, contract data, or wallet interaction.

## Smart contract actions

| Action | UI procedure | API procedure |
|  --- | --- | --- |
| Call a smart contract | [Call a smart contract in the UI](/products/custody/transactions/smart-contracts/ui#call-a-smart-contract) | [Call an EVM smart contract with the API](/products/custody/transactions/smart-contracts/api#call-an-evm-smart-contract), [Call a Tezos smart contract with the API](/products/custody/transactions/smart-contracts/api#call-a-tezos-smart-contract) |
| Deploy a smart contract | [Deploy a smart contract in the UI](/products/custody/transactions/smart-contracts/ui#deploy-a-smart-contract) | [Deploy a smart contract on an EVM ledger with the API](/products/custody/transactions/smart-contracts/api#deploy-a-smart-contract-on-an-evm-ledger) |
| Query an EVM smart contract | [View a smart contract associated with an endpoint](/products/custody/transactions/smart-contracts/ui#view-a-smart-contract-associated-with-an-endpoint) | [Query an EVM smart contract with the API](/products/custody/transactions/smart-contracts/api#query-an-evm-smart-contract) |
| Use a WalletConnect DApp | [Work with decentralized applications](/products/custody/transactions/smart-contracts/dapps-and-walletconnect) | Not available in the API |


For supported ledgers, see [Supported blockchain ledgers](/products/custody/reference/supported-ledgers). For transaction order concepts, see [Transaction workflow](/products/custody/transactions/initiation).