Api Endpoint

U2A

Know what drove your returns. Deterministic, no-LLM portfolio attribution: send position start/end values, dated cash flows, and a reporting period; get Modified Dietz and XIRR returns, alpha against BTC, ETH, stETH, or a benchmark you supply prices for, plus per-position contribution. Caller-declared data-quality flags, a calculation hash, and an optional EIP-191 signature support transparent reporting and verification for fund managers, DAO treasuries, and their LPs.

Open interactive test console

Offering

Provider
www.u2a.com.au
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://www.u2a.com.au/api/mcp/portfolio-attribution
MIME type
Not provided
First seen
2026-10-16T01:50:24.663Z
Last seen
Tags
Finance, portfolio-attribution, crypto-portfolio, xirr, modified-dietz

Payment pricing

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

Payment option 1
0.03 USDC
Atomic price: 30000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "30000",
    "payTo": "0x886e7a8d46E239A9d54F48da163B04bb002B14a0"
  }
]

Observed health

Status
Healthy
Latest latency
73 ms
Average latency
499 ms
HTTP status
200
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": {
      "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 schema

{
  "properties": {
    "example": {
      "type": "object"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "type": "object"
}