io.github.hifriendbot/agentwallet
NPM · AGENTWALLET-MCP · SCANNED SEP 20
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 → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 31 of 96 dependencies flagged as unhealthy. 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 10 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability76
- 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 Management93
- Stability observed for 28 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
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 7 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "send_transaction" implies "send" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 30 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the io.github.hifriendbot/agentwallet MCP server?
io.github.hifriendbot/agentwallet runs locally as an npm package, launched with npx -y agentwallet-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · agentwallet-mcp
claude mcp add hifriendbot-agentwallet -- npx -y agentwallet-mcp
{
"mcpServers": {
"hifriendbot-agentwallet": {
"command": "npx",
"args": [
"-y",
"agentwallet-mcp"
]
}
}
} {
"servers": {
"hifriendbot-agentwallet": {
"command": "npx",
"args": [
"-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": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"agentwallet-mcp"
]
}
}
} assistant mcp add hifriendbot-agentwallet -t stdio -c npx -a -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.
- 20 Sept 26 +1
- Security disclosure: fail → unverified ▼ functional
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 −3
- Stability: pass → 0.80 functional
- 15 Sept 26 +1
- Stability: 0.97 → pass security
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 10 Sept 26 0
- Security disclosure: unverified → fail ▼ functional
- 9 Sept 26 −3
- Security disclosure: fail → unverified ▼ functional
- Stability: pass → 0.80 functional
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 20 Sept 2026 · Analysed npm/agentwallet-mcp@1.7.4
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 96 packages
| Packages resolved | 96 |
|---|---|
| Stale | 31 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
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.
What is the io.github.hifriendbot/agentwallet MCP server?
io.github.hifriendbot/agentwallet is an MCP server listed in the public MCP registry as io.github.hifriendbot/agentwallet. Wallet infrastructure for Ai agents. EVM + Solana. x402 payments. No KYC. This page covers its npm package (agentwallet-mcp).
Is the io.github.hifriendbot/agentwallet MCP server safe to use?
io.github.hifriendbot/agentwallet scores 82 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.hifriendbot/agentwallet MCP server expose?
io.github.hifriendbot/agentwallet exposes 29 tools: create_wallet, list_wallets, get_wallet, get_balance, sign_transaction, and 24 more. Their descriptions and schemas cost roughly 3,116 tokens of context every time the server is loaded.
Is the io.github.hifriendbot/agentwallet MCP server still maintained?
io.github.hifriendbot/agentwallet is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.hifriendbot/agentwallet MCP server under?
io.github.hifriendbot/agentwallet declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.