← The evidence ledger
Evidence row 124742
Observed , by baseline/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://www.u2a.com.au/api/mcp/portfolio-attribution
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 186f80c0ae75af92271b4f84a45b0fd5b25fab44881b738cb356db289e015e0a
- Leaf
- 0xf660b88b4ae6da44398352e091c137e752cdf6130f01344ab7546fb7f7a0387e
What was observed
{
"endpoints": [
[
"x402",
"https://www.u2a.com.au/api/mcp/portfolio-attribution"
]
],
"name": "U2A",
"owner_address": "0x886e7a8d46e239a9d54f48da163b04bb002b14a0",
"raw": {
"accepts": [
{
"amount": "30000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 600,
"network": "eip155:8453",
"payTo": "0x886e7a8d46E239A9d54F48da163B04bb002B14a0",
"scheme": "exact"
}
],
"description": "Deterministic, no-LLM portfolio performance attribution. Send position start/end values, dated cash flows and a period; receive Modified Dietz and money-weighted XIRR returns against BTC, ETH, stETH or any benchmark you supply prices for, plus per-position contribution and alpha. Every input and output carries a caller-asserted data-quality status with reasons. Each result comes with a calculation hash, optionally EIP-191 signed, for audit and verification.",
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"benchmarks": [
{
"end_price": 112000,
"id": "BTC",
"start_price": 94000
},
{
"end_price": 3900,
"id": "stETH",
"income_return": {
"status": "estimated",
"value": 0.022
},
"start_price": 3300
}
],
"currency": "USD",
"period": {
"end": "2026-09-30",
"start": "2026-01-01"
},
"positions": [
{
"end_value": {
"source": "coingecko close 2026-09-30",
"status": "verified",
"value": 12600
},
"flows": [
{
"amount": 2000,
"date": "2026-04-01",
"source": "tx 0x9c1e4b7a2d5f8e3c6b0a9d2f5e8c1b4a7d0e3f6c9b2a5d8e1f4c7b0a3d6e9f2c",
"status": "verified"
}
],
"id": "ETH",
"start_value": {
"source": "wallet 0xabc0000000000000000000000000000000000123, block 21500000",
"status": "verified",
"value": 10000
}
},
{
"end_value": 4200,
"flows": [
{
"amount": -1000,
"date": "2026-06-15",
"source": "article",
"status": "estimated"
}
],
"id": "SOL",
"start_value": 5000
}
]
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"jsonrpc": "2.0",
"result": {
"benchmarks": [
{
"data_status": "estimated",
"data_status_inputs": [
"portfolio.data_status_inputs"
],
"excess_return": -0.14131643,
"id": "BTC",
"return": 0.19148936,
"top_alpha_detractors": [
{
"active_contribution": -0.09853659,
"id": "ETH"
}
]
}
],
"portfolio": {
"data_status": "estimated",
"data_status_inputs": [
"positions[1].flows[0].amount"
],
"data_status_reason": "Weakest input: SOL flow on 2026-06-15 (positions[1].flows[0].amount) is \"estimated\" (source: article).",
"money_weighted_return_period": 0.05018879,
"pnl": 800,
"return": 0.05017293
},
"positions": [
{
"active_contribution": {
"BTC": -0.09853659
},
"contribution": 0.0376297,
"data_status": "verified",
"id": "ETH",
"weight": 0.71109062
}
],
"provenance": {
"attests": "calculation",
"result_hash": "0x4a7d1e8b3c6f9a2d5e0b7c4f1a8d3e6b9c2f5a0d7e4b1c8f3a6d9e2b5c0f7a4d"
},
"reconciliation": {
"portfolio_return": 0.05017293,
"sum_of_contributions": 0.05017293
}
}
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"benchmarks": {
"description": "Benchmarks to compare against (1-5), e.g. BTC, ETH, or stETH with staking yield.",
"items": {
"properties": {
"end_price": {
"description": "Benchmark price at period end. Number, or object shaped like start_value.",
"type": [
"number",
"object"
]
},
"id": {
"description": "Benchmark name, e.g. BTC, ETH, stETH.",
"type": "string"
},
"income_return": {
"description": "Extra period return from yield, e.g. 0.022. Default 0. Number, or object shaped like start_value.",
"type": [
"number",
"object"
]
},
"start_price": {
"description": "Benchmark price at period start. Number, or object shaped like start_value.",
"type": [
"number",
"object"
]
}
},
"required": [
"id",
"start_price",
"end_price"
],
"type": "object"
},
"maxItems": 5,
"minItems": 1,
"type": "array"
},
"currency": {
"default": "USD",
"description": "Currency label for all values; no conversion is done.",
"type": "string"
},
"period": {
"description": "The measurement period.",
"properties": {
"end": {
"description": "Last day of the measurement period (YYYY-MM-DD).",
"format": "date",
"type": "string"
},
"start": {
"description": "First day of the measurement period (YYYY-MM-DD).",
"format": "date",
"type": "string"
}
},
"required": [
"start",
"end"
],
"type": "object"
},
"positions": {
"description": "Holdings to analyse (max 500), each with start/end value and any money moved in or out.",
"items": {
"properties": {
"end_value": {
"description": "Market value at period end. Number, or object shaped like start_value.",
"type": [
"number",
"object"
]
},
"flows": {
"description": "Capital moved into (+) or out of (−) the position during the period. At most 1000 flows in total across all positions.",
"items": {
"properties": {
"amount": {
"description": "Positive = bought / added capital; negative = sold / withdrew.",
"type": "number"
},
"date": {
"description": "Date the money moved (inside the period).",
"format": "date",
"type": "string"
},
"source": {
"description": "Where the flow came from, e.g. a tx hash or statement.",
"type": "string"
},
"status": {
"description": "How reliable this flow is. Default \"provided\".",
"enum": [
"verified",
"derived",
"provided",
"estimated",
"assumed"
],
"type": "string"
}
},
"required": [
"date",
"amount"
],
"type": "object"
},
"maxItems": 1000,
"type": "array"
},
"id": {
"description": "Ticker, token symbol, contract address, or internal id.",
"type": "string"
},
"income": {
"description": "Cash income taken out (staking, dividends). Default 0. Number, or object shaped like start_value.",
"type": [
"number",
"object"
]
},
"start_value": {
"description": "Market value at period start. A number, or {value, status, source, observed_at}.",
"oneOf": [
{
"minimum": 0,
"type": "number"
},
{
"properties": {
"observed_at": {
"description": "When observed (ISO).",
"format": "date-time",
"type": "string"
},
"source": {
"description": "URL, tx hash, block, file or API.",
"maxLength": 500,
"type": "string"
},
"status": {
"description": "How it was obtained. Default \"provided\".",
"enum": [
"verified",
"derived",
"provided",
"estimated",
"assumed"
],
"type": "string"
},
"value": {
"description": "The number.",
"minimum": 0,
"type": "number"
}
},
"required": [
"value"
],
"type": "object"
}
]
}
},
"required": [
"id",
"start_value",
"end_value"
],
"type": "object"
},
"maxItems": 500,
"minItems": 1,
"type": "array"
}
},
"required": [
"period",
"positions",
"benchmarks"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
},
"u2a": {
"category": "Data",
"description": "Deterministic (no-LLM) crypto portfolio attribution vs BTC, ETH, stETH or custom benchmark",
"tags": [
"finance",
"portfolio-attribution",
"performance-attribution",
"crypto-portfolio",
"alpha"
]
}
},
"iconUrl": "https://res.cloudinary.com/bdb-prod/image/upload/c_fill,ar_1:1,w_256,h_256,f_auto,q_auto/v1791595390/bazaar-icons/45f23a4ab50e602c.png",
"lastUpdated": "2026-10-14T07:17:19.742Z",
"quality": {
"l30DaysTotalCalls": 9,
"l30DaysUniquePayers": 3,
"lastCalledAt": "2026-10-14T07:17:19.586Z"
},
"resource": "https://www.u2a.com.au/api/mcp/portfolio-attribution",
"serviceName": "U2A",
"tags": [
"finance",
"portfolio-attribution",
"performance-attribution",
"crypto-portfolio",
"alpha"
],
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "Deterministic, no-LLM portfolio performance attribution. Send position start/end values, dated cash flows and a period; receive Modified Dietz and money-weighted XIRR returns against BTC, ETH, stETH or any benchmark you supply prices for, plus per-position contribution and alpha. Every input and output carries a caller-asserted data-quality status with reasons. Each result comes with a calculation hash, optionally EIP-191 signed, for audit and verification."
}What the leaf hashes
{"body":"186f80c0ae75af92271b4f84a45b0fd5b25fab44881b738cb356db289e015e0a","id":124742,"kind":"listing","method":"baseline/1","observed_us":1793025625193987,"prev":null,"subject":"x402_bazaar:https://www.u2a.com.au/api/mcp/portfolio-attribution","subject_kind":"source_record"}Proof
Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.