Get $TOLL

For builders

Plugins & SDKs

Use Toll's coin and product (LARP) checks from any agent or bot: Robinhood Chain, Solana and BSC.

On this page

10 new coins a day are free (coins already read stay free). Past that, pay per check over x402 at 0.05 USDG on Robinhood Chain, or hold 1M $TOLL. Details: Toll for agents (x402). Every answer is facts read from the chain. Information only, not financial advice.

@tollxyz/sdk

JavaScript / TypeScript. Client for Toll's coin and product checks. Zero dependencies, ESM, with types.

npm install @tollxyz/sdk
import { Toll } from "@tollxyz/sdk";

const toll = new Toll();
const check = await toll.checkCoin("0xff9e86e6b21fd688027981bee4b64c8b6b804ed3", { chain: "rh" });
console.log(check.text);                       // markdown facts from the chain
const larp = await toll.larpCheck("0xff9e86e6b21fd688027981bee4b64c8b6b804ed3", { wait: true });
console.log(larp.text);                        // product found / partly found / not found / not read

npm · GitHub

toll-sdk

Python. Python client for the same checks. Standard library only, typed.

pip install toll-sdk        # import name: toll_sdk
from toll_sdk import Toll

toll = Toll()
check = toll.check_coin("0xff9e86e6b21fd688027981bee4b64c8b6b804ed3", chain="rh")
print(check.text)                      # markdown facts from the chain
larp = toll.larp_check("0xff9e86e6b21fd688027981bee4b64c8b6b804ed3", wait=True)
print(larp.text)                       # product found / partly found / not found / not read

PyPI · GitHub

@tollxyz/plugin-elizaos

ElizaOS. An elizaOS plugin: actions that check a coin, its product and its dev when a message holds an address.

npm install @tollxyz/plugin-elizaos
import type { Character } from "@elizaos/core";

export const character: Character = {
  name: "Trader",
  bio: "Checks who is behind a coin before it trades.",
  plugins: ["@tollxyz/plugin-elizaos"],
};

npm · GitHub

@tollxyz/agentkit

Coinbase AgentKit. A Coinbase AgentKit action provider with the Toll checks as actions.

npm install @tollxyz/agentkit @coinbase/agentkit zod@3
import { AgentKit } from "@coinbase/agentkit";
import { tollActionProvider } from "@tollxyz/agentkit";

const agentKit = await AgentKit.from({ walletProvider, actionProviders: [tollActionProvider()] });

npm · GitHub

@tollxyz/ai-sdk

Vercel AI SDK. Vercel AI SDK tools for the Toll checks.

npm install @tollxyz/ai-sdk ai zod
import { generateText } from "ai";
import { tollTools } from "@tollxyz/ai-sdk";

const { text } = await generateText({
  model,                       // any AI SDK model
  tools: tollTools(),          // or tollTools({ only: ["check_coin", "larp_check"] })
  prompt: "Check 0xff9e86e6b21fd688027981bee4b64c8b6b804ed3 on Robinhood Chain before I buy.",
});

npm · GitHub

@tollxyz/goat-plugin

GOAT SDK. A GOAT SDK plugin with the Toll checks as tools.

npm install @tollxyz/goat-plugin @goat-sdk/core zod@3
import { getTools } from "@goat-sdk/core";
import { toll } from "@tollxyz/goat-plugin";

const tools = await getTools({ wallet, plugins: [toll()] });

npm · GitHub

Guarded agent

Example. An agent that will not buy until Toll's check passes. Source only, not a package; buy() is a stub that never signs or sends a transaction.

git clone https://github.com/t0ll-xyz/toll-plugins
cd toll-plugins && npm install && npm run build -w @tollxyz/sdk
npm start -w @tollxyz/example-guarded-agent -- 0xff9e86e6b21fd688027981bee4b64c8b6b804ed3 --chain rh
// the decision rule (src/rule.ts): refuse when
// 1. the tally shows any "against" finding,
// 2. the product label is "not found",
// 3. the tally or the label could not be read.
// Exit code 0 = would proceed, 1 = refuse, 2 = error.

GitHub

Notes