{
  "x402Version": 2,
  "id": 32345,
  "slug": "32345",
  "resource": "https://derivatives-pricer-production.up.railway.app/v1/option/scenario-from-surface",
  "description": "When to use: book reval on an IV surface under F/rate/time/vol shocks with sticky moneyness|strike|fixed_vol. Vol order: interpolate → volAbs → volRel → smileTwist*k. Greeks are sticky-σ BS Greeks (not smile bump deltas). USDC exact on Solana/Base. Prefer scalar /v1/portfolio/scenario for per-leg scalar σ books.",
  "type": "http",
  "serviceName": "Surface Scenarios",
  "resourceType": "Utilities",
  "accepts": [
    {
      "scheme": "exact",
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "payTo": "DCi9X5mmacNGLeJvCw9fdWgX3G8V4QquDn4EuXATkcYr",
      "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "amount": "150000",
      "amountUsd": 0.15,
      "maxTimeoutSeconds": 300
    },
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x34cfb8bdbf16e4484b7da0ed31deed5771b16c8f",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "150000",
      "amountUsd": 0.15,
      "maxTimeoutSeconds": 300
    }
  ],
  "outputSchema": {
    "properties": {
      "example": {
        "properties": {
          "book": {
            "type": "object"
          },
          "computedAt": {
            "type": "string"
          },
          "legs": {
            "type": "array"
          },
          "requestId": {
            "type": "string"
          },
          "scenario": {
            "type": "object"
          },
          "sticky": {
            "type": "string"
          },
          "warnings": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "legs",
          "book",
          "warnings",
          "requestId",
          "computedAt"
        ],
        "type": "object"
      },
      "type": {
        "type": "string"
      }
    },
    "required": [
      "type"
    ],
    "type": "object"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "dividendYield": 0,
            "interpolation": "total_variance_bilinear",
            "positions": [
              {
                "optionType": "call",
                "quantity": 1,
                "strike": 100,
                "timeToExpiry": 1,
                "underlying": 100
              }
            ],
            "rate": 0.05,
            "scenario": {
              "rateBp": 0,
              "smileTwist": 0,
              "timeDays": 0,
              "underlyingRel": 0.1,
              "volAbs": 0,
              "volRel": 0
            },
            "sticky": "moneyness",
            "surface": [
              {
                "iv": 0.22,
                "k": -0.1,
                "timeToExpiry": 0.25
              },
              {
                "iv": 0.2,
                "k": 0,
                "timeToExpiry": 0.25
              },
              {
                "iv": 0.23,
                "k": 0.1,
                "timeToExpiry": 0.25
              },
              {
                "iv": 0.21,
                "k": -0.1,
                "timeToExpiry": 0.5
              },
              {
                "iv": 0.2,
                "k": 0,
                "timeToExpiry": 0.5
              },
              {
                "iv": 0.22,
                "k": 0.1,
                "timeToExpiry": 0.5
              },
              {
                "iv": 0.205,
                "k": -0.1,
                "timeToExpiry": 1
              },
              {
                "iv": 0.2,
                "k": 0,
                "timeToExpiry": 1
              },
              {
                "iv": 0.215,
                "k": 0.1,
                "timeToExpiry": 1
              }
            ],
            "surfaceConvention": "log_moneyness_forward",
            "wingRule": "flat_vol"
          },
          "bodyType": "json",
          "method": "POST",
          "type": "http"
        },
        "output": {
          "example": {
            "book": {
              "deltaValue": 7.36197848,
              "greeksBase": {
                "delta": 0.63683059,
                "gamma": 0.01876202,
                "rho": 53.23248343,
                "theta": -6.41402764,
                "vega": 37.52403469
              },
              "greeksNote": "Greeks are analytic BS Greeks at sticky/scenario σ — NOT full smile-recalibrated bump deltas",
              "greeksScenario": {
                "delta": 0.79160899,
                "gamma": 0.01273721,
                "rho": 69.26443492,
                "theta": -6.69435438,
                "vega": 31.55892407
              },
              "valueBase": 10.45057562,
              "valueScenario": 17.8125541
            },
            "computedAt": "2026-01-01T00:00:00.000Z",
            "legs": [
              {
                "base": {
                  "contribution": 10.45057562,
                  "forward": 100,
                  "greeks": {
                    "delta": 0.63683059,
                    "gamma": 0.01876202,
                    "rho": 53.23248343,
                    "theta": -6.41402764,
                    "vega": 37.52403469
                  },
                  "impliedVol": 0.2,
                  "k": 0,
                  "price": 10.45057562,
                  "timeToExpiry": 1,
                  "underlying": 100
                },
                "deltaValue": 7.36197848,
                "index": 0,
                "optionType": "call",
                "quantity": 1,
                "scenario": {
                  "contribution": 17.8125541,
                  "forward": 110,
                  "greeks": {
                    "delta": 0.79160899,
                    "gamma": 0.01273721,
                    "rho": 69.26443492,
                    "theta": -6.69435438,
                    "vega": 31.55892407
                  },
                  "impliedVol": 0.20476824,
                  "k": -0.09531018,
                  "price": 17.8125541,
                  "timeToExpiry": 1,
                  "underlying": 110
                },
                "strike": 100
              }
            ],
            "model": "black-scholes-merton+surface-tv-bilinear",
            "optionStyle": "european",
            "requestId": "00000000-0000-4000-8000-000000000007",
            "scenario": {
              "rateBp": 0,
              "rateScenario": 0.05,
              "smileTwist": 0,
              "timeDays": 0,
              "underlyingRel": 0.1,
              "volAbs": 0,
              "volRel": 0
            },
            "sticky": "moneyness",
            "surfaceMeta": {
              "convention": "log_moneyness_forward",
              "kCount": 3,
              "pointCount": 9,
              "tCount": 3
            },
            "warnings": []
          },
          "type": "json"
        }
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "input": {
            "additionalProperties": false,
            "properties": {
              "body": {
                "additionalProperties": false,
                "description": "Revalue a book on an IV surface under sticky moneyness/strike/fixed_vol with optional F, rate, time, and vol shocks (incl. smileTwist).",
                "properties": {
                  "dividendYield": {
                    "minimum": 0,
                    "type": "number"
                  },
                  "interpolation": {
                    "const": "total_variance_bilinear",
                    "type": "string"
                  },
                  "optionStyle": {
                    "default": "european",
                    "enum": [
                      "european",
                      "american"
                    ],
                    "type": "string"
                  },
                  "options": {
                    "maxItems": 50,
                    "minItems": 1,
                    "type": "array"
                  },
                  "positions": {
                    "maxItems": 50,
                    "minItems": 1,
                    "type": "array"
                  },
                  "rate": {
                    "type": "number"
                  },
                  "scenario": {
                    "type": "object"
                  },
                  "sticky": {
                    "enum": [
                      "moneyness",
                      "strike",
                      "fixed_vol"
                    ],
                    "type": "string"
                  },
                  "surface": {
                    "maxItems": 200,
                    "minItems": 1,
                    "type": "array"
                  },
                  "surfaceConvention": {
                    "const": "log_moneyness_forward",
                    "type": "string"
                  },
                  "wingRule": {
                    "const": "flat_vol",
                    "type": "string"
                  }
                },
                "required": [
                  "surfaceConvention",
                  "rate",
                  "surface",
                  "positions",
                  "scenario"
                ],
                "title": "ScenarioFromSurfaceRequest",
                "type": "object"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              },
              "method": {
                "enum": [
                  "POST"
                ],
                "type": "string"
              },
              "type": {
                "const": "http",
                "type": "string"
              }
            },
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "type": "object"
          },
          "output": {
            "properties": {
              "example": {
                "properties": {
                  "book": {
                    "type": "object"
                  },
                  "computedAt": {
                    "type": "string"
                  },
                  "legs": {
                    "type": "array"
                  },
                  "requestId": {
                    "type": "string"
                  },
                  "scenario": {
                    "type": "object"
                  },
                  "sticky": {
                    "type": "string"
                  },
                  "warnings": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "legs",
                  "book",
                  "warnings",
                  "requestId",
                  "computedAt"
                ],
                "type": "object"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    }
  },
  "tags": [
    "scenario",
    "mark",
    "multi-chain",
    "usdc",
    "smile",
    "bazaar"
  ],
  "sourceHost": "derivatives-pricer-production.up.railway.app",
  "lastUpdated": "2026-10-10T23:48:42.107Z",
  "quality": {
    "calls30d": 1,
    "uniquePayers30d": 1,
    "lastCalledAt": "2026-10-10T23:48:41.869Z"
  },
  "metadata": {
    "serviceName": "Surface Scenarios",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "dividendYield": 0,
              "interpolation": "total_variance_bilinear",
              "positions": [
                {
                  "optionType": "call",
                  "quantity": 1,
                  "strike": 100,
                  "timeToExpiry": 1,
                  "underlying": 100
                }
              ],
              "rate": 0.05,
              "scenario": {
                "rateBp": 0,
                "smileTwist": 0,
                "timeDays": 0,
                "underlyingRel": 0.1,
                "volAbs": 0,
                "volRel": 0
              },
              "sticky": "moneyness",
              "surface": [
                {
                  "iv": 0.22,
                  "k": -0.1,
                  "timeToExpiry": 0.25
                },
                {
                  "iv": 0.2,
                  "k": 0,
                  "timeToExpiry": 0.25
                },
                {
                  "iv": 0.23,
                  "k": 0.1,
                  "timeToExpiry": 0.25
                },
                {
                  "iv": 0.21,
                  "k": -0.1,
                  "timeToExpiry": 0.5
                },
                {
                  "iv": 0.2,
                  "k": 0,
                  "timeToExpiry": 0.5
                },
                {
                  "iv": 0.22,
                  "k": 0.1,
                  "timeToExpiry": 0.5
                },
                {
                  "iv": 0.205,
                  "k": -0.1,
                  "timeToExpiry": 1
                },
                {
                  "iv": 0.2,
                  "k": 0,
                  "timeToExpiry": 1
                },
                {
                  "iv": 0.215,
                  "k": 0.1,
                  "timeToExpiry": 1
                }
              ],
              "surfaceConvention": "log_moneyness_forward",
              "wingRule": "flat_vol"
            },
            "bodyType": "json",
            "method": "POST",
            "type": "http"
          },
          "output": {
            "example": {
              "book": {
                "deltaValue": 7.36197848,
                "greeksBase": {
                  "delta": 0.63683059,
                  "gamma": 0.01876202,
                  "rho": 53.23248343,
                  "theta": -6.41402764,
                  "vega": 37.52403469
                },
                "greeksNote": "Greeks are analytic BS Greeks at sticky/scenario σ — NOT full smile-recalibrated bump deltas",
                "greeksScenario": {
                  "delta": 0.79160899,
                  "gamma": 0.01273721,
                  "rho": 69.26443492,
                  "theta": -6.69435438,
                  "vega": 31.55892407
                },
                "valueBase": 10.45057562,
                "valueScenario": 17.8125541
              },
              "computedAt": "2026-01-01T00:00:00.000Z",
              "legs": [
                {
                  "base": {
                    "contribution": 10.45057562,
                    "forward": 100,
                    "greeks": {
                      "delta": 0.63683059,
                      "gamma": 0.01876202,
                      "rho": 53.23248343,
                      "theta": -6.41402764,
                      "vega": 37.52403469
                    },
                    "impliedVol": 0.2,
                    "k": 0,
                    "price": 10.45057562,
                    "timeToExpiry": 1,
                    "underlying": 100
                  },
                  "deltaValue": 7.36197848,
                  "index": 0,
                  "optionType": "call",
                  "quantity": 1,
                  "scenario": {
                    "contribution": 17.8125541,
                    "forward": 110,
                    "greeks": {
                      "delta": 0.79160899,
                      "gamma": 0.01273721,
                      "rho": 69.26443492,
                      "theta": -6.69435438,
                      "vega": 31.55892407
                    },
                    "impliedVol": 0.20476824,
                    "k": -0.09531018,
                    "price": 17.8125541,
                    "timeToExpiry": 1,
                    "underlying": 110
                  },
                  "strike": 100
                }
              ],
              "model": "black-scholes-merton+surface-tv-bilinear",
              "optionStyle": "european",
              "requestId": "00000000-0000-4000-8000-000000000007",
              "scenario": {
                "rateBp": 0,
                "rateScenario": 0.05,
                "smileTwist": 0,
                "timeDays": 0,
                "underlyingRel": 0.1,
                "volAbs": 0,
                "volRel": 0
              },
              "sticky": "moneyness",
              "surfaceMeta": {
                "convention": "log_moneyness_forward",
                "kCount": 3,
                "pointCount": 9,
                "tCount": 3
              },
              "warnings": []
            },
            "type": "json"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "additionalProperties": false,
              "properties": {
                "body": {
                  "additionalProperties": false,
                  "description": "Revalue a book on an IV surface under sticky moneyness/strike/fixed_vol with optional F, rate, time, and vol shocks (incl. smileTwist).",
                  "properties": {
                    "dividendYield": {
                      "minimum": 0,
                      "type": "number"
                    },
                    "interpolation": {
                      "const": "total_variance_bilinear",
                      "type": "string"
                    },
                    "optionStyle": {
                      "default": "european",
                      "enum": [
                        "european",
                        "american"
                      ],
                      "type": "string"
                    },
                    "options": {
                      "maxItems": 50,
                      "minItems": 1,
                      "type": "array"
                    },
                    "positions": {
                      "maxItems": 50,
                      "minItems": 1,
                      "type": "array"
                    },
                    "rate": {
                      "type": "number"
                    },
                    "scenario": {
                      "type": "object"
                    },
                    "sticky": {
                      "enum": [
                        "moneyness",
                        "strike",
                        "fixed_vol"
                      ],
                      "type": "string"
                    },
                    "surface": {
                      "maxItems": 200,
                      "minItems": 1,
                      "type": "array"
                    },
                    "surfaceConvention": {
                      "const": "log_moneyness_forward",
                      "type": "string"
                    },
                    "wingRule": {
                      "const": "flat_vol",
                      "type": "string"
                    }
                  },
                  "required": [
                    "surfaceConvention",
                    "rate",
                    "surface",
                    "positions",
                    "scenario"
                  ],
                  "title": "ScenarioFromSurfaceRequest",
                  "type": "object"
                },
                "bodyType": {
                  "enum": [
                    "json",
                    "form-data",
                    "text"
                  ],
                  "type": "string"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "type": {
                  "const": "http",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "example": {
                  "properties": {
                    "book": {
                      "type": "object"
                    },
                    "computedAt": {
                      "type": "string"
                    },
                    "legs": {
                      "type": "array"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "scenario": {
                      "type": "object"
                    },
                    "sticky": {
                      "type": "string"
                    },
                    "warnings": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "legs",
                    "book",
                    "warnings",
                    "requestId",
                    "computedAt"
                  ],
                  "type": "object"
                },
                "type": {
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        }
      }
    }
  },
  "liveness": {
    "reliability": null
  },
  "verified": false,
  "featured": false,
  "provider": {
    "host": "derivatives-pricer-production.up.railway.app",
    "manifest_name": "derivatives-pricer-production.up.railway.app",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-10-14T01:15:01.050Z"
  },
  "exampleResponse": {
    "book": {
      "deltaValue": 7.36197848,
      "greeksBase": {
        "delta": 0.63683059,
        "gamma": 0.01876202,
        "rho": 53.23248343,
        "theta": -6.41402764,
        "vega": 37.52403469
      },
      "greeksNote": "Greeks are analytic BS Greeks at sticky/scenario σ — NOT full smile-recalibrated bump deltas",
      "greeksScenario": {
        "delta": 0.79160899,
        "gamma": 0.01273721,
        "rho": 69.26443492,
        "theta": -6.69435438,
        "vega": 31.55892407
      },
      "valueBase": 10.45057562,
      "valueScenario": 17.8125541
    },
    "computedAt": "2026-01-01T00:00:00.000Z",
    "legs": [
      {
        "base": {
          "contribution": 10.45057562,
          "forward": 100,
          "greeks": {
            "delta": 0.63683059,
            "gamma": 0.01876202,
            "rho": 53.23248343,
            "theta": -6.41402764,
            "vega": 37.52403469
          },
          "impliedVol": 0.2,
          "k": 0,
          "price": 10.45057562,
          "timeToExpiry": 1,
          "underlying": 100
        },
        "deltaValue": 7.36197848,
        "index": 0,
        "optionType": "call",
        "quantity": 1,
        "scenario": {
          "contribution": 17.8125541,
          "forward": 110,
          "greeks": {
            "delta": 0.79160899,
            "gamma": 0.01273721,
            "rho": 69.26443492,
            "theta": -6.69435438,
            "vega": 31.55892407
          },
          "impliedVol": 0.20476824,
          "k": -0.09531018,
          "price": 17.8125541,
          "timeToExpiry": 1,
          "underlying": 110
        },
        "strike": 100
      }
    ],
    "model": "black-scholes-merton+surface-tv-bilinear",
    "optionStyle": "european",
    "requestId": "00000000-0000-4000-8000-000000000007",
    "scenario": {
      "rateBp": 0,
      "rateScenario": 0.05,
      "smileTwist": 0,
      "timeDays": 0,
      "underlyingRel": 0.1,
      "volAbs": 0,
      "volRel": 0
    },
    "sticky": "moneyness",
    "surfaceMeta": {
      "convention": "log_moneyness_forward",
      "kCount": 3,
      "pointCount": 9,
      "tCount": 3
    },
    "warnings": []
  }
}