Api Endpoint

IV Surface Desk

When to use: book of market premiums → need IV grid + per-quote Greeks (not a single contract). Shared rate/yield; each row has its own underlying (power/commodity forwards by maturity). Returns strike×maturity IV surface, fit quality, solve stats. USDC exact on Solana/Base. Prefer single IV endpoint for one premium.

Open interactive test console

Offering

Provider
derivatives-pricer-production.up.railway.app
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Financial Analysis
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://derivatives-pricer-production.up.railway.app/v1/volatility/surface
MIME type
Not provided
First seen
2026-10-16T01:51:51.176Z
Last seen
Tags
volatility, surface, options, multi-chain, USDC

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.1 USDC
Atomic price: 100000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Payment option 2
0.1 USDC
Atomic price: 100000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "100000",
    "payTo": "DCi9X5mmacNGLeJvCw9fdWgX3G8V4QquDn4EuXATkcYr"
  },
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "100000",
    "payTo": "0x34cfb8bdbf16e4484b7da0ed31deed5771b16c8f"
  }
]

Observed health

Status
Healthy
Latest latency
98 ms
Average latency
174 ms
HTTP status
204
Last checked
Reachability
100% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "body": {
      "additionalProperties": false,
      "description": "Build an IV surface from a market option book. Share funding rate and yield; attach each quote's own underlying (supports different forward marks by maturity — common in power, gas, and commodity curves).",
      "properties": {
        "dividendYield": {
          "description": "Shared continuous yield q (default 0): equity dividends, FX foreign rate, or commodity convenience yield as appropriate.",
          "examples": [
            0,
            0.01
          ],
          "minimum": 0,
          "type": "number"
        },
        "expiration": {
          "description": "Shared ISO-8601 window end for all rows. When set, all rows share derived τ.",
          "format": "date-time",
          "type": "string"
        },
        "forwardStart": {
          "description": "Shared ISO-8601 window start for all rows (optional).",
          "format": "date-time",
          "type": "string"
        },
        "optionStyle": {
          "default": "european",
          "description": "Exercise style for IV solve (default \"european\").",
          "enum": [
            "european",
            "american"
          ],
          "type": "string"
        },
        "options": {
          "description": "Market quotes: one object per (underlying, strike, maturity, type) with observed premium. Prefer unique keys per cell; duplicates average into the grid.",
          "items": {
            "additionalProperties": false,
            "properties": {
              "optionType": {
                "description": "European call or put.",
                "enum": [
                  "call",
                  "put"
                ],
                "type": "string"
              },
              "premium": {
                "description": "Observed market premium (≥ 0) in underlying currency units.",
                "minimum": 0,
                "type": "number"
              },
              "strike": {
                "description": "Strike K (> 0) in same units as underlying.",
                "exclusiveMinimum": 0,
                "type": "number"
              },
              "timeToExpiry": {
                "description": "Year-fraction to expiry T (≥ 0).",
                "examples": [
                  0.25,
                  0.5,
                  1
                ],
                "minimum": 0,
                "type": "number"
              },
              "underlying": {
                "description": "Underlying level S for this quote (> 0). May differ by maturity (e.g. monthly power/gas forwards).",
                "examples": [
                  100,
                  82.5
                ],
                "exclusiveMinimum": 0,
                "type": "number"
              }
            },
            "required": [
              "underlying",
              "strike",
              "timeToExpiry",
              "optionType",
              "premium"
            ],
            "title": "MarketOptionQuote",
            "type": "object"
          },
          "maxItems": 200,
          "minItems": 1,
          "type": "array"
        },
        "rate": {
          "description": "Shared continuous risk-free / discount rate r for the book (e.g. 0.05 = 5%).",
          "examples": [
            0.03,
            0.05
          ],
          "type": "number"
        },
        "treeSteps": {
          "description": "CRR steps when optionStyle is american.",
          "maximum": 500,
          "minimum": 50,
          "type": "integer"
        }
      },
      "required": [
        "rate",
        "options"
      ],
      "title": "ImpliedVolatilitySurfaceRequest",
      "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 schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "description": "Build an IV surface from a market option book. Share funding rate and yield; attach each quote's own underlying (supports different forward marks by maturity — common in power, gas, and commodity curves).",
          "properties": {
            "dividendYield": {
              "description": "Shared continuous yield q (default 0): equity dividends, FX foreign rate, or commodity convenience yield as appropriate.",
              "examples": [
                0,
                0.01
              ],
              "minimum": 0,
              "type": "number"
            },
            "expiration": {
              "description": "Shared ISO-8601 window end for all rows. When set, all rows share derived τ.",
              "format": "date-time",
              "type": "string"
            },
            "forwardStart": {
              "description": "Shared ISO-8601 window start for all rows (optional).",
              "format": "date-time",
              "type": "string"
            },
            "optionStyle": {
              "default": "european",
              "description": "Exercise style for IV solve (default \"european\").",
              "enum": [
                "european",
                "american"
              ],
              "type": "string"
            },
            "options": {
              "description": "Market quotes: one object per (underlying, strike, maturity, type) with observed premium. Prefer unique keys per cell; duplicates average into the grid.",
              "items": {
                "additionalProperties": false,
                "properties": {
                  "optionType": {
                    "description": "European call or put.",
                    "enum": [
                      "call",
                      "put"
                    ],
                    "type": "string"
                  },
                  "premium": {
                    "description": "Observed market premium (≥ 0) in underlying currency units.",
                    "minimum": 0,
                    "type": "number"
                  },
                  "strike": {
                    "description": "Strike K (> 0) in same units as underlying.",
                    "exclusiveMinimum": 0,
                    "type": "number"
                  },
                  "timeToExpiry": {
                    "description": "Year-fraction to expiry T (≥ 0).",
                    "examples": [
                      0.25,
                      0.5,
                      1
                    ],
                    "minimum": 0,
                    "type": "number"
                  },
                  "underlying": {
                    "description": "Underlying level S for this quote (> 0). May differ by maturity (e.g. monthly power/gas forwards).",
                    "examples": [
                      100,
                      82.5
                    ],
                    "exclusiveMinimum": 0,
                    "type": "number"
                  }
                },
                "required": [
                  "underlying",
                  "strike",
                  "timeToExpiry",
                  "optionType",
                  "premium"
                ],
                "title": "MarketOptionQuote",
                "type": "object"
              },
              "maxItems": 200,
              "minItems": 1,
              "type": "array"
            },
            "rate": {
              "description": "Shared continuous risk-free / discount rate r for the book (e.g. 0.05 = 5%).",
              "examples": [
                0.03,
                0.05
              ],
              "type": "number"
            },
            "treeSteps": {
              "description": "CRR steps when optionStyle is american.",
              "maximum": 500,
              "minimum": 50,
              "type": "integer"
            }
          },
          "required": [
            "rate",
            "options"
          ],
          "title": "ImpliedVolatilitySurfaceRequest",
          "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": {
          "description": "Strike×maturity IV grid, per-quote IV and Greeks, fit diagnostics, and solver stats for agent risk and market-making pipelines.",
          "properties": {
            "computedAt": {
              "type": "string"
            },
            "fit": {
              "description": "Book-level inversion quality metrics",
              "properties": {
                "failedCount": {
                  "type": "integer"
                },
                "maxAbsPriceError": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "meanAbsPriceError": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "okCount": {
                  "type": "integer"
                },
                "rmsePriceError": {
                  "type": [
                    "number",
                    "null"
                  ]
                }
              },
              "type": "object"
            },
            "market": {
              "description": "Echo of shared rate and yield",
              "properties": {
                "dividendYield": {
                  "type": "number"
                },
                "rate": {
                  "type": "number"
                }
              },
              "type": "object"
            },
            "points": {
              "description": "Per-input quote results: IV, Greeks, model price vs premium, status",
              "items": {
                "properties": {
                  "greeks": {
                    "description": "Analytic Greeks at solved IV (null if failed)",
                    "type": [
                      "object",
                      "null"
                    ]
                  },
                  "impliedVol": {
                    "description": "Solved annualized IV or null if failed",
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "index": {
                    "type": "integer"
                  },
                  "modelPrice": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "optionType": {
                    "enum": [
                      "call",
                      "put"
                    ],
                    "type": "string"
                  },
                  "premium": {
                    "type": "number"
                  },
                  "priceError": {
                    "description": "modelPrice − premium",
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "reason": {
                    "description": "Failure reason when status=failed",
                    "type": "string"
                  },
                  "status": {
                    "enum": [
                      "ok",
                      "failed"
                    ],
                    "type": "string"
                  },
                  "strike": {
                    "type": "number"
                  },
                  "timeToExpiry": {
                    "type": "number"
                  },
                  "underlying": {
                    "type": "number"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "requestId": {
              "type": "string"
            },
            "stats": {
              "description": "Compute telemetry for agents (latency, solver id)",
              "properties": {
                "avgIterations": {
                  "type": "number"
                },
                "elapsedMs": {
                  "type": "number"
                },
                "optionCount": {
                  "type": "integer"
                },
                "solver": {
                  "const": "fastImpliedVol",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "surface": {
              "description": "Dense IV grid derived from successful inversions",
              "properties": {
                "impliedVols": {
                  "description": "Grid [strikeIndex][maturityIndex]; null where no successful quote mapped",
                  "items": {
                    "items": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "type": "array"
                  },
                  "type": "array"
                },
                "maturities": {
                  "description": "Sorted unique year-fraction maturities",
                  "items": {
                    "type": "number"
                  },
                  "type": "array"
                },
                "strikes": {
                  "description": "Sorted unique strikes from the book",
                  "items": {
                    "type": "number"
                  },
                  "type": "array"
                }
              },
              "required": [
                "strikes",
                "maturities",
                "impliedVols"
              ],
              "type": "object"
            }
          },
          "required": [
            "surface",
            "market",
            "points",
            "fit",
            "stats",
            "requestId",
            "computedAt"
          ],
          "title": "ImpliedVolatilitySurfaceResponse",
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}