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 🙏

© 2026 – Pkg Stats / Ryan Hefner

foxd-sdk

v0.3.1

Published

Typed TypeScript SDK for multi-chain memecoin trading — Solana sniper, Pump.fun/BONK.fun/Raydium LaunchLab launches, honeypot checks, copy trading and MEV-protected execution across Solana, Ethereum, BNB Chain, Base, Arbitrum and HyperEVM. An open alterna

Downloads

951

Readme

foxd-sdk — Solana sniper & multi-chain memecoin trading SDK

Typed TypeScript client for FoxD. One SDK for token discovery, honeypot and rug checks, sniping, copy trading, automated orders and multi-launchpad token launching across Solana, Ethereum, BNB Chain, Base, Arbitrum and HyperEVM.

An open, programmable alternative to GMGN, Banana Gun, Photon and Trojan — the same jobs, as a library you call from your own code, fully typed.

npm i foxd-sdk

What you can build

| You want to… | Use | | --- | --- | | A Solana sniper bot on new Pump.fun / BONK.fun / Raydium LaunchLab mints | sniper.feedtrade.execute | | A Base or BNB memecoin bot — Clanker, four.meme, Uniswap V4 | market.trendingtrade.quote | | A honeypot / rug checker | analytics.security + analytics.simulateHoneypot | | Copy trading — rank wallets, backtest them, mirror them | copyIntel.leaderboardcopyIntel.backtestcopyExec.subscribe | | Take-profit, stop-loss and trailing stops that run server-side | automation.placeTakeProfit / placeStopLoss / placeTrailingStop | | Launch a token across several launchpads at once | launch.quotelaunch.create | | Signed webhooks instead of polling | alerts.subscribe |

87 tools across 13 modules — the full list is at https://foxd.xyz/api/v1.

Chains, launchpads and venues

| Chain | Launchpads | DEXes | | --- | --- | --- | | Solana | Pump.fun, BONK.fun, Raydium LaunchLab, Bags, Jupiter Studio | Raydium, Meteora, Orca, Pump AMM | | BNB Chain | four.meme | PancakeSwap V2/V3 | | Base | Clanker, Zora, Bankr, Flaunch | Uniswap V2/V3/V4, Aerodrome | | Ethereum | — | Uniswap V2/V3/V4 | | Arbitrum | — | Uniswap, Camelot V2/V3 | | HyperEVM | Alt.fun, Hypurr | HyperSwap, Kittenswap |

MEV-protected execution, custodial wallets bindable per API key, and a rolling 24-hour USD spend cap on every key. 0.5% fee on trades; API access is free during early access.

import { FoxD } from "foxd-sdk";

const foxd = new FoxD({ apiKey: process.env.FOXD_API_KEY });

const { tokens } = await foxd.market.trending({ chain: "base", limit: 10 });
const safety = await foxd.analytics.security({ chain: "base", address: tokens[0].address });

Every method, argument and return type comes from foxd-contract, the same declaration the REST API, the MCP server and the CLI are built from. There is no codegen step and nothing to regenerate: a tool added to the contract is callable here immediately, fully typed.

foxd.market.trending({ chain: "dogecoin" });
//                            ~~~~~~~~~~ not assignable to "base" | "solana" | …

Getting a key

Every tool needs one, and an agent can issue itself one with no browser and no human:

const anon = new FoxD();
const { message } = await anon.auth.challenge({ address: wallet.address });
const signature = await wallet.signMessage({ message });
const { apiKey, wallets } = await anon.auth.verifyWallet({
  message,
  signature,
  address: wallet.address,
  scopes: ["read", "wallet:read", "trade:read"],
});

That creates the account, provisions an EVM and a Solana custodial wallet, and returns a key — shown once. For a human in the loop, use the OAuth device flow (auth.startDeviceLoginauth.pollDeviceLogin), which covers Google, X, Telegram, email and wallet sign-in.

Errors and retries

Failures throw a FoxDError carrying the HTTP status, a stable code and, for validation failures, the offending fields:

import { FoxDError } from "foxd-sdk";

try {
  await foxd.trade.execute({ /* … */ });
} catch (e) {
  if (e instanceof FoxDError && e.code === "spend_cap_exceeded") { /* … */ }
  if (e instanceof FoxDError && e.retryable) { /* 429, 503, 504 */ }
}

429, 503 and network failures are retried with backoff, honouring Retry-After. Tools that mutate are never retried automatically — a timeout does not mean the write did not land, and replaying a trade is worse than surfacing the ambiguity.

Options

new FoxD({
  apiKey: "fxk_live_…",
  baseUrl: "https://foxd.xyz/api/v1", // override for self-hosting
  timeoutMs: 30_000,
  maxRetries: 2,
  fetch: myInstrumentedFetch,
  headers: { "x-my-trace": "…" },
});

Isomorphic: it uses only fetch, so it runs in Node, Bun, Deno, workers and the browser. Do not ship a key to a browser you do not control.

Safety

Trading tools spend real money. A key carries only the scopes you grant it, may be bound to a single wallet, and has a rolling 24-hour USD spend cap — set one low before pointing an agent at it, and use keys.update to tighten it without reissuing.

Links

MIT