Agentek
Integrates with
EVM blockchain
agentek
An extensible TypeScript toolkit that simplifies complex EVM blockchain interactions into composable, intent-based tools. Provides a unified, type-safe interface for both on-chain actions and off-chain data services, enabling developers to programmatically execute any blockchain operation across multiple EVM networks.
Interested in contributing? Check out our CONTRIBUTING.md guide!
Packages
The Agentek toolkit is structured as a monorepo with multiple publishable packages:
@agentek/tools
- The main package containing all tools@agentek/ai-sdk
- AI SDK integration for Vercel AI SDK@agentek/mcp-server
- Model Context Protocol server
Requirements
- Node.js >= 18.0.0
- npm, yarn, or pnpm
Installation
You can install the entire toolkit:
npm install @agentek/tools
AI SDK:
npm install @agentek/ai-sdk
Usage
Using the full toolkit
import { createAgentekClient, allTools } from '@agentek/tools';
import { http } from 'viem';
import { mainnet } from 'viem/chains';
const client = createAgentekClient({
accountOrAddress: '0x...',
chains: [mainnet],
transports: [http()],
tools: allTools({})
});
// Execute a tool
const result = await client.execute('getERC20BalanceTool', {
address: '0x...',
tokenAddress: '0x...'
});
Using with AI SDK
import { createAgentekClient, allTools } from '@agentek/tools';
import { AgentekToolkit } from '@agentek/ai-sdk';
import { http } from 'viem';
import { mainnet } from 'viem/chains';
const toolkit = new AgentekToolkit({
accountOrAddress: '0x...',
chains: [mainnet],
transports: [http()],
tools: allTools({})
});
// Get tools for Vercel AI SDK
const aiTools = toolkit.getTools();
Using the MCP Server
The MCP (Model Context Protocol) server allows you to expose Agentek tools to LLMs via the Model Context Protocol. For more information, see the MCP Server README
Tools (114 total)
Available Tools
- resolveENS
- lookupENS
- getAllowance
- getBalanceOf
- getTotalSupply
- getDecimals
- getName
- getSymbol
- getTokenMetadata
- intentApprove
- getAcrossFeeQuote
- intentDepositAcross
- intentTransfer
- intentTransferFrom
- getLatestTokens
- getBalance
- getCode
- getTransactionCount
- getBlock
- getBlockNumber
- getGasPrice
- estimateGas
- getFeeHistory
- getTransaction
- getTransactionReceipt
- getUniV3Pool
- getUserPositions
- getPoolFeeData
- getPositionDetails
- intentMintPosition
- intentIncreaseLiquidity
- intentDecreaseLiquidity
- intentCollectFees
- intentTransferPosition
- depositWETH
- withdrawWETH
- getNaniProposals
- intentStakeNani
- intentUnstakeNani
- intentProposeNani
- intentVoteNaniProposal
- getNativeCoinHolders
- getAddressInfo
- getAddressCounters
- getAddressTransactions
- getAddressTokenTransfers
- getAddressInternalTransactions
- getAddressLogs
- getAddressBlocksValidated
- getAddressTokenBalances
- getAddressTokens
- getAddressCoinBalanceHistory
- getAddressCoinBalanceHistoryByDay
- getAddressWithdrawals
- getAddressNFTs
- getAddressNFTCollections
- getBlockInfo
- getBlockTransactions
- getBlockWithdrawals
- getStats
- getTransactionsChart
- getTransactionInfo
- getTransactionTokenTransfers
- getTransactionInternalTransactions
- getTransactionLogs
- getTransactionRawTrace
- getTransactionStateChanges
- getTransactionSummary
- getSmartContracts
- getSmartContract
- getTokenInfo
- getTokenHolders
- getTokenTransfers
- getBlockscoutSearch
- getAaveUserData
- getAaveReserveData
- intentAaveDeposit
- intentAaveWithdraw
- intentAaveBorrow
- intentAaveRepay
- checkMaliciousAddress
- checkMaliciousWebsite
- scrapeWebContent
- getFearAndGreedIndex
- getSlowStatus
- predictTransferId
- canUnlockSlow
- getCanReverseSlowTransfer
- getSlowGuardianInfo
- getSlowTransferApprovalRequired
- intentDepositToSlow
- intentSetSlowGuardian
- intentWithdrawFromSlow
- intentApproveSlowTransfer
- intentUnlockSlow
- intentReverseSlowTransfer
- getNFTMetadata
- getCryptoPrice
- estimateGasCost
- getTokenChart
- getYieldTool
- compareYieldTool
- getYieldHistoryTool
- compareYieldHistoryTool
- think
- askPerplexitySearch
- intent0xSwap
- tallyProposals
- tallyChains
- tallyUserDaos
- intentGovernorVote
- intentGovernorVoteWithReason
- getLatestCoindeskNewsTool
- getMarketEvents