@monad-agent-kit/plugin-tokens
v0.1.1
Published
Token information plugin for Monad Agent Kit - token metadata, pricing, and portfolio
Maintainers
Readme
@monad-agent-kit/plugin-tokens
Token information plugin for Monad Agent Kit — token metadata, real-time pricing, portfolio tracking, transaction history, gas estimation, and agent analytics.
Installation
bun add @monad-agent-kit/core @monad-agent-kit/plugin-tokensUsage
import { MonadAgentKit } from "@monad-agent-kit/core"
import { tokensPlugin } from "@monad-agent-kit/plugin-tokens"
const agent = new MonadAgentKit({ privateKey: "0x..." })
await agent.use(tokensPlugin)Actions
getTokenInfo
Get token metadata (name, symbol, decimals, total supply).
await agent.execute("getTokenInfo", { token: "0xUSDC" })
// { name: "USD Coin", symbol: "USDC", decimals: 6, totalSupply: "243783269.384573" }getTokenPrice
Get real-time token price via DEX quote.
await agent.execute("getTokenPrice", { token: "0xWMON" })
// { price: "0.0185", quoteToken: "USDC", source: "kuru" }getPortfolio
Get wallet balances with USD values. Uses Multicall3 batching for efficiency, checks 48 known tokens.
await agent.execute("getPortfolio", {
includePrices: true,
alchemyApiKey: "...", // optional, enables token discovery on testnet
})
// { tokens: [{ symbol: "MON", balance: "5.0", usdValue: "0.09" }, ...], totalUsdValue: "7.65" }getTransactionHistory
Get wallet transaction history (native and token transfers).
await agent.execute("getTransactionHistory", {
limit: 20,
type: "all", // "native" | "token" | "all"
})getFirstActivity
Find when a wallet was first active on-chain.
await agent.execute("getFirstActivity", { address: "0x..." })
// { blockNumber: 12345, timestamp: 1706745600, transactionHash: "0x..." }estimateGas
Estimate gas cost before executing a transaction.
await agent.execute("estimateGas", {
to: "0x...",
value: "1000000000000000000", // 1 MON in wei
})
// { gasLimit: "21000", gasCost: "0.000042", gasCostUsd: "0.0000008" }simulateTransaction
Dry-run a transaction to preview success/failure and gas cost without sending it.
await agent.execute("simulateTransaction", {
to: "0x...",
data: "0x...",
})
// { success: true, gasUsed: "45000", returnData: "0x..." }getActionHistory
Query the agent's action execution history from the in-memory transaction log.
await agent.execute("getActionHistory", {
action: "transfer",
success: true,
limit: 10,
})getActionStats
Get aggregate statistics about the agent's action history.
await agent.execute("getActionStats", {})
// { total: 42, successful: 40, failed: 2, uniqueActions: 5, withTransaction: 15 }Constants
import { KNOWN_TOKENS, STABLECOINS, getKnownTokens } from "@monad-agent-kit/plugin-tokens"
// Get all known tokens for a chain
const tokens = getKnownTokens(143) // mainnetLicense
MIT
