# solana_swap

Swap any Solana token via Jupiter aggregator (best route). Requires AGENTI_SOLANA_PRIVATE_KEY.

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

## Facts

- Tool: `solana_swap`
- 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_swap",
    "arguments": {}
  }
}
```

## Why solana_swap is rated Critical

Token swapping is a direct financial transaction that exchanges one cryptocurrency asset for another at market rates. This is irreversible once committed to the blockchain, involves real monetary value, and requires a private key to authorize. Misuse by an AI agent could result in significant financial loss through unfavorable swaps, draining of wallet funds, or manipulation into bad trades.

From the tool's own definition: "'Swap any Solana token via Jupiter aggregator (best route)' — executes a cryptocurrency token swap on the Solana blockchain, moving financial assets. Server description states it enables agents to 'autonomously hold, spend, earn, and receive cryptocurrency'."

## Use case

AI agents use solana_swap 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_swap": {
      "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_transfer` — Financial — https://policylayer.com/tools/nirholas-agenti/solana-transfer.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
