io.github.hifriendbot/agentwallet
NPM · AGENTWALLET-MCP · SCANNED AUG 3
Wallet infrastructure for Ai agents. EVM + Solana. x402 payments. No KYC.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security87
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 0 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability74
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 4064 tokens (~140/item across 29 items; 29 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · agentwallet-mcp
claude mcp add hifriendbot-agentwallet -- npx -y agentwallet-mcp
codex mcp add hifriendbot-agentwallet -- npx -y agentwallet-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"hifriendbot-agentwallet": {
"type": "local",
"command": [
"npx",
"-y",
"agentwallet-mcp"
],
"enabled": true
}
}
} openclaw mcp add hifriendbot-agentwallet --command npx --arg -y --arg agentwallet-mcp
mcp_servers:
hifriendbot-agentwallet:
command: "npx"
args: ["-y", "agentwallet-mcp"] {
"mcpServers": {
"hifriendbot-agentwallet": {
"command": "npx",
"args": [
"-y",
"agentwallet-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Aug 26 +63
- Provenance: unverified → fail ▼ security
- Known CVEs: unverified → partial ▲ security
- Install scripts: unverified → pass ▲ security
- Malware scan: unverified → pass ▲ security
- Tool coverage: unverified → 100 ▲ functional
- License: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- Maintenance: unverified → pass ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Stability: unverified → 0.23 ▲ functional
- Schema quality: unverified → excellent ▲ functional
- Licence: MIT functional
- 31 Jul 26 −21
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −18
- Tool coverage: 100 → unverified ▼ functional
- Dependency health: unverified → partial ▲ functional
- First check of Schema quality: unverified functional
- 27 Jul 26 44
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 95 packages
95 packages in the resolved dependency tree · 95 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
approve_token ~148
Approve a spender contract to transfer ERC-20 tokens on your behalf. Required before interacting with any DeFi protocol (DEXs, lending, etc.). Use amount "max" for unlimited approval, or specify an exact amount.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | yes | Amount to approve in human-readable format (e.g. "1000"), or "max" for unlimited |
| chain_id | integer | yes | Chain ID |
| decimals | integer | — | Token decimals (6 for USDC, 18 for most tokens) |
| spender | string | yes | Contract address to approve as spender |
| token | string | yes | ERC-20 token contract address |
| wallet_id | integer | yes | Wallet ID |
No output schema declared.
No examples provided.
buy_verification_credits ~85
Buy x402 verification credits with USDC on-chain. Paywall owners need credits to process verifications beyond the free tier (1,000/month) when they don't have Stripe billing configured. Returns 402 payment instructions — pay on-chain and retry with proof.
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | — | Number of verification credits to purchase (min 100, default 1000) |
No output schema declared.
No examples provided.
call_contract ~85
Execute a read-only call against a smart contract (eth_call). Returns the raw hex result. Does not cost gas or modify state. Useful for reading on-chain data like token balances, prices, positions.
| Name | Type | Req | Description |
|---|---|---|---|
| chain_id | integer | yes | Chain ID |
| data | string | yes | ABI-encoded calldata (0x-prefixed hex) |
| to | string | yes | Contract address |
No output schema declared.
No examples provided.
create_paywall ~325
Create an x402 paywall that charges agents/clients for accessing a resource. Returns a public access URL that returns HTTP 402 until paid. Agents pay on-chain, then retry with proof to get the content.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | yes | Price in human-readable format (e.g. "0.01" for 0.01 USDC) |
| chain_id | integer | — | Chain ID for payments (8453=Base, 1=Ethereum, etc.) |
| description | string | — | Description shown in the 402 response |
| name | string | yes | Human-readable paywall name (e.g. "Premium API Access") |
| resource_mime | string | — | MIME type of the resource (e.g. "application/json", "text/plain") |
| resource_url | string | yes | URL of the protected resource to serve after payment verification |
| token_address | string | — | Token contract address (ERC-20 for EVM, SPL mint Base58 for Solana). Required if token_type is "erc20" or "spl". Use get_chains to find stablecoin addresses. |
| token_decimals | integer | — | Token decimals (6 for USDC, 18 for ETH/most tokens) |
| token_name | string | — | Token display name (e.g. "USDC", "ETH") |
| token_type | string | — | "erc20" for EVM stablecoins, "spl" for Solana SPL tokens, "native" for ETH/SOL/POL/etc. |
| wallet_id | integer | yes | Wallet ID to receive payments |
No output schema declared.
No examples provided.
create_wallet ~127
Create a new EVM or Solana wallet. Returns the wallet ID and address. Private key is encrypted server-side and never exposed.
| Name | Type | Req | Description |
|---|---|---|---|
| chain_id | integer | — | Default chain ID (1=Ethereum, 8453=Base, 42161=Arbitrum, 10=Optimism, 137=Polygon, 43114=Avalanche, 56=BSC, 7777777=Zora, 369=PulseChain, 900=Solana, 901=Solana Devnet) |
| label | string | — | Friendly name for the wallet |
No output schema declared.
No examples provided.
delete_paywall ~40
Delete an x402 paywall. The access URL will return 404 after deletion.
| Name | Type | Req | Description |
|---|---|---|---|
| paywall_id | integer | yes | Paywall ID to delete |
No output schema declared.
No examples provided.
delete_wallet ~43
Delete (soft-delete) a wallet. The wallet will no longer appear in listings and cannot be used for transactions.
| Name | Type | Req | Description |
|---|---|---|---|
| wallet_id | integer | yes | Wallet ID to delete |
No output schema declared.
No examples provided.
get_allowance ~122
Check how many ERC-20 tokens a spender is approved to transfer. Returns the allowance in both raw and human-readable format. Use this to check if an approval is needed before a DeFi transaction.
| Name | Type | Req | Description |
|---|---|---|---|
| chain_id | integer | yes | Chain ID |
| decimals | integer | — | Token decimals (6 for USDC, 18 for most tokens) |
| spender | string | yes | Spender contract address to check |
| token | string | yes | ERC-20 token contract address |
| wallet_id | integer | yes | Wallet ID (used to determine the owner address) |
No output schema declared.
No examples provided.
get_balance ~68
Get the native token balance for a wallet on a specific chain. Returns balance in both wei (or lamports for Solana) and human-readable format.
| Name | Type | Req | Description |
|---|---|---|---|
| chain_id | integer | — | Chain ID to check (defaults to wallet's default chain) |
| wallet_id | integer | yes | Wallet ID |
No output schema declared.
No examples provided.
get_chains ~36
List all supported chains (EVM + Solana) with their chain IDs, native tokens, stablecoins, and RPC configuration status.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_paywall ~45
Get details for a specific x402 paywall by ID. Returns pricing, access URL, payment stats, and configuration.
| Name | Type | Req | Description |
|---|---|---|---|
| paywall_id | integer | yes | Paywall ID |
No output schema declared.
No examples provided.
get_paywall_payments ~73
Get payment history for a specific x402 paywall. Returns verified payments with TX hashes, payer addresses, amounts, and timestamps.
| Name | Type | Req | Description |
|---|---|---|---|
| page | integer | — | Page number |
| paywall_id | integer | yes | Paywall ID |
| per_page | integer | — | Results per page (max 100) |
No output schema declared.
No examples provided.
get_token_balance ~121
Get the ERC-20 or SPL token balance for a wallet on a specific chain. Returns the raw balance and human-readable balance. Use get_chains to find stablecoin addresses for each chain.
| Name | Type | Req | Description |
|---|---|---|---|
| chain_id | integer | yes | Chain ID to check on |
| decimals | integer | — | Token decimals (6 for USDC, 18 for most tokens) |
| token | string | yes | Token address (0x-prefixed ERC-20 contract for EVM, Base58 mint for Solana) |
| wallet_id | integer | yes | Wallet ID to check |
No output schema declared.
No examples provided.
get_token_info ~61
Get the name, symbol, and decimals of any ERC-20 token by its contract address. Useful for discovering token details before transfers or approvals.
| Name | Type | Req | Description |
|---|---|---|---|
| chain_id | integer | yes | Chain ID |
| token | string | yes | ERC-20 token contract address |
No output schema declared.
No examples provided.
get_usage ~28
Get the current month's usage statistics. Returns operations count, tier info, remaining quota, and fees.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_wallet ~41
Get details for a specific wallet by ID. Returns address, label, chain, spending limits, and pause status.
| Name | Type | Req | Description |
|---|---|---|---|
| wallet_id | integer | yes | Wallet ID |
No output schema declared.
No examples provided.
get_x402_revenue ~35
Get aggregate x402 revenue statistics across all your paywalls. Returns total payments and revenue broken down by chain and token.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_paywalls ~60
List all your x402 paywalls. Returns paywall IDs, names, pricing, access URLs, payment counts, and revenue totals.
| Name | Type | Req | Description |
|---|---|---|---|
| page | integer | — | Page number |
| per_page | integer | — | Results per page (max 100) |
No output schema declared.
No examples provided.
list_wallets ~32
List all wallets owned by the authenticated user. Returns wallet IDs, addresses, labels, chain IDs, and status.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
pause_wallet ~33
Emergency pause a wallet. No transactions can be signed while paused.
| Name | Type | Req | Description |
|---|---|---|---|
| wallet_id | integer | yes | Wallet ID to pause |
No output schema declared.
No examples provided.
pay_x402 ~233
Handle an x402 payment flow. Fetches a URL, and if the server returns HTTP 402 Payment Required, parses the payment requirements, executes the on-chain payment, and retries the request with proof of payment. Returns the final response. Supports the x402 open payment standard (https://x402.org). Set max_payment to prevent overspending.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | — | Optional request body for POST/PUT requests |
| headers | string | — | Optional JSON string of additional request headers |
| max_payment | string | — | Maximum payment in human-readable format (e.g. "1.00" for 1 USDC). Rejects payments above this amount. Strongly recommended to prevent overspending. |
| method | string | — | HTTP method (GET, POST, PUT, DELETE) |
| prefer_chain | integer | — | Preferred chain ID if the server accepts payment on multiple chains (e.g. 8453 for Base, 1 for Ethereum) |
| url | string | yes | The URL to access (will handle 402 payment if required) |
| wallet_id | integer | yes | Wallet ID to pay from |
No output schema declared.
No examples provided.
send_transaction ~237
Sign and broadcast a transaction. Returns the transaction hash (EVM) or signature (Solana) on success. The transaction is signed server-side and broadcast via RPC.
| Name | Type | Req | Description |
|---|---|---|---|
| chain_id | integer | — | Chain ID (defaults to wallet's default) |
| data | string | — | Hex-encoded calldata (0x-prefixed) for EVM contract calls |
| gas_limit | string | — | Gas limit — EVM only (auto-estimated if omitted) |
| max_fee | string | — | Max fee per gas in wei — EVM only (auto if omitted) |
| priority_fee | string | — | Max priority fee per gas in wei — EVM only (auto if omitted) |
| to | string | yes | Destination address (0x-prefixed for EVM, Base58 for Solana) |
| token_decimals | integer | — | SPL token decimals — Solana only (6 for USDC) |
| token_mint | string | — | SPL token mint address — Solana only (for SPL token transfers) |
| value | string | — | Value in wei/lamports (decimal string) |
| wallet_id | integer | yes | Wallet ID |
No output schema declared.
No examples provided.
sign_transaction ~245
Sign a transaction with a wallet's private key. For EVM: returns signed raw transaction hex. For Solana: returns base64 signed transaction. Does NOT broadcast — use send_transaction for sign + broadcast.
| Name | Type | Req | Description |
|---|---|---|---|
| chain_id | integer | — | Chain ID (defaults to wallet's default) |
| data | string | — | Hex-encoded calldata (0x-prefixed) for EVM contract calls |
| gas_limit | string | — | Gas limit — EVM only (auto-estimated if omitted) |
| max_fee | string | — | Max fee per gas in wei — EVM only (auto if omitted) |
| priority_fee | string | — | Max priority fee per gas in wei — EVM only (auto if omitted) |
| to | string | yes | Destination address (0x-prefixed for EVM, Base58 for Solana) |
| token_decimals | integer | — | SPL token decimals — Solana only (6 for USDC) |
| token_mint | string | — | SPL token mint address — Solana only (for SPL token transfers) |
| value | string | — | Value in wei/lamports (decimal string) |
| wallet_id | integer | yes | Wallet ID |
No output schema declared.
No examples provided.
transfer ~214
Send native tokens (ETH, AVAX, BNB, POL, PLS, SOL) to an address. Specify the amount in human-readable format (e.g. "0.1" for 0.1 ETH). The amount is converted to wei/lamports automatically. Signs and broadcasts the transaction.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | yes | Amount to send in human-readable format (e.g. "0.1" for 0.1 ETH) |
| chain_id | integer | yes | Chain ID (1=Ethereum, 8453=Base, 42161=Arbitrum, 10=Optimism, 137=Polygon, 43114=Avalanche, 56=BSC, 7777777=Zora, 369=PulseChain, 900=Solana, 901=Solana Devnet) |
| to | string | yes | Destination address (0x-prefixed for EVM, Base58 for Solana) |
| wallet_id | integer | yes | Wallet ID to send from |
No output schema declared.
No examples provided.
transfer_token ~182
Send ERC-20 tokens (EVM) or SPL tokens (Solana) to an address. Specify the amount in human-readable format (e.g. "100" for 100 USDC). Signs and broadcasts the transaction. Use get_chains to find stablecoin addresses.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | yes | Amount in human-readable format (e.g. "100" for 100 USDC) |
| chain_id | integer | yes | Chain ID |
| decimals | integer | — | Token decimals (6 for USDC, 18 for most tokens) |
| to | string | yes | Recipient address (0x-prefixed for EVM, Base58 for Solana) |
| token | string | yes | Token address (0x-prefixed ERC-20 contract for EVM, Base58 mint for Solana) |
| wallet_id | integer | yes | Wallet ID to send from |
No output schema declared.
No examples provided.
unpause_wallet ~33
Resume a paused wallet so transactions can be signed again.
| Name | Type | Req | Description |
|---|---|---|---|
| wallet_id | integer | yes | Wallet ID to unpause |
No output schema declared.
No examples provided.
unwrap_eth ~95
Unwrap wrapped tokens (WETH, WAVAX, WBNB, etc.) back to native tokens. Specify amount in human-readable format (e.g. "0.5" for 0.5 WETH).
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | yes | Amount to unwrap in human-readable format (e.g. "0.5") |
| chain_id | integer | yes | Chain ID |
| wallet_id | integer | yes | Wallet ID |
No output schema declared.
No examples provided.
update_paywall ~146
Update an x402 paywall configuration. Can change price, resource URL, active status, or any other field.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | — | New price in human-readable format (e.g. "0.05") |
| description | string | — | New description |
| is_active | boolean | — | Enable (true) or disable (false) the paywall |
| name | string | — | New paywall name |
| paywall_id | integer | yes | Paywall ID to update |
| resource_mime | string | — | New MIME type |
| resource_url | string | — | New resource URL |
| token_decimals | integer | — | Token decimals (needed if changing amount) |
No output schema declared.
No examples provided.
wrap_eth ~123
Wrap native tokens (ETH, AVAX, BNB, POL, PLS) into their wrapped ERC-20 version (WETH, WAVAX, etc.). Required for most DeFi protocols that use ERC-20 tokens instead of raw native tokens. Specify amount in human-readable format (e.g. "0.5" for 0.5 ETH).
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | yes | Amount to wrap in human-readable format (e.g. "0.5") |
| chain_id | integer | yes | Chain ID |
| wallet_id | integer | yes | Wallet ID |
No output schema declared.
No examples provided.