---
title: "Get orders"
method: POST
path: "/v1/orders"
tags: ["Portfolio"]
---

# Get orders

`POST /v1/orders`

Retrieve open orders for a wallet address. Pass providerId or providerIds (one or more providers).

## Request body

- PortfolioRequestDto
  - `providerId` 'hyperliquid' | 'hyperliquid-xyz' — Single provider identifier. At least one of providerId or providerIds must be provided.
  - `providerIds` string[] — Filter by multiple providers (CSV, repeated query params, or JSON array). At least one of providerId or providerIds must be provided. When both providerId and providerIds are set, results include all listed providers.
  - `address` string, required — User wallet address

## Response `200`

User orders

- OrderDto[]
  - `marketId` string, required — Market ID
  - `side` 'long' | 'short', required — Order side
  - `type` 'market' | 'limit' | 'stop_loss' | 'take_profit', required — Normalized order type
  - `size` string, required — Order size in base asset
  - `limitPrice` number — Limit price
  - `triggerPrice` number — Trigger price
  - `leverage` number — Current leverage setting for this asset, when available from the underlying venue
  - `margin` number — Margin for this order, derived from current venue state when available. This is an estimate, not an exact exchange-reported value.
  - `reduceOnly` boolean, required — Reduce only flag
  - `createdAt` number, required — Creation timestamp
  - `pendingActions` PendingActionDto[], required — Available actions for this order
    - `type` 'open' | 'close' | 'updateLeverage' | 'stopLoss' | 'takeProfit' | 'cancelOrder' | 'editOrder' | 'fund' | 'withdraw' | 'approveAgent' | 'approveBuilderFee' | 'updateMargin' | 'setTpAndSl' | 'setUnifiedAccount', required — Action type executed
    - `label` string, required — Action label
    - `args` ArgumentsDto, required
      - `amount` string — Amount in human-readable units (e.g. "1.5" for 1.5 USDC). Provide either amount or amountRaw.
      - `amountRaw` string — Amount in raw token units (e.g. "1500000" for 1.5 USDC with 6 decimals). Provide either amount or amountRaw.
      - `repayAll` boolean — Repay the full outstanding debt using protocol-specific full-repay semantics. Only valid for repay actions. When true, omit amount and amountRaw.
      - `tokenAddress` string — Token address to supply/borrow/repay/withdraw
      - `collateralTokenAddress` string — Collateral token address. Required when providing collateralAmount for pool-based protocols (Aave). Inferred from marketId for isolated-market protocols (Morpho Blue).
      - `collateralAmount` string — Optional collateral amount in human-readable units (e.g. "0.5" for 0.5 ETH). For borrow: collateral to deposit before borrowing. For repay: collateral to withdraw after repaying. Provide either collateralAmount or collateralAmountRaw.
      - `collateralAmountRaw` string — Optional collateral amount in raw token units (e.g. "50000000" for 0.5 ETH with 8 decimals). Provide either collateralAmount or collateralAmountRaw.
      - `borrowAmount` string — Supply action only. Desired borrow amount in human-readable units of the market loan token. Provide together with targetLtv to have the API derive the required collateral (post-fee). Mutually exclusive with amount/amountRaw.
      - `targetLtv` string — Supply action only. Target loan-to-value as a decimal (e.g. "0.1" = 10%). Provide together with borrowAmount. Must not exceed the market max LTV.
      - `marketId` string, required — Market ID as returned by GET /v1/markets. Identifies the specific lending market for the action.

## Other responses

- `401` — Invalid or missing API key
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/yield/apis/yield-xyz-api.md) · [All operations](https://skmtc.net/yield/apis/yield-xyz-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/yield/yield-xyz-api/versions/acfa80015ca5/schema)
