← The evidence ledger
Evidence row 119902
Observed , by baseline/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://saylorinnovations.com/api/finance/portfolio-risk
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- be54454182d24fe81b42e7b431ad4b68ed5dfa86e1fb1cda4f0446c83fb0e9f2
- Leaf
- 0x31054b8aa82817963576606826f7457f1413e1bc77108a3658d48142126c7cdd
What was observed
{
"endpoints": [
[
"x402",
"https://saylorinnovations.com/api/finance/portfolio-risk"
]
],
"name": "Saylor Innovations Data Desk",
"owner_address": "0xa2a8df0f7caabea4e120a2568118f141569fc8aa",
"raw": {
"accepts": [
{
"amount": "10000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"assetTransferMethod": "eip3009",
"facilitatorOnly": true,
"memo": "saylor:datadesk:portfolio-risk-m",
"name": "USD Coin",
"note": "Base settles through an x402 facilitator. Send payload.signature and payload.authorization (EIP-3009); there is no self-submitted path on this network.",
"version": "2"
},
"maxTimeoutSeconds": 120,
"network": "eip155:8453",
"payTo": "0xA2A8dF0f7CaaBEa4e120a2568118f141569fc8aa",
"scheme": "exact"
},
{
"amount": "10000",
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"extra": {
"assetTransferMethod": "eip3009",
"facilitatorOnly": true,
"memo": "saylor:datadesk:portfolio-risk-m",
"name": "USD Coin",
"note": "Polygon settles through an x402 facilitator. Send payload.signature and payload.authorization (EIP-3009); there is no self-submitted path on this network.",
"version": "2"
},
"maxTimeoutSeconds": 120,
"network": "eip155:137",
"payTo": "0xA2A8dF0f7CaaBEa4e120a2568118f141569fc8aa",
"scheme": "exact"
},
{
"amount": "10000",
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"extra": {
"assetTransferMethod": "eip3009",
"facilitatorOnly": true,
"memo": "saylor:datadesk:portfolio-risk-m",
"name": "USD Coin",
"note": "Arbitrum settles through an x402 facilitator. Send payload.signature and payload.authorization (EIP-3009); there is no self-submitted path on this network.",
"version": "2"
},
"maxTimeoutSeconds": 120,
"network": "eip155:42161",
"payTo": "0xA2A8dF0f7CaaBEa4e120a2568118f141569fc8aa",
"scheme": "exact"
},
{
"amount": "10000",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb",
"memo": "saylor:datadesk:portfolio-risk-m",
"reference": "39Kk5zravHerxRpV4Pj1tMoJMFCgxXJFos6PB9TrteEM",
"session": "eyJhcnRpY2xlSWQiOiJkYXRhZGVzazpwb3J0Zm9saW8tcmlzay1tZXRyaWNzIiwicmVmZXJlbmNlIjoiMzlLazV6cmF2SGVyeFJwVjRQajF0TW9KTUZDZ3hYSkZvczZQQjlUcnRlRU0iLCJyZWNpcGllbnQiOiI3TFNqZnJKZjhmTnNCOFZBOXU3TjNXRW4yNXNtUUxwb2IzU3Z5VXZYYWN5NyIsIm1pbnQiOiJFUGpGV2RkNUF1ZnFTU3FlTTJxTjF4enliYXBDOEc0d0VHR2tad3lURHQxdiIsIm1pbkFtb3VudCI6MTAwMDAsImV4cCI6MTc5MjM4MTY2Nzc3OX0.6My5rmf3-iHF6S757fiK6BiNexE4cKZ808gfiNGK5zE"
},
"maxTimeoutSeconds": 120,
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "7LSjfrJf8fNsB8VA9u7N3WEn25smQLpob3SvyUvXacy7",
"scheme": "exact"
},
{
"amount": "10000",
"asset": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
"extra": {
"feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb",
"memo": "saylor:datadesk:portfolio-risk-m",
"reference": "B8AJnMt8WsHw7TWJrAkFSzqY6X5YAomv12kGeMvmf68U",
"session": "eyJhcnRpY2xlSWQiOiJkYXRhZGVzazpwb3J0Zm9saW8tcmlzay1tZXRyaWNzIiwicmVmZXJlbmNlIjoiQjhBSm5NdDhXc0h3N1RXSnJBa0ZTenFZNlg1WUFvbXYxMmtHZU12bWY2OFUiLCJyZWNpcGllbnQiOiI3TFNqZnJKZjhmTnNCOFZBOXU3TjNXRW4yNXNtUUxwb2IzU3Z5VXZYYWN5NyIsIm1pbnQiOiJFczl2TUZyemFDRVJtSmZyRjRIMkZZRDRLQ29Oa1kxMU1jQ2U4QmVud05ZQiIsIm1pbkFtb3VudCI6MTAwMDAsImV4cCI6MTc5MjM4MTY2Nzc3OX0.im6ajRKGaymBiAM-lORR_3gXYRbVrLMr1CPubPg4QGQ"
},
"maxTimeoutSeconds": 120,
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "7LSjfrJf8fNsB8VA9u7N3WEn25smQLpob3SvyUvXacy7",
"scheme": "exact"
},
{
"amount": "92231",
"asset": "So11111111111111111111111111111111111111112",
"extra": {
"memo": "saylor:datadesk:portfolio-risk-m",
"native": true,
"note": "Native SOL: send lamports with a system transfer, not an SPL transfer. Price is quoted live and this quote expires in 120s.",
"quotedLamports": "95084",
"reference": "972nUo4kPjAcNZ8xRKytwwyJQZn3hnN14jSNsRpL6uht",
"session": "eyJhcnRpY2xlSWQiOiJkYXRhZGVzazpwb3J0Zm9saW8tcmlzay1tZXRyaWNzIiwicmVmZXJlbmNlIjoiOTcyblVvNGtQakFjTlo4eFJLeXR3d3lKUVpuM2huTjE0alNOc1JwTDZ1aHQiLCJyZWNpcGllbnQiOiI3TFNqZnJKZjhmTnNCOFZBOXU3TjNXRW4yNXNtUUxwb2IzU3Z5VXZYYWN5NyIsIm1pbnQiOm51bGwsIm1pbkFtb3VudCI6OTIyMzEsImV4cCI6MTc5MjM4MTY2Nzc3OX0.FvZAJFdLoNGkTWFl67KC6osQaB1fXbw0nvYaVCUVf9c",
"solUsdPrice": 105.17
},
"maxTimeoutSeconds": 120,
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "7LSjfrJf8fNsB8VA9u7N3WEn25smQLpob3SvyUvXacy7",
"scheme": "exact"
}
],
"description": "Risk metrics from a price or return series - annualised return and volatility, Sharpe, Sortino, Calmar, max drawdown, 95 percent VaR, expected shortfall and skew",
"extensions": {
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"periods_per_year": "252",
"prices": "100,102,101,105,103,108,107,111,109,114"
},
"type": "http"
},
"output": {
"example": {
"annualised_return_percent": 3820.449,
"annualised_volatility_percent": 45.812,
"best_period_percent": 4.854,
"calmar_ratio": 2005.736,
"currently_in_drawdown_percent": 0,
"excess_kurtosis": -2.031,
"expected_shortfall_95_percent": 1.905,
"input_type": "prices",
"max_drawdown_peak_index": 3,
"max_drawdown_percent": -1.905,
"max_drawdown_trough_index": 4,
"note": "Computed from the series you supply; historical VaR is the 5th percentile loss per period and expected shortfall the mean of the worst 5%. Sharpe and Sortino use the annual risk-free rate you pass (default 0). Past performance does not predict future results.",
"observations": 9,
"periods_per_year": 252,
"positive_periods_percent": 55.6,
"sharpe_ratio": 8.268,
"skewness": -0.056,
"sortino_ratio": 24.278,
"source": "sample statistics",
"total_return_percent": 14,
"value_at_risk_95_percent": 1.905,
"worst_period_percent": -1.905
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"periods_per_year": {
"description": "optional, default 252 (daily); 12 monthly, 52 weekly",
"type": "string"
},
"prices": {
"description": "Comma-separated prices (5-1000 values)",
"type": "string"
}
},
"required": [
"prices"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"annualised_return_percent": {
"description": "Annualised return, as a percentage",
"type": "number"
},
"annualised_volatility_percent": {
"description": "Annualised volatility, as a percentage",
"type": "number"
},
"best_period_percent": {
"description": "Best period, as a percentage",
"type": [
"number",
"null"
]
},
"calmar_ratio": {
"description": "Calmar ratio",
"type": [
"number",
"null"
]
},
"currently_in_drawdown_percent": {
"description": "Currently in drawdown, as a percentage",
"type": [
"number",
"null"
]
},
"excess_kurtosis": {
"description": "Excess kurtosis",
"type": [
"number",
"null"
]
},
"expected_shortfall_95_percent": {
"description": "Expected shortfall 95, as a percentage",
"type": "number"
},
"input_type": {
"description": "Input type",
"type": "string"
},
"max_drawdown_peak_index": {
"description": "Max drawdown peak index",
"type": [
"number",
"null"
]
},
"max_drawdown_percent": {
"description": "Max drawdown, as a percentage",
"type": "number"
},
"max_drawdown_trough_index": {
"description": "Max drawdown trough index",
"type": [
"number",
"null"
]
},
"note": {
"description": "Caveat or context for reading the result",
"type": "string"
},
"observations": {
"description": "Observations in time order",
"type": "number"
},
"periods_per_year": {
"description": "Periods per year",
"type": [
"number",
"null"
]
},
"positive_periods_percent": {
"description": "Positive periods, as a percentage",
"type": [
"number",
"null"
]
},
"sharpe_ratio": {
"description": "Sharpe ratio",
"type": [
"number",
"null"
]
},
"skewness": {
"description": "Skewness of returns; negative means a longer left tail",
"type": [
"number",
"null"
]
},
"sortino_ratio": {
"description": "Sortino ratio",
"type": [
"number",
"null"
]
},
"source": {
"description": "Data source the values come from",
"type": "string"
},
"total_return_percent": {
"description": "Total return percent",
"type": "number"
},
"value_at_risk_95_percent": {
"description": "Value at risk 95, as a percentage",
"type": "number"
},
"worst_period_percent": {
"description": "Worst period, as a percentage",
"type": [
"number",
"null"
]
}
},
"required": [
"observations",
"sharpe_ratio",
"max_drawdown_percent"
],
"type": "object"
},
"type": {
"const": "json",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
},
"iconUrl": "https://res.cloudinary.com/bdb-prod/image/upload/c_fill,ar_1:1,w_256,h_256,f_auto,q_auto/v1791811517/bazaar-icons/bc5e2b3d111ebbef.jpg",
"lastUpdated": "2026-10-19T03:45:47.825Z",
"quality": {
"l30DaysTotalCalls": 2,
"l30DaysUniquePayers": 2,
"lastCalledAt": "2026-10-19T03:45:47.532Z"
},
"resource": "https://saylorinnovations.com/api/finance/portfolio-risk",
"serviceName": "Saylor Innovations Data Desk",
"tags": [
"sharpe ratio from a price series",
"max drawdown calculator",
"portfolio volatility and var",
"sortino ratio from returns",
"risk metrics for a strategy"
],
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "Risk metrics from a price or return series - annualised return and volatility, Sharpe, Sortino, Calmar, max drawdown, 95 percent VaR, expected shortfall and skew"
}What the leaf hashes
{"body":"be54454182d24fe81b42e7b431ad4b68ed5dfa86e1fb1cda4f0446c83fb0e9f2","id":119902,"kind":"listing","method":"baseline/1","observed_us":1793025616916066,"prev":null,"subject":"x402_bazaar:https://saylorinnovations.com/api/finance/portfolio-risk","subject_kind":"source_record"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0x310524119b382ed17c7dc2a6bb0176a171bb245a50034177bcbac4fc18388897
- 0x9db2091e1b32480a4458e4953f2625261c4a078ddc44d744250cb2184f26dbf8
- 0xd4f7585276df8f1fe58ec545be23fcd28685343f4469c41e808319204f7ca00d
- 0x06cc3577da517accec879159c7505252b90227d8b47306cf46c064ac7e4e2e75
- 0x4ad97f81b40979991c430536e7fa4c0b3178c86a6e04d4186b4acd7e71f292f5
- 0x3fcd23df8edd860b8c07697f0ad2276676324c93d85541d169d1be71ab09ed1f
- 0x7c43416b94f8d1445a722a1b199707def12609d508eb085324687a43192cdd2c
- 0x601acc1f6916638bb01d5bcf2c459be2a7acf82dc17b35688653eab2d7d088d0
- 0x41adad128d0ed6c60b71cfa779d003d6b8c9aa7d92fd944c183a1986ddb6ba1f
- 0x14dcc9b621776bab010784ab2ff8bc9cde2e6118dc9a5e1e68af1ab2b33794cd
- 0xa4cc17a7ce78f05039820f0a50d323cd0bedd23c37338f2719d249dca75c07ec
- 0xd85c7204d76d26255c94ef4caa12c05addd08238caa5cdc3888ea60b74e6b940
- 0x36a44931b230976c04691d90bf3a25ed4111d74c78b672850d8025a911ca88dd
- 0x683955a5b2250ad50568d022a6580d8739b6aff1356779d72a773b088e7c289c
- 0x610738e0c43687aded83c613c73de8b5226c73c375858a167436461c522ea213
- 0x06d71bfa7d8b41d62c8836efc2c601e1cc3772d9453596b2ae4950887f3310ca
- 0x8c756542e482157df0c36464d75c937b845e4423dbbcfad08f0cf8d5a16b9a13
- 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae