{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/atlasyield-club/json-schema/atlasyield-club-portfolio-slice-schema.json",
  "title": "PortfolioSlice",
  "description": "One position in the proposed allocation.",
  "x-generated": "2026-11-02",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/atlasyield-club-openapi.json#/components/schemas/PortfolioSlice",
  "type": "object",
  "properties": {
    "vaultId": {
      "type": "string",
      "description": "Vault identifier (same as vaultId in /scores)."
    },
    "protocol": {
      "type": "string"
    },
    "chainId": {
      "type": "integer"
    },
    "asset": {
      "type": "string",
      "description": "Underlying asset symbol."
    },
    "name": {
      "type": "string",
      "description": "Vault display name."
    },
    "apy": {
      "type": "number",
      "description": "Current APY in percentage points."
    },
    "tvl": {
      "type": "number",
      "description": "Total value locked, USD."
    },
    "composite": {
      "type": "number",
      "description": "The vault's 0–100 Atlas Score at allocation time."
    },
    "fraction": {
      "type": "number",
      "description": "Share of principal as a fraction, rounded to 1e-4."
    },
    "allocationPct": {
      "type": "number",
      "description": "Share of principal as a percentage, 2 dp."
    },
    "allocationUsd": {
      "type": "number",
      "description": "Dollar amount allocated to this vault."
    },
    "vaultAddress": {
      "type": "string",
      "description": "On-chain vault contract address."
    },
    "underlyingToken": {
      "type": "string",
      "description": "Address of the token the vault accepts."
    }
  }
}