npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@agentek/tools

v0.1.19

Published

Blockchain tools for AI agents

Downloads

52

Readme

Agentek Tools

A comprehensive collection of blockchain and web tools designed for AI agents. This package provides over 100 tools to interact with Ethereum and EVM-compatible networks, enabling AI systems to perform blockchain operations, access DeFi protocols, and retrieve crypto market data.

✨ Features

  • Extensive Tool Collection: Over 100 blockchain and web tools
  • Modular Architecture: Tools are organized by functionality
  • Type Safety: Full TypeScript support with strict typing
  • Chain Agnostic: Works with multiple EVM-compatible networks
  • Parameter Validation: Uses Zod for robust parameter validation
  • DeFi Ready: Integration with Uniswap, Aave, and other protocols
  • AI Integration: Designed for use with AI systems

🚀 Installation

# npm
npm install @agentek/tools

# pnpm
pnpm add @agentek/tools

# yarn
yarn add @agentek/tools

📋 Requirements

  • Node.js >= 18.17.0 (Required for proper fetch API support)

🧰 Available Tools

The package includes tools for:

  • Tokens: ERC20, WETH, and NFT operations
  • DeFi: Trading, lending, and yield information
  • Identity: ENS domain resolution and lookup
  • Data: Price feeds, block explorers, and market data
  • Security: Address and transaction security checks
  • Governance: DAO voting and proposal information
  • Web: Basic web browsing and search tools

🔧 Usage

import { allTools } from '@agentek/tools';
import { createPublicClient, http } from 'viem';
import { mainnet } from 'viem/chains';

// Initialize the tools
const tools = allTools({
  // Optional API keys for additional functionality
  perplexityApiKey: process.env.PERPLEXITY_API_KEY,
  zeroxApiKey: process.env.ZEROX_API_KEY,
  // ...other API keys
});

// Create a client to use the tools
const client = new AgentekClient({
  transports: [http('https://ethereum.publicnode.com')],
  chains: [mainnet],
  accountOrAddress: '0xYourAddress',
  tools: tools,
});

// Execute a tool
const balance = await client.execute('getEthBalance', {
  address: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045',
});
console.log(`Balance: ${balance} ETH`);

🏗️ Creating Custom Tools

Tools follow a standardized pattern:

import { z } from 'zod';
import { createTool } from '@agentek/tools/client';

const myCustomTool = createTool({
  name: 'myCustomTool',
  description: 'Does something useful',
  parameters: z.object({
    param1: z.string().describe('Description of param1'),
    param2: z.number().optional().describe('Optional parameter'),
  }),
  execute: async (client, args) => {
    // Tool implementation
    return { result: 'Success!' };
  },
});

📚 Documentation

For more detailed documentation and examples, see the official documentation.

📄 License

AGPL-3.0