One API call. One probability.
Get probability and pricing for any scenario. Simple to integrate, built for production. The nodalmetrics API converts live options market data into implied probabilities — all endpoints are RESTful and return JSON.
Introduction
Base URL for all requests:
Supported endpoints:
- GET/check_probReturns above and below probabilities for a given scenario
- GET/all_assetsReturns all supported asset symbols
- GET/min_max_expiryReturns the min and max expiry in minutes for a given asset
Authentication
All API requests require a public and private API key passed as request headers. Reach out at partners@nodalmetrics.xyz to receive your keys.
curl -H "X-Public-Key: your_public_key" \ -H "X-Private-Key: your_private_key" \ "https://api.nodalmetrics.xyz/check_prob?asset=BTC&strike=67000&minutes=1440"
GET /check_prob main
The main endpoint. Returns the implied probability that the asset price will be above or below a given strike at expiry.
Query Parameters
| PARAMETER | TYPE | REQUIRED | DESCRIPTION |
|---|---|---|---|
| asset | string | Yes | Asset symbol (e.g. BTC, ETH) |
| strike | float | Yes | Strike price to evaluate |
| minutes | float | Yes | Time horizon in minutes from now |
Example Request
curl -H "X-Public-Key: example_public" -H "X-Private-Key: example_private" \ "https://api.nodalmetrics.xyz/check_prob?asset=BTC&strike=67000&minutes=1440"
import requests headers = { "X-Public-Key": "your_public_key", "X-Private-Key": "your_private_key" } response = requests.get( "https://api.nodalmetrics.xyz/check_prob", headers=headers, params={"asset": "BTC", "strike": 67000, "minutes": 1440} ) data = response.json() print(data["result"]["above"]) # 0.63 print(data["result"]["below"]) # 0.37
Response Format — Success
Response Fields
| FIELD | TYPE | DESCRIPTION |
|---|---|---|
| asset | string | Requested asset |
| strike | float | Input strike price |
| minutes | float | Time horizon in minutes |
| result.above | float | Probability asset price > strike at expiry |
| result.below | float | Probability asset price ≤ strike |
| status | string | Calculation status |
GET /all_assets
Returns a list of all currently supported asset symbols. No query parameters required.
Example Request
curl -H "X-Public-Key: example_public" -H "X-Private-Key: example_private" \ "https://api.nodalmetrics.xyz/all_assets"
Response Format — Success
GET /min_max_expiry
Returns the minimum and maximum number of minutes a valid request must include for a given asset.
Query Parameters
| PARAMETER | TYPE | REQUIRED | DESCRIPTION |
|---|---|---|---|
| asset | string | Yes | Asset symbol (e.g. BTC, ETH) |
Example Request
curl -H "X-Public-Key: example_public" -H "X-Private-Key: example_private" \ "https://api.nodalmetrics.xyz/min_max_expiry?asset=BTC"
Response Format — Success
Response Schema
All endpoints return HTTP 200 OK — including for calculation errors. Always check the status field to determine success.
status field.
Status Values & Error Handling
| SCENARIO | BEHAVIOUR |
|---|---|
| Successful computation | status: "valid" |
| Missing expiry data | Returns "beyond final expiry" |
| Invalid numeric params | Parsed as 0 (Go default behavior) |
Beyond Final Expiry
When the requested time exceeds available option expiries, probabilities return as 0:
Need Access?
Reach out at partners@nodalmetrics.xyz and we'll get back to you shortly.