> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gelato.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Solidity Functions

## What are Solidity Functions?

Solidity functions are essentially a piece of logic written in Solidity that determines whether certain conditions are met to execute a task.

<Note>
  Solidity Functions enable automation in conjunction with the various trigger types outlined on our [Trigger Types](/web3-functions/introduction/trigger-types) page.
</Note>

## Essential Role of Solidity Functions

* **Ensure Precision**: They ensure that functions are triggered only when the right conditions are met.

* **Boost Efficiency**: By automating repetitive and conditional tasks, they save time and resources.
  By automating repetitive and conditional tasks, they save time and resources.

* **Enhance Flexibility**: Developers can encode a variety of conditions, allowing for a wide range of automated functionalities.

## Scenarios for Solidity Function Automation

* **On-Chain Logic is Required**: Use them when the logic for your automation needs to reside entirely on the blockchain.

* **Fine tune gas price**: Limit the gas price of the execution ensuring your automation doesn't overpay network fees.

* **Security and Immutability are Key**: Automated tasks that require the highest level of security benefit from Solidity's immutable contract execution environment.

## Next steps

Head over to the quick start on how to write Solidity Functions:

<Card title="Writing Solidity Functions" icon="link" href="/web3-functions/how-to-guides/write-solidity-functions">
  Learn how to write Solidity Functions.
</Card>
