# jupiter_swap

Execute a token swap via Jupiter v6 aggregator. Best-route swap across all Solana DEXes. Requires AGENTI_SOLANA_PRIVATE_KEY.

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

## Facts

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

## Why jupiter_swap is rated Critical

This tool performs an on-chain cryptocurrency token swap using a private key, which directly moves financial assets. It falls squarely in the Financial category (trading/swapping tokens). The blast radius is critical because it can irreversibly exchange potentially large amounts of cryptocurrency with no undo mechanism, using the user's private key to sign and broadcast transactions to the Solana blockchain.

From the tool's own definition: "Execute a token swap via Jupiter v6 aggregator. Best-route swap across all Solana DEXes. Requires AGENTI_SOLANA_PRIVATE_KEY."

## Use case

AI agents use jupiter_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": {
    "jupiter_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
- `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
- `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
