A plugin for interacting with the Flow blockchain within the ElizaOS ecosystem.
This plugin provides essential functionality for interacting with the Flow blockchain, including native FLOW token transfers, fungible token transfers, and EVM token interactions. It offers a seamless way to manage Flow blockchain transactions through natural language commands.
To install the plugin, use the following command in your Eliza project:
npx elizaos plugins add @elizaos-plugins/plugin-di
npx elizaos plugins add @elizaos-plugins/plugin-flowThis plugin is the base plugin for Flow blockchain interactions. It provides the core functionality for WalletService and couple sample transaction or query scripts.
The plugin requires the following environment variables to be set:
FLOW_ADDRESS=<Flowwalletaddressstartingwith0x>FLOW_PRIVATE_KEY=<PrivatekeyfortheFlowwalletstartingwith0x>FLOW_NETWORK=<Networktoconnectto: "mainnet","testnet",or"emulator"(optional,defaultsto"mainnet")>FLOW_ENDPOINT_URL=<CustomRPCendpointURL(optional)>Transfers native FLOW tokens, Cadence fungible tokens, or EVM tokens to specified addresses.
Aliases:
- SEND_TOKEN
- SEND_TOKEN_ON_FLOW
- TRANSFER_TOKEN_ON_FLOW
- TRANSFER_TOKENS_ON_FLOW
- TRANSFER_FLOW
- SEND_FLOW
- PAY_BY_FLOW
Input Content:
interfaceTransferContent{token: string|null;// null for native FLOW, Cadence identifier, or EVM addressamount: string;// Amount to transferto: string;// Recipient address (Flow or EVM)}Connection Issues
- Verify network configuration (mainnet/testnet/emulator)
- Check RPC endpoint availability
- Ensure proper wallet configuration
Transaction Failures
- Verify sufficient balance for transfers
- Check correct address format (Flow vs EVM)
- Confirm token contract compatibility
Authentication Issues
- Validate private key format
- Verify wallet address matches private key
- Check network permissions
Key Management
- Store private keys securely
- Use environment variables for sensitive data
- Never expose private keys in code or logs
Transaction Safety
- Validate all addresses before transfers
- Implement proper error handling
- Check token compatibility before transfers
- Clone the repository
- Install dependencies:
pnpm install- Build the plugin:
pnpm run build- Run tests:
pnpm run testThis plugin integrates with and builds upon several key technologies:
- Flow Blockchain: Decentralized layer 1 blockchain
- @onflow/fcl: Flow Client Library
- @onflow/types: Flow type system
- Cadence: Smart contract programming language
Special thanks to:
- The Flow Developer community
- The FCL SDK maintainers
- The Cadence language designers
- The Eliza community for their contributions and feedback
For more information about Flow capabilities:
This plugin is part of the Eliza project. See the main project repository for license information.