---
title: "Lookup Fee Schedules"
method: POST
path: "/v1/fees/schedules/lookup"
tags: ["fees"]
---

# Lookup Fee Schedules

`POST /v1/fees/schedules/lookup`

## Request

- Base URL: `https://api.rivermarkets.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.rivermarkets.com/v1/fees/schedules/lookup`
- Auth: none declared

Return normalized exchange fee schedules for up to 1,000 instruments.

Coefficients are decimal strings so clients can reproduce venue rounding
without first losing precision through a JSON floating-point value.

## Request body

- FeeScheduleLookupRequest
  - `river_ids` integer[], required: River IDs whose exchange fee schedules should be returned.

## Response `200`

Successful Response

- FeeScheduleLookupResponse
  - `schedules` FeeScheduleResponse[], required
    - `river_id` integer, required
    - `exchange` string, required
    - `model` 'price_shape_v1' | 'price_shape_combo_v1', required: Formula applied before a fee rule's rounding step. ``PRICE_SHAPE_V1`` computes ``quantity * coefficient * price * (1 - price)``. ``PRICE_SHAPE_COMBO_V1`` computes ``quantity * price * (coefficient * (1 - price) + tail_coefficient * (1 - price) ** 4)``, the Polymarket US combo taker curve: the tail term steepens fees at extreme prices.
    - `maker` FeeRuleResponse, required
      - `coefficient` string, required: Decimal multiplier in fee = quantity × coefficient × price × (1 - price).
      - `rounding` 'none' | 'ceil_cent' | 'half_even_cent' | 'half_up_millicent', required
      - `pre_ceiling_cent_decimals` integer, nullable, required: Decimal places used to stabilize fee × 100 before applying ceil_cent.
      - `tail_coefficient` string, nullable: price_shape_combo_v1 only: fee = quantity × price × (coefficient × (1 - price) + tail × (1 - price)^4).
    - `taker` FeeRuleResponse, required
      - `coefficient` string, required: Decimal multiplier in fee = quantity × coefficient × price × (1 - price).
      - `rounding` 'none' | 'ceil_cent' | 'half_even_cent' | 'half_up_millicent', required
      - `pre_ceiling_cent_decimals` integer, nullable, required: Decimal places used to stabilize fee × 100 before applying ceil_cent.
      - `tail_coefficient` string, nullable: price_shape_combo_v1 only: fee = quantity × price × (coefficient × (1 - price) + tail × (1 - price)^4).
    - `schedule_version` string, required: Stable fingerprint of the normalized schedule.
  - `missing_river_ids` integer[], required

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-17** `7aa7f4fc16d0`: 2 warning
  - added the new `half_up_millicent` enum value to the `schedules/items/maker/rounding` response property for the response status `200`
  - added the new `half_up_millicent` enum value to the `schedules/items/taker/rounding` response property for the response status `200`
- **2026-10-07** `7fb1b5dd2cae`: 1 warning, 2 info
  - added the new `price_shape_combo_v1` enum value to the `schedules/items/model` response property for the response status `200`
  - added the optional property `schedules/items/maker/tail_coefficient` to the response with the `200` status
  - added the optional property `schedules/items/taker/tail_coefficient` to the response with the `200` status
- **2026-08-10** `3776a0431319`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/rivermarkets/apis/river-finance-api/changes/v1/fees/schedules/lookup/post.md)

---

[API](https://skmtc.dev/rivermarkets/apis/river-finance-api.md) - [All operations](https://skmtc.dev/rivermarkets/apis/river-finance-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rivermarkets/apis/river-finance-api/revisions/3732aea08430?raw)
