A powerful plugin to interact with smart contracts using Gelato Relay, supporting both ERC2771 (meta transactions) and non-ERC2771 calls on any EVM-compatible blockchain.
sponsoredCallERC2771.pnpm install elizaos/plugin-gelato
Fill out the .env file in the project root with the following variables:
GELATO_RELAY_API_KEY=<Your Gelato Relay API Key>
EVM_PROVIDER_URL=<Your EVM provider URL (e.g., Alchemy or Infura endpoint)>
EVM_PRIVATE_KEY=<Your wallet's private key>
Call increment() on 0x3890DB55ff538FBF281c9152820A4a748f5D6F21 contract:
- Function Name: increment
- Args: []
- Target: 0x3890DB55ff538FBF281c9152820A4a748f5D6F21
- Chain: arbitrumSepolia
- ABI: ["function increment()"]
Call increment() on 0x00172f67db60E5fA346e599cdE675f0ca213b47b contract:
- Function Name: increment
- Args: []
- Target: 0x00172f67db60E5fA346e599cdE675f0ca213b47b
- Chain: arbitrumSepolia
- ABI: ["function increment()"]
- User: 0xYourAddressHere
For both scenarios, successful execution returns:
✅ Contract interaction successful!
- Function: increment
- Target: 0x<contract_address>
- Chain: arbitrumSepolia
- Task ID: <task_id>
- Track Status: [View Task](https://relay.gelato.digital/tasks/status/<task_id>)
utils.ts:
Contains functions for sponsoredCall and sponsoredCallERC2771.
schemas.ts:
Defines Zod schemas to validate user input.
actionsContractInteraction.ts:
Contains the action logic, including parsing natural language input and invoking Gelato Relay.
.env file with valid keys..env file is properly configured.User address is correct and matches the expected _msgSender logic in the contract.This plugin is licensed under the MIT License. See the LICENSE file for details.
(top 30 of 361)
TypeScript
97.1%
A powerful plugin to interact with smart contracts using Gelato Relay, supporting both ERC2771 (meta transactions) and non-ERC2771 calls on any EVM-compatible blockchain.
sponsoredCallERC2771.pnpm install elizaos/plugin-gelato
Fill out the .env file in the project root with the following variables:
GELATO_RELAY_API_KEY=<Your Gelato Relay API Key>
EVM_PROVIDER_URL=<Your EVM provider URL (e.g., Alchemy or Infura endpoint)>
EVM_PRIVATE_KEY=<Your wallet's private key>
Call increment() on 0x3890DB55ff538FBF281c9152820A4a748f5D6F21 contract:
- Function Name: increment
- Args: []
- Target: 0x3890DB55ff538FBF281c9152820A4a748f5D6F21
- Chain: arbitrumSepolia
- ABI: ["function increment()"]
Call increment() on 0x00172f67db60E5fA346e599cdE675f0ca213b47b contract:
- Function Name: increment
- Args: []
- Target: 0x00172f67db60E5fA346e599cdE675f0ca213b47b
- Chain: arbitrumSepolia
- ABI: ["function increment()"]
- User: 0xYourAddressHere
For both scenarios, successful execution returns:
✅ Contract interaction successful!
- Function: increment
- Target: 0x<contract_address>
- Chain: arbitrumSepolia
- Task ID: <task_id>
- Track Status: [View Task](https://relay.gelato.digital/tasks/status/<task_id>)
utils.ts:
Contains functions for sponsoredCall and sponsoredCallERC2771.
schemas.ts:
Defines Zod schemas to validate user input.
actionsContractInteraction.ts:
Contains the action logic, including parsing natural language input and invoking Gelato Relay.
.env file with valid keys..env file is properly configured.User address is correct and matches the expected _msgSender logic in the contract.This plugin is licensed under the MIT License. See the LICENSE file for details.
(top 30 of 361)
TypeScript
97.1%