# solana_transfer

Send SOL or any SPL token to another Solana address. Requires AGENTI_SOLANA_PRIVATE_KEY.

Agent View of the PolicyLayer registry record for `solana_transfer`. HTML page: https://policylayer.com/tools/nirholas-agenti/solana-transfer

## Facts

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

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

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

## Why solana_transfer is rated Critical

This tool irreversibly transfers cryptocurrency (SOL tokens and SPL tokens) from one address to another. It directly commits financial obligations and moves money. Even though it does not create financial liabilities in the traditional sense, the movement of cryptocurrency assets constitutes a financial action with potentially unlimited blast radius if misused by an AI agent.

From the tool's own definition: "Tool description states 'Send SOL or any SPL token to another Solana address' — direct movement of cryptocurrency funds."

## Use case

AI agents use solana_transfer to commit financial operations through Agenti, usually the final step of a payment, billing, or trading workflow. A call moves real money.

## Recommended policy (PolicyLayer)

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

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "solana_transfer": {
      "deny_if": [
        {
          "conditions": [],
          "on_deny": "Requires human approval."
        }
      ]
    }
  }
}
```

## 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
- `derive_wallet` — Other — https://policylayer.com/tools/nirholas-agenti/derive-wallet.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
