# Butterfly Delta – Assumption Pressure Detection for Crypto Actions

> Butterfly Delta – Assumption Pressure Detection for Crypto Actions is a paid API for AI agents from butterflydelta.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Identifies which explicit assumptions behind an intended crypto action have been invalidated by verified external market changes since the caller's last checkpoint.

## Facts

- Endpoint: POST https://butterflydelta.com/api/agent/delta-gate
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/butterfly-delta-assumption-pressure-detection-for-crypto-actions-9d095d8d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_4-hvdeGF-FV4ksHuqdPTH

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability butterfly-delta-assumption-pressure-detection-for-crypto-actions-9d095d8d -d '<json body>'
```

Example prompt: Before I execute a market buy of 0.25 BTC on Coinbase, check which of my original trade assumptions have been pressured by external market changes since my last checkpoint — I'm working against a deadline of end of day and I want to know if anything like spread, depth, or venue health has shifted enough to invalidate my intent.

## When to prefer this

Use Butterfly Delta's delta-gate endpoint when an autonomous agent needs to identify specifically WHICH assumptions behind a pending crypto action have been invalidated by external market changes — not just whether to proceed, but exactly what drifted. Prefer this over a simple preflight check when the agent must explain its reasoning, log assumption pressure for audit, or handle irreversible high-stakes actions where understanding the cause of staleness matters as much as the go/no-go verdict.

## Known failure modes

- Invalid trading pair format (must match pattern like BTC-USD) returns 400
- Limit order submitted without limitPrice returns validation error
- Requested venue not among supported venues (coinbase, gemini) returns error
- Stale quote data (exceeding maxQuoteAgeSeconds) causes degraded or failed response
- Fewer than minHealthyVenues available causes integrity failure
- Payment not included or insufficient USDC balance causes 402 rejection
- Action target missing or too short returns 400 validation error

## How this service works

Identify which explicit assumptions behind an intended crypto action were pressured by verified external changes since the caller's checkpoint.

## Output

A structured response listing each explicit assumption tied to the submitted crypto action that has been 'pressured' (i.e., invalidated or stressed) by verified external market changes observed since the caller's checkpoint. Includes signed venue assertions, identification of which conditions drifted (spread, depth, slippage, venue health), and an integrity verdict indicating whether it is safe to proceed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "trade": {
   "type": "object",
   "required": [
    "pair"
   ],
   "properties": {
    "pair": {
     "type": "string",
     "pattern": "^[A-Za-z0-9]{2,15}[-/_]USD$",
     "description": "USD spot pair, for example BTC-USD."
    },
    "side": {
     "enum": [
      "buy",
      "sell"
     ],
     "type": "string"
    },
    "venue": {
     "enum": [
      "coinbase",
      "gemini"
     ],
     "type": "string",
     "description": "Optional execution venue. Include with side and baseSize for exact-order simulation."
    },
    "summary": {
     "type": "string",
     "maxLength": 1000
    },
    "baseSize": {
     "type": "number",
     "description": "Exact base-asset size, for example 0.25 BTC.",
     "exclusiveMinimum": 0
    },
    "deadline": {
     "type": "string",
     "maxLength": 120
    },
    "orderType": {
     "enum": [
      "market",
      "limit"
     ],
     "type": "string",
     "default": "market"
    },
    "limitPrice": {
     "type": "number",
     "description": "Required when orderType is limit.",
     "exclusiveMinimum": 0
    },
    "minHealthyVenues": {
     "type": "number",
     "default": 2,
     "maximum": 2,
     "minimum": 1
    },
    "maxVenueSpreadBps": {
     "type": "number",
     "default": 10,
     "maximum": 10000,
     "minimum": 0
    },
    "maxQuoteAgeSeconds": {
     "type": "number",
     "default": 10,
     "maximum": 3600,
     "minimum": 0
    },
    "minDepthCoveragePct": {
     "type": "number",
     "default": 100,
     "maximum": 100,
     "minimum": 0
    },
    "maxEstimatedSlippageBps": {
     "type": "number",
     "default": 25,
     "maximum": 10000,
     "minimum": 0
    },
    "maxCrossVenueDivergenceBps": {
     "type": "number",
     "default": 20,
     "maximum": 10000,
     "minimum": 0
    }
   },
   "description": "Bot-native input. Butterfly Delta expands this policy into explicit, signed venue assertions.",
   "additionalProperties": false
  },
  "action": {
   "type": "object",
   "required": [
    "kind",
    "target"
   ],
   "properties": {
    "kind": {
     "enum": [
      "trade",
      "purchase",
      "transfer",
      "deploy",
      "publish",
      "api_call",
      "execute",
      "other"
     ],
     "type": "string"
    },
    "stakes": {
     "type": "object",
     "properties": {
      "value": {
       "type": "string",
       "maxLength": 80
      },
      "currency": {
       "type": "string",
       "maxLength": 32
   
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/butterfly-delta-assumption-pressure-detection-for-crypto-actions-9d095d8d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from butterflydelta.com](https://www.zero.xyz/host/butterflydelta.com/llms.txt)
