---
title: "GET /v3/orderbook"
method: GET
path: "/v3/orderbook"
tags: ["Orderbook V3"]
---

# GET /v3/orderbook

`GET /v3/orderbook`

Fetch the public-only V3 denormalized orderbook for a fiat currency.

## Query parameters

- `currency` string, required — Fiat currency code
- `paymentPlatform` string — Optional payment platform filter
- `sortBy` 'price' | 'available' | 'limits' | 'apr' — Sort field
- `sortDirection` 'asc' | 'desc' — Optional sort direction. Defaults to asc for price and desc for available/limits/apr.
- `chainId` integer — Destination chain ID
- `token` string — Destination token address
- `mode` 'all' | 'eligible' | 'eligible_with_chargeback' — all returns every row curator could fill — rows gated by a foreign intent gating service are excluded from every mode, including this one; eligible returns rows the taker can reach via the direct route: whitelist-off deposits without dispute, plus whitelist-enabled deposits the taker is whitelisted for; eligible_with_chargeback also returns dispute-route rows (whitelist-off + dispute-on deposits are dispute-only, never public)
- `takerAddress` string — Taker whose whitelist eligibility is evaluated in the eligible and eligible_with_chargeback modes. Ignored when mode=all, which does not apply the whitelist leg. Omitting it removes the taker-specific whitelist route. With a registered canonical IntentLifecycleHookV1, eligible and eligible_with_chargeback then return only open rows; protected rows require complete taker eligibility. With a registered predecessor WhitelistLifecycleHook, whitelist-disabled rows remain reachable. A verified no-hook state exposes only both-off rows; an unrecognized or unavailable lifecycle returns no rows.
- `limit` integer — Maximum number of orderbook rows to return
- `offset` integer, nullable — Number of matching rows to skip before returning entries
- `amount` string — Optional requested USDC amount used to filter rows by min, max, and available limits
- `showSmallOrders` boolean — When true, include rows whose available notional value is below the dust threshold
- `hideExtremeSpread` boolean — When true, hide rows whose absolute spread exceeds the extreme-spread threshold
- `sellerAutomatedRelease` 'include' | 'exclude' | 'only' — Seller automated release filter. include returns all rows, exclude omits SAR rows, only returns SAR rows.

## Headers

- `x-pp-key` string — Optional env-configured Peer Pay service key

## Response `200`

Success

- object
  - `success` boolean, required
  - `message` string, required
  - `responseObject` object
    - `chainId` integer, required
    - `token` string, required
    - `currency` string, required
    - `paymentPlatform` string, nullable, required
    - `mode` 'all' | 'eligible' | 'eligible_with_chargeback', required
    - `takerAddress` string, nullable, required
    - `sortBy` 'price' | 'available' | 'limits' | 'apr', required
    - `sortDirection` 'asc' | 'desc', required
    - `sellerAutomatedRelease` 'include' | 'exclude' | 'only', required
    - `internalDetailsIncluded` boolean, required
    - `generatedAt` string, date-time, required — Timestamp when curator generated the current orderbook snapshot. Responses may be served from cache and can reflect data from up to 60 seconds earlier.
    - `entries` object[], required
      - `chainId` integer, required
      - `depositIdOnContract` string, required
      - `depositId` string, required
      - `escrowAddress` string, required
      - `depositor` string, required
      - `token` string, required
      - `paymentMethodHash` string, required
      - `paymentPlatform` string, required
      - `currencyCode` string, required
      - `currency` string, required
      - `price` string, required
      - `apr` number, nullable, required
      - `spread` number, nullable, required
      - `conversionRate` string, required
      - `rateManagerId` string, nullable, required
      - `availableTokenAmount` string, required
      - `availableFiatAmount` string, required
      - `intentAmountMin` string, required
      - `intentAmountMax` string, required
      - `minFiatSupported` string, required
      - `maxFiatSupported` string, required
      - `payeeDetailsHash` string, required
      - `successRateBps` integer, required
      - `feeBps` integer, required — ZKP2P protocol fee in basis points, deducted from the delivered token amount at fulfillment. Clients can use it to show net output without recomputing it. Net token received = availableTokenAmount * (10000 - feeBps) / 10000. 0 when the configured service fee is zero.
      - `sellerAutomatedReleaseAvailable` boolean, required
      - `sellerAutomatedReleaseEnabled` boolean, required — Whether seller automated release (autopilot) is enabled for this deposit's maker (the seller credential is active), independent of current liveness. sellerAutomatedReleaseAvailable is the stricter live check (active AND not expired).
      - `whitelistEnabled` boolean, required — Whether the deposit's V3 whitelist policy is enabled, copied from the indexer.
      - `allowedGroupIds` string[], required — Allowed V3 address-group identifiers. Empty unless whitelistEnabled. May also be empty while whitelistEnabled — a deposit gated only by direct grants. whitelistEnabled, not this array, is the gate signal.
      - `disputeProtectionOptedOut` boolean, required — Depositor explicitly opted this deposit/payment-method tuple out of default-on dispute protection on the active policy.
      - `disputeProtectionRequiresStake` boolean, required — Active policy routes non-whitelisted takers through stake-backed admission for this tuple (not opted out and nonzero risk window). Neither field proves request-level routing, locked stake, or live coverage.
      - `updatedAt` string, required
      - `maker` object
        - `id` number, required
        - `processorName` string, required
        - `offchainId` string, required
        - `telegramUsername` string, nullable
        - `hashedOnchainId` string, required
        - `isBusiness` boolean
        - `revoked` boolean
        - `metadata` object, nullable
        - `createdAt` string, date-time, required
  - `statusCode` number, required
  - `errorCode` string

---

[API](https://skmtc.dev/peer/apis/swagger-api.md) · [All operations](https://skmtc.dev/peer/apis/swagger-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/peer/swagger-api/revisions/d5fcf4abb61a/schema)
