A comprehensive integration plugin for ElizaOS that provides access to Okto's various APIs and services, enabling seamless Web3 interactions.
For comprehensive documentation, please visit the Okto Eliza Plugin Documentation.
Watch the video overview of the plugin:
-
Portfolio Management:
- Get user portfolio data and balances
- View NFT portfolio details
- Track token holdings across multiple networks
-
Wallet Management:
- Access user's wallets
- View wallet addresses and network details
-
Token Operations:
- Get supported tokens list and details
- Transfer tokens between addresses
- Swap tokens using DEX integrations
- Execute EVM raw transactions
-
NFT Operations:
- View NFT collections
- Transfer NFTs (ERC721/ERC1155)
- Track NFT balances
-
Chain Support:
- Multiple networks supported including:
- Ethereum
- Polygon
- Optimism
- Arbitrum
- Base
- Linea
- BSC
- Avalanche
- Solana
- Aptos
- Multiple networks supported including:
-
Transaction History: View detailed order history across networks
npm install @okto_web3/eliza-plugin
The plugin requires several environment variables to be set:
# Okto specific settings
OKTO_ENVIRONMENT= # Optional. Defaults to "sandbox". Options: sandbox, staging, production.
OKTO_CLIENT_PRIVATE_KEY= # Required. Your client private key provided by Okto.
OKTO_CLIENT_SWA= # Required. Your client SWA provided by Okto.
# Google OAuth settings
GOOGLE_CLIENT_ID= # Required. Get from https://console.cloud.google.com/
GOOGLE_CLIENT_SECRET= # Required. Get from https://console.cloud.google.com/
- Go to https://console.cloud.google.com/
- Create a new project
- Create OAuth credentials
- Add authorized redirect URI: http://localhost:5000
- Get the client ID and secret
- Set them in your environment variables
import {OktoPlugin} from "@okto_web3/eliza-plugin";
const oktoPlugin = new OktoPlugin()
return new AgentRuntime({
databaseAdapter: db,
token,
modelProvider: character.modelProvider,
evaluators: [],
character,
plugins: [
bootstrapPlugin,
nodePlugin,
oktoPlugin,
].filter(Boolean),
providers: [],
actions: [],
services: [oktoPlugin.oktoService],
managers: [],
cacheManager: cache,
});
OKTO_GET_PORTFOLIO
- Get user's token portfolioOKTO_GET_ACCOUNT
- Get user's wallet accountsOKTO_GET_CHAINS
- Get supported blockchain networksOKTO_GET_NFT_COLLECTIONS
- Get user's NFT collectionsOKTO_GET_ORDERS_HISTORY
- Get transaction historyOKTO_GET_PORTFOLIO_NFT
- Get NFT portfolioOKTO_GET_TOKENS
- Get supported tokensOKTO_TRANSFER
- Transfer tokensOKTO_NFT_TRANSFER
- Transfer NFTsOKTO_SWAP
- Swap tokens using DEX (Experimental)
Contributions are welcome! Please see the CONTRIBUTING.md file for more information.
This plugin is licensed under the MIT License. See the LICENSE file for more information.