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

utilia-solana-agent

v0.5.8

Published

Pay-per-call Solana transaction diagnosis, simulation, token risk, and live priority fees via guarded x402 payments.

Readme

utilia-solana-agent

Turn a failed Solana signature into a support-ready answer: what landed, what changed, why it failed, and what is safe to try next. The package connects to Utilia, handles x402 payments locally, and can run as a guarded CLI, a budget-capped fee watcher, or a standard stdio MCP server.

No Utilia account, API key, or subscription is required. Calls cost between $0.002 and $0.01 in USDC on Solana or Base.

Diagnose one failed transaction

Use a dedicated low-balance Solana automation wallet that holds a small amount of mainnet USDC and SOL for fees:

export SOLANA_KEYPAIR_PATH=/absolute/path/to/automation-wallet.json
npx -y [email protected] doctor
npx -y [email protected] transaction <signature>

The diagnosis costs exactly $0.004 USDC and returns confirmation state, fee, compute use, SOL and token deltas, program logs, a stable failure class, and a retry-aware suggested action.

Run a budget-capped priority-fee feed

export SOLANA_KEYPAIR_PATH=/absolute/path/to/automation-wallet.json
npx -y [email protected] watch-fees \
  --every 12m \
  --max-calls 25

The first JSONL result is immediate, then one result is emitted every 12 minutes: five calls per hour for $0.01, with an automatic $0.05 maximum. Each line includes the observation time, fee quantiles, paid amount, and settlement transaction. Add --accounts account1,account2 to localize the estimate to the writable accounts in a transaction.

Fastest wallet-managed proof

Agents that already use AgentCash can make the lowest-cost live call without handling a private key directly:

npx -y agentcash@latest balance
npx -y agentcash@latest fetch \
  https://api.utilia.ink/base/v1/fees/priority --yes

This route returns live Solana priority-fee data and settles the exact $0.002 USDC payment on Base. AgentCash creates and manages its own wallet on first use; balance reports its available funds and funding accounts. Utilia never receives or controls the payer's key.

Install the Solana evidence skill

Install the transaction workflow into Codex, Claude Code, OpenClaw, Cursor, or any other agent supported by the open Skills CLI:

npx skills add mohamedkuch/utilia-solana-agent \
  --skill utilia-solana-preflight -g -y

Then ask the agent to use $utilia-solana-preflight to diagnose a failed signature, fetch priority fees, inspect a token, or simulate before broadcast.

What agents can do

| Tool | Result | Price | | ----------------------------- | ----------------------------------------------------------- | ------: | | solana_priority_fees | Recent priority-fee quantiles | $0.002 | | solana_transaction_analysis | Confirmed transaction, deltas, logs, failure guidance | $0.004 | | solana_token_analysis | Authorities, Token-2022 controls, concentration, risk flags | $0.006 | | solana_transaction_simulate | Pre-broadcast simulation and failure classification | $0.008 | | pdf_to_markdown | Page-delimited Markdown, metadata, and a source digest | $0.0025 | | normalize_audio | Bounded normalized MP3, loudness measurements, and digests | $0.01 |

PDF and audio utility transforms

The same guarded client also exposes two bounded non-Solana transforms:

npx -y [email protected] pdf-to-markdown \
  https://example.com/document.pdf --max-pages 20
npx -y [email protected] audio-normalize \
  https://example.com/voice-note.wav --output voice-note-normalized.mp3

PDF conversion costs $0.0025 USDC and returns page-delimited Markdown, metadata, and a source digest. Audio normalization costs $0.01 USDC, targets -16 integrated LUFS by default, verifies the saved MP3 locally, and returns loudness evidence plus content digests.

Dedicated skills are available as utilia-pdf-to-markdown and utilia-audio-normalization.

Solana quick start

Use a dedicated low-balance Solana automation wallet that holds a small amount of mainnet USDC and SOL for fees.

export SOLANA_KEYPAIR_PATH=/absolute/path/to/automation-wallet.json
npx -y utilia-solana-agent doctor
npx -y utilia-solana-agent fees

For a JSONL fee feed at five calls per hour, capped at 25 calls and $0.05 total:

npx -y utilia-solana-agent watch-fees --every 12m --max-calls 25

The first result is immediate, then one result is emitted every 12 minutes. The process stops after 25 calls; Ctrl-C stops it sooner. Localize estimates to the writable accounts used by your transaction builder with --accounts account1,account2.

You can alternatively set SOLANA_PRIVATE_KEY to a base58-encoded 64-byte private key. Environment variables are inherited by the local process; the private key is never sent to Utilia.

Solana Agent Kit plugin

Use the same wallet already attached to Solana Agent Kit. The plugin adds four budget-capped, read-only actions without asking for a second private key:

import { SolanaAgentKit } from "solana-agent-kit";
import { createUtiliaPlugin } from "utilia-solana-agent";

const agent = new SolanaAgentKit(wallet, rpcUrl, {}).use(createUtiliaPlugin());

const fees = await agent.methods.utiliaPriorityFees(agent, {
  accounts: writableAccounts,
});

The registered agent actions are UTILIA_PRIORITY_FEES, UTILIA_SIMULATE_TRANSACTION, UTILIA_ANALYZE_TRANSACTION, and UTILIA_ANALYZE_TOKEN. Payments are signed by the Agent Kit wallet only after the same receiver, asset, network, and per-call maximum checks described below pass. The wallet must implement Agent Kit's signMessage() method and hold a small amount of Solana mainnet USDC; the facilitator pays the transaction fee.

Add it to an MCP client

Add this stdio server to any MCP client that supports an executable command:

{
  "mcpServers": {
    "utilia": {
      "command": "npx",
      "args": ["-y", "[email protected]", "mcp"],
      "env": {
        "SOLANA_KEYPAIR_PATH": "/absolute/path/to/automation-wallet.json"
      }
    }
  }
}

The local bridge advertises all six Utilia tools without loading or transmitting a wallet. When the agent calls one, the bridge loads the configured wallet locally, verifies the payment request, signs the exact USDC payment, and returns the paid result. A wallet is therefore required for tool execution, not for MCP initialization or tools/list.

CLI

npx -y utilia-solana-agent fees [account1,account2]
npx -y utilia-solana-agent watch-fees [--every 12m] [--max-calls 25] [--accounts account1,account2]
npx -y utilia-solana-agent transaction <signature>
npx -y utilia-solana-agent simulate <serialized-transaction> [base64|base58]
npx -y utilia-solana-agent token <mint>
npx -y [email protected] audio-normalize <public-https-audio-url> [--output normalized.mp3] [--target-lufs -16] [--max-seconds 180]
npx -y [email protected] pdf <public-https-pdf-url> [max-pages]
npx -y [email protected] pdf-to-markdown <public-https-pdf-url> [--max-pages 50]
npx -y utilia-solana-agent call <tool-name> '<json-arguments>'

Payment guardrails

The package will only approve a payment when every field matches:

  • network: Solana mainnet
  • asset: official Solana mainnet USDC
  • receiver: Utilia's published wallet
  • maximum: 10,000 atomic USDC, or $0.01, per tool call

A changed receiver, asset, network, zero amount, malformed amount, or higher amount is rejected before signing. The package has no withdrawal, swap, token-launch, or arbitrary-transaction capability.

Machine-readable endpoints

  • Remote MCP: https://api.utilia.ink/mcp
  • OpenAPI: https://api.utilia.ink/openapi.json
  • x402 discovery: https://api.utilia.ink/.well-known/x402
  • MCP registry package: ink.utilia/solana-preflight

License

MIT