Skip to main content

仓位管理 (Positions)

查询和管理交易仓位。

获取仓位列表

接口信息

  • Method: GET
  • Path: /api/v1/positions
  • Authentication: 需要身份验证

响应示例

{
"positions": [
{
"position_id": "550e8400-e29b-41d4-a716-446655440000",
"symbol": "BTCUSDT",
"side": "long",
"status": "open",
"size_in_usd": "6500.00",
"size_in_tokens": "0.1",
"collateral_amount": "650.00",
"entry_price": "65000.00",
"mark_price": "65500.00",
"liquidation_price": "60000.00",
"leverage": 10,
"margin_ratio": "0.10",
"unrealized_pnl": "50.00",
"unrealized_pnl_percent": "7.69",
"realized_pnl": "0.00",
"accumulated_funding_fee": "0.50",
"accumulated_borrowing_fee": "0.10",
"net_value": "649.40",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T01:00:00Z"
}
],
"total_unrealized_pnl": "50.00",
"total_collateral": "650.00"
}

响应字段说明

字段类型描述
positionsarray仓位列表
total_unrealized_pnlstring总未实现盈亏
total_collateralstring总抵押品数量

Position 对象字段

字段类型描述
position_idstring仓位 UUID
symbolstring交易对
sidestring持仓方向(long/short)
statusstring仓位状态(open/closed/liquidated)
size_in_usdstring仓位大小(USD)
size_in_tokensstring仓位大小(代币数量)
collateral_amountstring抵押品数量
entry_pricestring开仓均价
mark_pricestring当前标记价格
liquidation_pricestring清算价格
leveragenumber杠杆倍数
margin_ratiostring保证金率
unrealized_pnlstring未实现盈亏
unrealized_pnl_percentstring未实现盈亏百分比
realized_pnlstring已实现盈亏
accumulated_funding_feestring累计资金费用
accumulated_borrowing_feestring累计借贷费用
net_valuestring净值(扣除费用后)
created_atstring创建时间
updated_atstring更新时间

获取单个仓位

接口信息

  • Method: GET
  • Path: /api/v1/positions/:position_id
  • Authentication: 需要身份验证

路径参数

参数类型必须描述
position_idstring仓位 UUID

响应示例

{
"position_id": "550e8400-e29b-41d4-a716-446655440000",
"symbol": "BTCUSDT",
"side": "long",
"status": "open",
"size_in_usd": "6500.00",
"size_in_tokens": "0.1",
"collateral_amount": "650.00",
"entry_price": "65000.00",
"mark_price": "65500.00",
"liquidation_price": "60000.00",
"leverage": 10,
"margin_ratio": "0.10",
"unrealized_pnl": "50.00",
"unrealized_pnl_percent": "7.69",
"realized_pnl": "0.00",
"accumulated_funding_fee": "0.50",
"accumulated_borrowing_fee": "0.10",
"net_value": "649.40",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T01:00:00Z"
}

开仓/增加仓位

接口信息

  • Method: POST
  • Path: /api/v1/positions
  • Authentication: 需要身份验证
  • Content-Type: application/json

请求参数

参数类型必须描述
symbolstring交易对
sidestring方向(long/short)
collateral_amountstring抵押品数量
leveragenumber杠杆倍数(1-100)
signaturestring签名
timestampnumberUnix 时间戳(秒)

请求示例

{
"symbol": "BTCUSDT",
"side": "long",
"collateral_amount": "1000.00",
"leverage": 10,
"signature": "0x...",
"timestamp": 1704067200
}

响应示例

{
"success": true,
"message": "Position opened successfully",
"position": {
"position_id": "550e8400-e29b-41d4-a716-446655440000",
"symbol": "BTCUSDT",
"side": "long",
"size_in_usd": "10000.00",
"collateral_amount": "1000.00",
"leverage": 10,
"entry_price": "65000.00",
"mark_price": "65000.00",
"liquidation_price": "60000.00"
}
}

错误响应

HTTP 状态码错误码描述
400INSUFFICIENT_BALANCE余额不足
400PRICE_UNAVAILABLE无法获取当前市场价格
400POSITION_OPEN_FAILED开仓失败

平仓/减少仓位

接口信息

  • Method: POST
  • Path: /api/v1/positions/:position_id/close
  • Authentication: 需要身份验证
  • Content-Type: application/json

路径参数

参数类型必须描述
position_idstring仓位 UUID

请求参数

参数类型必须描述
amountstring平仓数量(不传则全平)
pricestring限价(不传则市价)
signaturestring签名
timestampnumberUnix 时间戳(秒)

请求示例

{
"amount": "0.05",
"price": null,
"signature": "0x...",
"timestamp": 1704067200
}

响应示例

{
"success": true,
"message": "Position partially closed",
"position": {
"position_id": "550e8400-e29b-41d4-a716-446655440000",
"symbol": "BTCUSDT",
"side": "long",
"size_in_usd": "3250.00",
"size_in_tokens": "0.05",
"unrealized_pnl": "25.00"
}
}

增加保证金

接口信息

  • Method: POST
  • Path: /api/v1/positions/:position_id/collateral/add
  • Authentication: 需要身份验证
  • Content-Type: application/json

路径参数

参数类型必须描述
position_idstring仓位 UUID

请求参数

参数类型必须描述
amountstring增加的保证金数量

请求示例

{
"amount": "100.00"
}

响应示例

{
"success": true,
"message": "Collateral added successfully",
"position": {
"position_id": "550e8400-e29b-41d4-a716-446655440000",
"collateral_amount": "750.00",
"liquidation_price": "58000.00"
}
}

减少保证金

接口信息

  • Method: POST
  • Path: /api/v1/positions/:position_id/collateral/remove
  • Authentication: 需要身份验证
  • Content-Type: application/json

路径参数

参数类型必须描述
position_idstring仓位 UUID

请求参数

参数类型必须描述
amountstring减少的保证金数量

请求示例

{
"amount": "50.00"
}

响应示例

{
"success": true,
"message": "Collateral removed successfully",
"position": {
"position_id": "550e8400-e29b-41d4-a716-446655440000",
"collateral_amount": "600.00",
"liquidation_price": "61000.00"
}
}

检查清算状态

接口信息

  • Method: GET
  • Path: /api/v1/positions/:position_id/liquidation
  • Authentication: 需要身份验证

路径参数

参数类型必须描述
position_idstring仓位 UUID

响应示例

{
"is_liquidatable": false,
"reason": null,
"remaining_collateral_usd": "649.40",
"min_collateral_usd": "32.50",
"min_collateral_for_leverage": "650.00"
}

响应字段说明

字段类型描述
is_liquidatableboolean是否可被清算
reasonstring | null清算原因
remaining_collateral_usdstring剩余抵押品价值(USD)
min_collateral_usdstring最小抵押品要求(USD)
min_collateral_for_leveragestring当前杠杆所需最小抵押品