# flash_submit_order

Execute a trade end to end: fetch a fresh quote, send any required wrap/approve transactions, sign the order with your funder wallet, and submit it. For market orders it polls until the order fills (or times out). Requires an API key and the matching funder wallet private key. This spends real funds.

Agent View of the PolicyLayer registry record for `flash_submit_order`. HTML page: https://policylayer.com/tools/definitive-fi-flash-mcp/flash-submit-order

## Facts

- Tool: `flash_submit_order`
- Server: Flash (`@definitive-fi/flash-mcp`) — https://policylayer.com/tools/definitive-fi-flash-mcp.md
- Install: `npx -y @definitive-fi/flash-mcp`
- Homepage: https://www.npmjs.com/package/@definitive-fi/flash-mcp
- Risk category: Financial (Critical risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 12 (6 required)
- Recommended policy verdict: Approval-gated

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `qty` | string | yes | Decimal amount being spent: contraAsset units for buys, targetAsset units for sells |
| `side` | string | yes |  |
| `rpcUrl` | string | no | Override the RPC used for on-chain wrap/approve sends |
| `triggers` | array | no | Price triggers for stop/take-profit/bracket |
| `orderType` | string | no |  |
| `expireTime` | string | no | ISO-8601 expiry for limit/trigger orders (omit for GTC) |
| `quickTrade` | boolean | no | Market-only QuickTrade mode |
| `contraAsset` | string | yes | Address of the contra asset — spent on buys, received on sells. Native gas assets are auto-wrapped like targetAsset (the spent side is wrapped before the trade) |
| `contraChain` | string | yes | Chain of the contra asset (usually same as targetChain) |
| `maxSlippage` | string | no | Slippage tolerance as a decimal, e.g. 0.01 = 1% (default 0.05) |
| `targetAsset` | string | yes | Address of the target (traded) asset. A native gas asset (its symbol like "ETH", "native", the zero address, or the 0xEeee… sentinel) is auto-routed through the |
| `targetChain` | string | yes | Chain of the target (traded) asset |

Parameters from the server's own tool schema.

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

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flash_submit_order",
    "arguments": {
      "qty": "<qty>",
      "side": "<side>",
      "contraAsset": "<contraAsset>",
      "contraChain": "<contraChain>",
      "targetAsset": "<targetAsset>",
      "targetChain": "<targetChain>"
    }
  }
}
```

## Why flash_submit_order is rated Critical

This tool directly executes financial trades, spending real funds. It handles the complete transaction lifecycle including signing with a private wallet key and submitting orders. Misuse could result in unauthorized financial transactions, making it the highest severity financial risk.

From the tool's own definition: "Execute a trade end to end... This spends real funds."

Risk signals: High parameter count (22 properties)

## Use case

AI agents use flash_submit_order to commit financial operations through Flash, 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 Flash:

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

## Other tools on Flash (7)

- `flash_cancel_order` — Destructive — https://policylayer.com/tools/definitive-fi-flash-mcp/flash-cancel-order.md
- `flash_balances` — Read — https://policylayer.com/tools/definitive-fi-flash-mcp/flash-balances.md
- `flash_get_order` — Read — https://policylayer.com/tools/definitive-fi-flash-mcp/flash-get-order.md
- `flash_list_orders` — Read — https://policylayer.com/tools/definitive-fi-flash-mcp/flash-list-orders.md
- `flash_quote` — Read — https://policylayer.com/tools/definitive-fi-flash-mcp/flash-quote.md
- `flash_status` — Read — https://policylayer.com/tools/definitive-fi-flash-mcp/flash-status.md
- `flash_setup` — Write — https://policylayer.com/tools/definitive-fi-flash-mcp/flash-setup.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=definitive-fi-flash-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/definitive-fi-flash-mcp
