---
title: "Currency Basket Index"
method: POST
path: "/v1/tools/currency_basket_index"
tags: ["currency-basket", "index", "fx", "fixed-amount-method", "rebase"]
---

# Currency Basket Index

`POST /v1/tools/currency_basket_index`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/currency_basket_index`
- Auth: none declared

Values a currency basket by the fixed-amount method, where currency amounts are fixed at a rebase date and the live weights float daily with FX. Two modes: valuation from amounts already fixed, returning the index value, each component's live weight and its drift from any stated target; and derivation, which turns target weights, a rebase-date index value and the rebase-date FX rates into the fixed amounts those weights imply, so amounts are an output of the rebase rather than an input to it. Target weights that do not sum to one are refused rather than silently normalized. Integer-quantity baskets are supported through an amount scale. Per-pair rates may cite the upstream oracle prints they came from. Every FX rate, fixed amount and target weight is supplied and asserted, never fetched (zero-egress); this computes what the stated method yields on the stated numbers, never that those numbers are the correct rates for the stated date.

**Tool URL:** https://ainumbers.co/chaingraph/art-561-currency-basket-index.html

## Request body

- object
  - `mode` string
  - `basket_id` string
  - `as_of_date` string
  - `components` unknown[]
    - unknown
  - `index_value_at_rebase` number
  - `amount_scale` number
  - `prior_index_value` number
  - `parent_print_hashes` unknown[]
    - unknown

## Response `200`

Successful tool execution result

- object
  - `basket_id` string, nullable
  - `as_of_date` string, nullable
  - `mode` string, nullable
  - `structural_error` string, nullable
  - `index_value` number, nullable
  - `components` object[]
    - `currency` string, nullable
    - `fixed_amount` number, nullable
    - `usd_rate` number, nullable
    - `usd_contribution` number, nullable
    - `live_weight_pct` number, nullable
    - `target_weight_pct` number, nullable
    - `drift_from_target_pct` number, nullable
  - `component_count` number
  - `dominant_contributor` string, nullable
  - `dominant_contribution_pct` number, nullable
  - `max_drift_from_target_pct` number, nullable
  - `basket_shift_pct` number, nullable
  - `target_weight_sum` number, nullable
  - `amount_scale` number
  - `parent_print_hashes` unknown[]
    - unknown
  - `rejected_inputs` unknown[]
    - unknown
  - `not_proven` unknown[]
    - unknown
  - `fence` string

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
