Gelato
  • Introduction
    • Gelato, The Web3 Cloud Platform
  • Smart Wallets
    • Introduction
      • Understanding EIP-7702
      • Understanding ERC-4337
      • ERC-4337 vs EIP-7702
    • Templates & Examples
    • How-To Guides
      • Create a Sponsor API Key
      • Sponsor gas for your users
      • Allow users to pay gas with erc20
      • Allow users to pay gas with native
      • Create Dynamic's Environment Id
      • Use Dynamic/Privy signers with React SDK
      • Estimate Gas for your transactions
    • React SDK
    • Demo
    • Supported Networks
  • Rollup As A Service
    • Introduction
    • Rollup Stacks
      • Arbitrum Orbit
        • Run a Full Orbit Node
      • OP Stack
        • Run OP Node
    • Deploy your Rollup
    • Customization
      • Data Availability
        • Celestia
        • Avail
        • Eigen DA
      • Custom Gas Token
      • Marketplace
        • Gelato Services
        • Data Indexers
        • Block Explorers
        • Oracles
        • Bridges
        • Account Abstraction
        • On & Off-ramp
        • Community
        • Identity & KYC
        • Others
      • Verifier Node Package
    • Public Testnet
  • RPC Nodes
    • Introduction
    • Compute Units
    • Using RPC Nodes
    • Supported Networks
    • Pricing and Plans
    • FAQ
  • Web3 Services
    • Web3 Functions
      • Understanding Web3 Functions
        • Trigger Types
        • Typescript Function
        • Solidity Function
        • Automated Transactions
      • Security Considerations
      • Template & Use Cases
      • Quick Start
        • Writing Typescript Functions
          • Event Trigger
          • Private Typescript Functions
          • Callbacks
        • Test, Deploy & Run Typescript functions
        • Writing Solidity Functions
        • Test, Deploy & Run Solidity Functions
        • Initiate an Automated Transaction
      • Create a Web3 Function Task
        • Using the UI
        • Using the Safe App
        • Using a Smart Contract
        • Using the Automate SDK
      • Analytics & Monitoring
      • Supported Networks
      • Subscription & Payments
      • Legacy Automate Migration Guide
    • Relay
      • What is Relaying?
      • Security Considerations
        • ERC-2771 Delegatecall Vulnerability
      • Templates
      • Quick Start
        • Sponsored Calls
        • Non-Sponsored Calls
      • ERC-2771 (recommended)
        • SponsoredCallERC2771
        • CallWithSyncFeeERC2771
          • Relay Context Contracts ERC2771
      • Non-ERC-2771
        • SponsoredCall
        • CallWithSyncFee
          • Relay Context Contracts
      • Relay API
      • Gelato's Fee Oracle
      • Tracking your Relay Request
      • Supported Networks
      • Subscriptions and Payments
        • 1Balance & Relay
        • SyncFee Payment Tokens
        • Relay Pricing
      • ERC2771 Migration Guide
    • VRF
      • Understanding VRF
      • How does Gelato VRF Work?
      • Security Considerations
      • Template
      • Quick Start
      • Create a VRF Task
        • Create a Fallback VRF
        • Migrating from Chainlink VRF
      • Supported Networks
      • Pricing & Rate Limits
    • Oracles
      • Understanding Gelato Oracles
      • Quick Start
      • Data Providers
        • Stork
        • Choas Labs
      • Migrating from Chainlink Oracles
      • Available Price Feeds
      • Supported Networks
      • Pricing & Rate Limits
    • Account Abstraction
      • Understanding ERC-4337
      • Introduction to Gelato Bundler
      • Templates & Examples
      • Quick Start
      • Supported Networks
      • Bundler API Endpoints
        • eth_sendUserOperation
        • eth_estimateUserOperationGas
        • eth_getUserOperationByHash
        • eth_getUserOperationReceipt
        • eth_supportedEntryPoints
        • eth_maxPriorityFeePerGas
        • eth_chainId
    • 1Balance
      • 1Balance Alerts
      • Subscription Plans
      • Subscription Notifications
      • USDC Addresses
    • AI Agents
    • Teams
  • GELATO DAO
    • DAO & Token (GEL)
    • GEL Token Contracts
    • Governance Process
  • Social Media
Powered by GitBook
On this page
  • Subscription Plans
  • Gelato Units (G-units)
  • Payments
  • Transaction Charges
  • Transaction pays for itself
  1. Web3 Services
  2. Web3 Functions

Subscription & Payments

PreviousSupported NetworksNextLegacy Automate Migration Guide

Last updated 2 months ago

Subscription Plans

With our subscription plans, users can choose the level of service that best fits their development and operational needs. Our plans are designed to cater to everything from small-scale projects to large enterprise operations.

Gelato Units (G-units)

We're introducing a new way to measure your usage: Gelato Units, or G-Units. G-Units are a straightforward way to calculate how much computing power your tasks use. They replace the old method of counting each task run, allowing you to run more tasks with less resource use. If your tasks are simple and use fewer resources, you can do more of them each month. The less computing power you use, the more tasks you can run—making G-Units a fairer way to measure and pay for what you actually use.

Resource Used
Gelato Units

Solidity Function

1 Run

1 GU

Typescript Function

  • 1 RPC Call

  • 1 CPU Second

  • 1 GU

  • 2 GU

Transaction Simulation

Each time a solidity or a typescript function returns an executable payload, we verify that the transaction is not reverting

1 GU

You decide when your Function ; running it more often will use up more G-Units. For instance, if a task is executed with every new block on the Polygon network, it will use more G-Units than if it’s scheduled to execute just once at month's end.

You can keep track of your current subscription and handle all aspects of your plan with ease. To view your current plan, . To manage your subscriptions, .

Payments

In order for the network to be sustainable & decentralized, Gelato Nodes charge fees for running off-chain computation and executing transactions.

Our default method is to pay for all your Web3 Function costs across all networks from a single balance using Gelato 1Balance. Learn more about it by heading over the linked page:

If you exceed these limits your Web3 Function runs will be throttled. If you have any questions or would like to discuss your subscription, please reach out to us .

Transaction Charges

Each transaction that Gelato Nodes execute require a small fee to incentivize Nodes to adhere to the protocol and get your transactions included into your desired blockchain in a fast and secure fashion.

To achieve this, Nodes charge a fee as a percentage of total gas cost for the executed transaction. This varies across networks - Nodes charge higher premiums on cheaper networks and vice versa.

Network
Percentage Premium (%)

Ethereum

20

Polygon

70

Fantom

50

Avalanche

40

BNB

30

Optimism

50

Arbitrum

50

Gnosis

100

ZkSync Era

50

Polygon zkEvm

50

Base

50

Linea

50

Table 1 - Fee premiums as a percentage of total gas cost per network. Testnet transactions are subsidized by Gelato.

Transaction pays for itself

contract CounterWT is AutomateReady {
    uint256 public count;
    uint256 public lastExecuted;

    constructor(address _automate, address _taskCreator)
        AutomateReady(_automate, _taskCreator)
    {}

    receive() external payable {}

    function increaseCount(uint256 amount) external onlyDedicatedMsgSender {
        count += amount;
        lastExecuted = block.timestamp;

        (uint256 fee, address feeToken) = _getFeeDetails();

        _transfer(fee, feeToken);
    }
}

In the increaseCount function, we use _transfer inherited from AutomateReady to pay Gelato.

_transfer has two parameters, fee and feeToken which has to be queried from the Automate contract by using getFeeDetails()

To create a task that pays for itself, head over to the task properties and enable the 'Transaction pays itself"

These transaction premiums can be customised for users. Please reach out to us to discuss your needs.

You can also choose to have your function pay the fee during executions. It must be remembered that running Web3 Functions has computational costs. Please see here the Free Tier limits, in the case that the Web3 Functions goes above these limits, will be also required to pay for the computational costs.

This can be done by inheriting .

triggers
click here
click here
1Balance
here
here
1Balance
AutomateReady