# derive_wallet

Derive an EVM + Solana wallet from a BIP39 mnemonic at a given account index (BIP44 path)

Agent View of the PolicyLayer registry record for `derive_wallet`. HTML page: https://policylayer.com/tools/nirholas-agenti/derive-wallet

## Facts

- Tool: `derive_wallet`
- Server: Agenti (`nirholas/agenti`) — https://policylayer.com/tools/nirholas-agenti.md
- Homepage: https://github.com/nirholas/agenti
- Risk category: Other (Low risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "derive_wallet",
    "arguments": {}
  }
}
```

## Why derive_wallet is rated Low

This tool performs a cryptographic derivation operation — it computes wallet addresses and keys from a mnemonic seed phrase. It doesn't read external data, write/modify state, execute commands, delete data, or move funds directly. However, it handles highly sensitive key material (BIP39 mnemonic), and misuse could expose private keys enabling financial theft.

From the tool's own definition: "Derive an EVM + Solana wallet from a BIP39 mnemonic at a given account index (BIP44 path)"

## Use case

AI agents call derive_wallet as a supporting operation in Agenti workflows.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Agenti:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "derive_wallet": {
      "limits": [
        {
          "counter": "derive_wallet_rate",
          "window": "minute",
          "max": 60,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Agenti (72)

- `binance_cancel_order` — Destructive — https://policylayer.com/tools/nirholas-agenti/binance-cancel-order.md
- `sign_message` — Execute — https://policylayer.com/tools/nirholas-agenti/sign-message.md
- `agenti_pay` — Financial — https://policylayer.com/tools/nirholas-agenti/agenti-pay.md
- `agenti_receive` — Financial — https://policylayer.com/tools/nirholas-agenti/agenti-receive.md
- `binance_place_order` — Financial — https://policylayer.com/tools/nirholas-agenti/binance-place-order.md
- `bitrefill_check_order` — Financial — https://policylayer.com/tools/nirholas-agenti/bitrefill-check-order.md
- `bitrefill_create_invoice` — Financial — https://policylayer.com/tools/nirholas-agenti/bitrefill-create-invoice.md
- `bnb_swap` — Financial — https://policylayer.com/tools/nirholas-agenti/bnb-swap.md
- `bnb_transfer` — Financial — https://policylayer.com/tools/nirholas-agenti/bnb-transfer.md
- `create_invoice` — Financial — https://policylayer.com/tools/nirholas-agenti/create-invoice.md
- `gmgn_copy_trade` — Financial — https://policylayer.com/tools/nirholas-agenti/gmgn-copy-trade.md
- `jupiter_swap` — Financial — https://policylayer.com/tools/nirholas-agenti/jupiter-swap.md
- `pay` — Financial — https://policylayer.com/tools/nirholas-agenti/pay.md
- `pump_buy` — Financial — https://policylayer.com/tools/nirholas-agenti/pump-buy.md
- `pump_sell` — Financial — https://policylayer.com/tools/nirholas-agenti/pump-sell.md
- `solana_deploy_token` — Financial — https://policylayer.com/tools/nirholas-agenti/solana-deploy-token.md
- `solana_stake` — Financial — https://policylayer.com/tools/nirholas-agenti/solana-stake.md
- `solana_swap` — Financial — https://policylayer.com/tools/nirholas-agenti/solana-swap.md
- `solana_transfer` — Financial — https://policylayer.com/tools/nirholas-agenti/solana-transfer.md
- `generate_mnemonic` — Other — https://policylayer.com/tools/nirholas-agenti/generate-mnemonic.md
- `agenti_balance` — Read — https://policylayer.com/tools/nirholas-agenti/agenti-balance.md
- `binance_get_24h_stats` — Read — https://policylayer.com/tools/nirholas-agenti/binance-get-24h-stats.md
- `binance_get_account` — Read — https://policylayer.com/tools/nirholas-agenti/binance-get-account.md
- `binance_get_klines` — Read — https://policylayer.com/tools/nirholas-agenti/binance-get-klines.md
- `binance_get_open_orders` — Read — https://policylayer.com/tools/nirholas-agenti/binance-get-open-orders.md
- `binance_get_orderbook` — Read — https://policylayer.com/tools/nirholas-agenti/binance-get-orderbook.md
- `binance_get_price` — Read — https://policylayer.com/tools/nirholas-agenti/binance-get-price.md
- `binance_get_top_symbols` — Read — https://policylayer.com/tools/nirholas-agenti/binance-get-top-symbols.md
- `binance_get_trade_history` — Read — https://policylayer.com/tools/nirholas-agenti/binance-get-trade-history.md
- `binance_search_symbol` — Read — https://policylayer.com/tools/nirholas-agenti/binance-search-symbol.md
- …and 42 more: https://policylayer.com/tools/nirholas-agenti.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=nirholas-agenti · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/nirholas-agenti
