mirrored listing x402 solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpeip155:8453

When to use: you already have model inputs (S or forward mark, K, T, r, σ) and need fair v

When to use: you already have model inputs (S or forward mark, K, T, r, σ) and need fair value + hedge ratios — not market-premium IV. European BSM price + analytic Greeks (delta, gamma, vega, theta, rho). Works for equity spots and power/commodity forwards (use the maturity mark as spot). USDC exact on Solana/Base. Free fixed sample: GET /v1/demo/option-price.

Do you run derivatives-pricer-production.up.railway.app? This listing was mirrored from Coinbase's public Bazaar. Claim it in 30 seconds — no account required — and it becomes verified, permanently overriding the mirrored copy.

Claim this listing
10000 (raw units)
price
2
calls / 30d
2
unique payers
2026-09-14
updated

Provider

derivatives-pricer-production.up.railway.app · discovered, not yet claimed by its owner

Payment (x402 accepts[])

[
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "payTo": "DCi9X5mmacNGLeJvCw9fdWgX3G8V4QquDn4EuXATkcYr",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "10000",
    "maxTimeoutSeconds": 300
  },
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0x34cfb8bdbf16e4484b7da0ed31deed5771b16c8f",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "10000",
    "maxTimeoutSeconds": 300
  }
]

Output schema

{
  "bazaar": {
    "info": {
      "input": {
        "body": {
          "dividendYield": 0,
          "optionType": "call",
          "rate": 0.05,
          "spot": 100,
          "strike": 100,
          "timeToExpiry": 1,
          "volatility": 0.2
        },
        "bodyType": "json",
        "method": "POST",
        "type": "http"
      },
      "output": {
        "example": {
          "computedAt": "2026-01-01T00:00:00.000Z",
          "greekConvention": "raw",
          "greeks": {
            "delta": 0.63683059,
            "gamma": 0.01876202,
            "rho": 53.23248343,
            "theta": -6.41402764,
            "vega": 37.52403469
          },
          "greeksQuality": "analytic",
          "inputs": {
            "dividendYield": 0,
            "greekConvention": "raw",
            "model": "bsm",
            "optionStyle": "european",
            "optionType": "call",
            "rate": 0.05,
            "spot": 100,
            "strike": 100,
            "timeToExpiry": 1,
            "volatility": 0.2
          },
          "model": "black-scholes-merton",
          "optionStyle": "european",
          "price": 10.45057562,
          "requestId": "00000000-0000-4000-8000-000000000001",
          "timeline": {
            "calendarYearsToExpiry": 1,
            "effectiveStart": "2026-01-01T00:00:00.000Z",
            "expiration": "2027-01-01T06:00:00.000Z",
            "forwardStart": "2026-01-01T00:00:00.000Z",
            "tauYears": 1,
            "yearBasis": "ACT/365.25"
          },
          "units": {
            "delta": "dV/dS or dV/dF (share / forward equivalent)",
            "gamma": "d²V/dS² or d²V/dF²",
            "price": "option value in spot/forward currency units",
            "rho": "dV/dr per 1.0 absolute rate (not per 1%)",
            "theta": "dV/dT per year (not per day)",
            "vega": "dV/dσ per 1.0 absolute volatility (not per 1%)"
          }
        },
        "type": "json"
      }
    },
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "input": {
          "additionalProperties": false,
          "properties": {
            "body": {
              "properties": {
                "dividendYield": {
                  "description": "Continuous dividend / convenience / yield q (≥ 0, default 0).",
                  "examples": [
                    0,
                    0.02
                  ],
                  "minimum": 0,
                  "type": "number"
                },
                "expiration": {
                  "description": "ISO-8601 end of vol/exercise window. Mutually exclusive with timeToExpiry.",
                  "format": "date-time",
                  "type": "string"
                },
                "forwardStart": {
                  "description": "ISO-8601 start of vol/exercise window. If ≤ now, behaves like plain option to expiration.",
                  "format": "date-time",
                  "type": "string"
                },
                "optionStyle": {
                  "default": "european",
                  "description": "Exercise style (default \"european\"). American uses CRR binomial with early exercise.",
                  "enum": [
                    "european",
                    "american"
                  ],
                  "type": "string"
                },
                "optionType": {
                  "description": "Call or put.",
                  "enum": [
                    "call",
                    "put"
                  ],
                  "type": "string"
                },
                "rate": {
                  "description": "Continuously compounded risk-free rate r (e.g. 0.05 = 5%). For futures-style early exercise set r≈dividendYield.",
                  "examples": [
                    0.03,
                    0.05
                  ],
                  "type": "number"
                },
                "spot": {
                  "description": "Underlying price S (> 0). Equity spot OR power/commodity forward mark for the option's window.",
                  "examples": [
                    100,
                    82.5,
                    45.5
                  ],
                  "exclusiveMinimum": 0,
                  "type": "number"
                },
                "strike": {
                  "description": "Strike price K (> 0) in the same units as spot.",
                  "examples": [
                    100,
                    50
                  ],
                  "exclusiveMinimum": 0,
                  "type": "number"
                },
                "timeToExpiry": {
                  "description": "Time to expiry T in years (≥ 0). Required unless expiration is set. Mutually exclusive with expiration.",
                  "examples": [
                    0.25,
                    1
                  ],
                  "minimum": 0,
                  "type": "number"
                },
                "treeSteps": {
                  "description": "CRR steps for American (default 200 on single price).",
                  "maximum": 500,
                  "minimum": 50,
                  "type": "integer"
                },
                "volatility": {
                  "description": "Annualized volatility σ as a decimal (> 0). Applies over the vol-accrual window τ.",
                  "examples": [
                    0.15,
                    0.2,
                    0.45
                  ],
                  "exclusiveMinimum": 0,
                  "type": "number"
                }
              },
              "required": [
                "spot",
                "strike",
                "rate",
                "volatility",
                "optionType"
              ]
            },
            "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": "Fair value and Greeks. European Greeks are analytic BSM; American Greeks are finite-difference on the CRR tree. timeline.tauYears is the model life (window); calendarYearsToExpiry is purchase→expiry.",
              "properties": {
                "computedAt": {
                  "description": "ISO-8601 UTC timestamp of computation",
                  "type": "string"
                },
                "greeks": {
                  "description": "Greeks for hedge construction",
                  "properties": {
                    "delta": {
                      "description": "∂V/∂S",
                      "type": "number"
                    },
                    "gamma": {
                      "description": "∂²V/∂S²",
                      "type": "number"
                    },
                    "rho": {
                      "description": "∂V/∂r per 1.0 absolute rate",
                      "type": "number"
                    },
                    "theta": {
                      "description": "∂V/∂T per year",
                      "type": "number"
                    },
                    "vega": {
                      "description": "∂V/∂σ per 1.0 absolute vol",
                      "type": "number"
                    }
                  },
                  "required": [
                    "delta",
                    "gamma",
                    "vega",
                    "theta",
                    "rho"
                  ],
                  "type": "object"
                },
                "greeksQuality": {
                  "enum": [
                    "analytic",
                    "finite-difference"
                  ],
                  "type": "string"
                },
                "inputs": {
                  "description": "Echo of validated request inputs (timeToExpiry may be resolved τ)",
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "black-scholes-merton",
                    "binomial-crr-american"
                  ],
                  "type": "string"
                },
                "optionStyle": {
                  "enum": [
                    "european",
                    "american"
                  ],
                  "type": "string"
                },
                "price": {
                  "description": "Model option fair value in underlying currency units",
                  "type": "number"
                },
                "requestId": {
                  "description": "Correlation id for this call",
                  "type": "string"
                },
                "timeline": {
                  "description": "Resolved ACT/365.25 window",
                  "type": "object"
                },
                "treeSteps": {
                  "type": "integer"
                },
                "units": {
                  "description": "Human/agent readable unit notes for price and Greeks",
                  "type": "object"
                }
              },
              "required": [
                "price",
                "greeks",
                "inputs",
                "model",
                "optionStyle",
                "timeline",
                "greeksQuality",
                "requestId",
                "computedAt"
              ],
              "title": "OptionPriceResponse",
              "type": "object"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  }
}

Use it

curl

curl "https://derivatives-pricer-production.up.railway.app/v1/option/price"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid

JavaScript

const res = await fetch("https://derivatives-pricer-production.up.railway.app/v1/option/price");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}

Python

import httpx
res = httpx.get("https://derivatives-pricer-production.up.railway.app/v1/option/price")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Machine-readable

Everything on this page is also available as clean JSON at /resources/8868.json, and this resource appears in /discovery/resources and /discovery/search.