io.github.hifriendbot/agentwallet
NPM · AGENTWALLET-MCP
Wallet infrastructure for Ai agents. EVM + Solana. x402 payments. No KYC.
Available components
Last scanned (2 hours ago)
Scores higher than 93% of npm servers
Category Crypto and Web3
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 Security89
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects uuid 8.3.2, reached via @solana/web3.js > jayson > uuid. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- 49 of 162 dependencies flagged as unhealthy (1 deprecated). View diagnostics → Partial
Provenance & Transparency100
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to hifriendbot/agentwallet-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 1 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability72
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 5725 tokens (~143/item across 40 items; 40 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 Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage99
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 98% of tool parameters carry a description.Partial
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 41 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
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.
- 4 Nov 26 +15
- Malware scan: unverified → pass ▲ security
- 3 Nov 26 0
- Malware scan: unverified → pass ▲ security
- Stability: 0.97 → pass security
- Package version: 1.14.11 → 1.14.12 functional
- 2 Nov 26 −15
- Malware scan: pass → unverified ▼ security
- Stability: pass → 0.97 functional
- Package version: 1.14.8 → 1.14.11 functional
- Package version: 1.14.8 → 1.14.9 functional
- 1 Nov 26 0
- Package version: 1.7.4 → 1.14.8 functional
- 27 Oct 26 +15
- Malware scan: unverified → pass ▲ security
- Stability: 0.97 → pass security
- 26 Oct 26 −3
- CVE-2026-41907 affects this package: high ▼ security
- CVE-2026-104183 affects this package: high ▼ security
- CVE-2026-104182 affects this package: high ▼ security
- CVE-2026-71429 affects this package: high ▼ security
- Malware scan: pass → unverified ▼ security
- CVE-2023-54404 no longer affects this package ▲ security
- Provenance: fail → pass ▲ security
- Known CVEs: CVE check failed: a known high-severity CVE affects uuid 8.3.2, reached via @solana/web3.js > jayson > uuid. A fixed version is available. security
- The attested source repository moved: hifriendbot/agentwallet-mcp security
- Schema quality: 4064 → 5725 ▼ functional
- Stability: pass → 0.97 functional
- Package version: 1.7.4 → 1.14.8 functional
- 24 Oct 26 −5
- CVE-2023-54404 affects this package: high ▼ security
- Known CVEs: pass → fail ▼ security
- 20 Oct 26 0
- Stability: 0.97 → pass security
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 5 Nov 2026 · Analysed npm/agentwallet-mcp@1.14.12
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | hifriendbot/agentwallet-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/hifriendbot/agentwallet-mcp/.github/workflows/release.yml@refs/tags/v1.14.12 |
| Rekor log index | 3677220911 |
| Predicate type | SLSA build provenance https://slsa.dev/provenance/v1 |
| Subject digest | sha512:19edaef0b3a13f391a362148c2e70fae6a1ff73bc0b65e7fd84fcd198671c6af955b2df288a5950979ca45d52fc7b6ada7f0dfd3c1cfc0b13c7d6b1b4 |
Background: How many MCP packages publish verified provenance →
Vulnerabilities 4 findings
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-528h-pc64-c93x | CVE-2026-71429 | medium | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-hqr4-qq8f-hg3x | CVE-2026-104182 | medium | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-mjw6-4jj6-33hc | CVE-2026-104183 | medium | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L | yes |
| GHSA-w5hq-g745-h8pq | CVE-2026-41907 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 162 packages
| Packages resolved | 162 |
|---|---|
| Deprecated | 1 |
| Stale | 48 |
| No linked repository | 1 |
| 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_permit2 ~201
One-time ERC-20 approval of a token to the Permit2 contract, needed before paying x402 "upto" endpoints with that token. A normal on-chain transaction (needs gas). Pass amount to grant a bounded allowance; with no amount it asks for the maximum, which is refused by default, under AGENTWALLET_MAX_TX_TOKEN, and always under a spend policy (where the allowance counts against the budgets). Only the operator can allow a maximum approval, with AGENTWALLET_ALLOW_UNLIMITED_APPROVAL=1 while no policy is set. Permit2 itself only moves what each signed authorization allows.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | – | Allowance to grant in human units (e.g. "100"). Omit for unlimited. |
| chain_id | integer | yes | Chain ID |
| token | string | yes | ERC-20 token address (e.g. USDC on Base) |
| wallet_id | integer | yes | Wallet ID |
No output schema declared.
No examples provided.
approve_token ~223
Approve a spender contract to transfer ERC-20 tokens on your behalf. Required before interacting with any DeFi protocol (DEXs, lending, etc.). Specify an exact amount. "max" (an unlimited allowance) is refused by default and always under a spend policy; only the operator can allow it, with AGENTWALLET_ALLOW_UNLIMITED_APPROVAL=1 while no policy is set. Under a spend policy an approval is a spend: it counts against the budgets and the spender is checked as a recipient.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | yes | Amount to approve in human-readable format (e.g. "1000"); "max" means unlimited and is refused unless the operator allowed it |
| chain_id | integer | yes | Chain ID |
| decimals | integer | – | Token decimals. Resolved from the registry or the token contract when omitted; if given, it must match |
| 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.
check_approval ~63
Status of a payment approval created when pay_x402 exceeded the cap on a hosted wallet. Returns pending, approved, denied or expired. Once approved, call pay_x402 again with approval_id.
| Name | Type | Req | Description |
|---|---|---|---|
| approval_id | string | yes | Approval id returned by pay_x402 |
No output schema declared.
No examples provided.
check_token_risk ~92
Assess an ERC-20 token before approving or swapping it: honeypot, taxes, owner powers, verified source, holder concentration, DEX liquidity. Uses GoPlus Security (free, no key) with an on-chain fallback. A warning for the caller to weigh, never a block.
| 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.
create_paywall ~336
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. Defaults to the chain native decimals for "native", else 6 (USDC); set it for any other token |
| 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 ~66
Delete (soft-delete) a wallet. The wallet will no longer appear in listings and cannot be used for transactions. The wallet is read first and the delete names its address, so a wallet that cannot be read is never deleted.
| Name | Type | Req | Description |
|---|---|---|---|
| wallet_id | integer | yes | Wallet ID to delete |
No output schema declared.
No examples provided.
discover_x402 ~145
Find x402-paid APIs by subject in the public x402 index (the Bazaar published by the CDP facilitator). Returns resources with their method, price and chain, re-priced from this client's own registry. Listings are sellers' own words. Nothing is paid; follow up with quote_x402 or pay_x402.
| Name | Type | Req | Description |
|---|---|---|---|
| chain_id | integer | – | Only resources payable on this chain |
| limit | integer | – | How many matches to return |
| offset | integer | – | Index offset to continue from (use next_offset from the previous call) |
| query | string | – | Words that must all appear in the resource URL, service name, description or tags (case-insensitive) |
No output schema declared.
No examples provided.
export_receipts ~72
Every spend in the ledger as CSV or JSONL text (oldest first), for expense records. Returns the text; write it wherever it belongs.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | – |
| since | string | – | ISO 8601 lower bound |
| until | string | – | ISO 8601 upper bound |
No output schema declared.
No examples provided.
export_wallet_key ~69
Explain how to export the private key of a hosted (custodial) AgentWallet so it can be moved to self-custody or any other wallet. Export itself is deliberately human-gated and is not performed by this tool.
| Name | Type | Req | Description |
|---|---|---|---|
| wallet_id | integer | – | Hosted wallet ID to export |
No output schema declared.
No examples provided.
get_allowance ~130
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. Resolved from the registry or the token contract when omitted; if given, it must match |
| 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. Taken from the response or the token contract when omitted |
| 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_payments ~126
Spends recorded in this wallet's ledger (x402 payments, transfers, auto-pay), newest first, each with its latest outcome (signed, settled, declined, unknown, broadcast, void). The ledger is a hash-chained append-only file when AGENTWALLET_LEDGER or a policy names one; otherwise this process only.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | – | Only payments to this endpoint host |
| limit | integer | – | – |
| outcome | string | – | Only this outcome |
| since | string | – | ISO 8601 timestamp; only spends at or after it |
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 ~517
Handle an x402 payment flow. Fetches a URL, and if the server returns HTTP 402 Payment Required, parses the payment requirements (v1 body or v2 PAYMENT-REQUIRED header), signs an EIP-3009 TransferWithAuthorization for the "exact" scheme (no gas, nothing broadcast by the payer), and retries the request with the payment header. AgentWallet paywalls are paid by on-chain transfer instead. The "upto" scheme is settled with a Permit2 authorization bounded by the cap. Returns the final response and the settlement receipt. Supports the x402 open payment standard (https://x402.org). max_payment can only lower the operator's cap for one call.
| Name | Type | Req | Description |
|---|---|---|---|
| approval_id | string | – | An approval id from an earlier over-cap attempt. Once the owner has approved it, pass it here to make that one payment. |
| body | string | – | Optional request body for POST/PUT requests |
| fresh_authorization | boolean | – | Sign a new authorization even if one for the same endpoint, amount and recipient is still valid. By default a repeat call within the validity window re-sends the earlier signature (same nonce, so it… |
| headers | string | – | Optional JSON string of additional request headers. Credentials placed here (Authorization, Cookie, API keys) are sent only to the origin in `url`; if the endpoint redirects to a different origin the… |
| max_payment | string | – | Maximum payment in human-readable format (e.g. "1.00" for 1 USDC). Lowers the operator's AGENTWALLET_MAX_AUTOPAY ceiling (default "1") for this one call; it can never raise it, and a value above the… |
| 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) |
| request_approval | boolean | – | Hosted wallets only. When the payment exceeds the cap, email the wallet owner an approve/deny link instead of refusing, and return an approval_id to retry with. Default true unless AGENTWALLET_APPROV… |
| 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.
quote_x402 ~155
Ask what an x402 endpoint charges without paying: fetches the URL, parses the 402 requirements, says which option this wallet would pay (chain, asset, amount, recipient), whether the per-payment cap, the spend policy and the rolling budgets would allow it, and nothing is signed. Call it before pay_x402 when the price is unknown.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | – | Optional request body, as for pay_x402 |
| headers | string | – | Optional JSON string of request headers, as for pay_x402 |
| method | string | – | HTTP method the real request would use |
| prefer_chain | integer | – | Preferred chain ID when several are offered |
| url | string | yes | The URL to quote |
No output schema declared.
No examples provided.
send_transaction ~244
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 integer string; no hex, no decimals) |
| wallet_id | integer | yes | Wallet ID |
No output schema declared.
No examples provided.
sign_transaction ~289
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. A signed transaction is a spend: under a spend policy it is checked, reserved on the ledger and counted against the budgets exactly as send_transaction is, because the caller can broadcast it.
| 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 integer string; no hex, no decimals) |
| wallet_id | integer | yes | Wallet ID |
No output schema declared.
No examples provided.
simulate_transaction ~157
Dry-run an EVM transaction with nothing signed: the local guards (native cap, token cap, fee cap), the spend policy, the node's gas estimate (which fails when the call would revert), the worst-case fee, whether the balance covers it, and the call's return data. Local mode runs the full check; hosted mode runs the policy and an eth_call.
| Name | Type | Req | Description |
|---|---|---|---|
| chain_id | integer | yes | EVM chain ID |
| data | string | – | Optional calldata (0x-prefixed hex) |
| to | string | yes | Destination address |
| value | string | – | Native amount in human units (e.g. "0.01" ETH) |
| wallet_id | integer | yes | Wallet ID (ignored in local mode) |
No output schema declared.
No examples provided.
spend_policy ~62
The spend policy this server enforces (AGENTWALLET_POLICY), its sha256, the rolling budgets with what is spent and what remains, per-host spending, the ledger's path and integrity, and whether the connected client can answer approval questions. Read-only.
Input schema present but exposes no named parameters.
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 ~190
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. Resolved from the registry or the token contract when omitted; if given, it must match |
| 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 ~150
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. Read from the paywall itself when omitted |
No output schema declared.
No examples provided.
wallet_mode ~50
Report whether this server is signing locally (self-custody, the private key never leaves this machine) or through the hosted AgentWallet API (custodial). Use this to verify custody before moving funds.
Input schema present but exposes no named parameters.
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.
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
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 90 out of 100 on VerifyMCP. We recorded 4 known advisories against it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. 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 40 tools: create_wallet, list_wallets, get_wallet, get_balance, sign_transaction, and 35 more. Their descriptions and schemas cost roughly 4,772 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 5 November 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.