> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.6mm.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.6mm.com/_mcp/server.

# 合約賬本

本指南針對 **Agent Java SDK `v0.3.0`**、Java 8+ 以及標記的公共合約。初始化 `client` 後在合作伙伴後端運行示例 [快速入門](/zh-TW/sdk/agent-sdk/java/quick-start).

## 先決條件示例

Java 片段共享這些導入。使用快速啟動初始化 `client` 並從保存的綁定中獲取 `platformUserId`。示例用戶/訂單 ID 必須替換為您自己的持久值。

```java
import com.sixmm.agent.*;
import com.sixmm.agent.model.*;
import java.util.*;
```

## `listPerpetualLedger`

請求模型：`PerpetualLedgerRequest`。

```java
import com.sixmm.agent.model.PerpetualLedgerRequest;
import com.sixmm.agent.model.PerpetualResponse;
import java.util.Collections;

PerpetualLedgerRequest request = new PerpetualLedgerRequest();
request.platformUserIds = Collections.singletonList("1188041528");
request.limit = 100;
request.endTime = System.currentTimeMillis();
request.startTime = request.endTime - 3_600_000L;
PerpetualResponse response = client.listPerpetualLedger(request);
System.out.println(response.data.items.size());
System.out.println(response.data.hasMore);
System.out.println(response.data.nextCursor);
```

### 請求字段

| 場地                | Java 類型                  | 必需的  | 意義                                               |
| ----------------- | ------------------------ | ---- | ------------------------------------------------ |
| `platformUserIds` | `java.util.List<String>` | 有條件的 | 1–100 個唯一的公共 ID；成交和有條件訂單所需。省略直接玩家範圍支持的查詢； \[]無效。 |
| `assetType`       | `String`                 | 不    | 分類賬返回的資產分類；不要假設USDT。                             |
| `changeType`      | `String`                 | 不    | 賬本業務變更類型，保留源值。                                   |
| `startTime`       | `Long`                   | 不    | 包含 Unix 毫秒；使用固定的 UTC 歷史窗口。                       |
| `endTime`         | `Long`                   | 不    | Unix 獨有的毫秒。                                      |
| `limit`           | `Integer`                | 不    | 默認500； 1–1000。                                   |
| `cursor`          | `String`                 | 不    | 使用返回的 nextCursor 和未更改的過濾器；當 hasMore 為 false 時停止。 |

該示例讀取一頁。對於必填字段、播放器範圍、過濾器語義、限制、光標和有界重試，請遵循 [查詢概覽](/zh-TW/sdk/agent-sdk/java/perpetual-queries)。分頁時保持所有過濾器不變；不要將錯誤解釋為空結果。

## 合同賬簿記錄

接口：`account/ledger`。返回的數據只包含以下11個業務字段，不帶訂單布爾標誌。

| `data` 字段             | 類型      | 意義                                                    |
| --------------------- | ------- | ----------------------------------------------------- |
| `ledgerId`            | string  | 源賬本記錄到交易ID；同一筆交易可能會被分割成多個細節                           |
| `symbol`              | string  | 相關交易對，不相關可省略                                          |
| `assetType`           | string  | 資產類型，按來源值保存；用於資產分類，默認不推斷 USDT                         |
| `changeType`          | string  | 賬戶變更業務類型，按來源價值保存，如手續費、盈虧、轉賬等；可以按同一個字段進行過濾             |
| `amount`              | string  | 該明細的變化量，正數表示增加，負數表示減少；保留精度                            |
| `walletBalanceBefore` | string  | 該明細中記錄的賬戶變更前的錢包餘額                                     |
| `walletBalanceAfter`  | string  | 該明細記錄賬戶變更後的錢包餘額                                       |
| `frozenBalanceBefore` | string  | 賬戶變更前記錄的凍結餘額記錄在此明細中                                   |
| `frozenBalanceAfter`  | string  | 賬戶變更後此明細中記錄的凍結餘額                                      |
| `referenceId`         | string  | 相關企業號碼；解釋為changeType，不能統一視為順序orderId； “0”表示源沒有有效的關聯號碼 |
| `createdAt`           | integer | 賬戶變更明細創建時間，毫秒；該字段用於該界面中的時間過濾                          |

使用接口返回的賬戶變更前後的餘額。不同的 changeType 具有不同的語義，並且不能假設每個金額等於 walletBalanceAfter − walletBalanceBefore。分類帳記錄的顯示/摘要應保留類型和詳細信息標識。

以下是使用虛構 ID 和金額的格式示例：

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "items": [
      {
        "platformUserId": "1188041528",
        "entityType": "ACCOUNT_LEDGER",
        "entityId": "900001",
        "data": {
          "ledgerId": "ledger-example-001",
          "symbol": "BTCUSDT",
          "assetType": "USDT",
          "changeType": "HANDLING_FEE",
          "amount": "-0.10000000",
          "walletBalanceBefore": "100.00000000",
          "walletBalanceAfter": "99.90000000",
          "frozenBalanceBefore": "0.00000000",
          "frozenBalanceAfter": "0.00000000",
          "referenceId": "800001",
          "createdAt": 1791590400000
        }
      }
    ],
    "nextCursor": "",
    "hasMore": false
  }
}
```

## 響應信封示例

這是一個說明性的空白頁面，而不是已完成交易的示例。上面的資源特定字段表描述了填充的 `items[].data`。

```json
{"code":0,"message":"success","data":{"items":[],"nextCursor":"","hasMore":false}}
```

## 來源及相關指南

* [官方v0.3.0源碼](https://github.com/6mm-com/agent-java-sdk/tree/54aa3c1)
* [查詢概覽和分頁](/zh-TW/sdk/agent-sdk/java/perpetual-queries)
* [資金錢包](/zh-TW/sdk/agent-sdk/java/funding-wallet)
* [升級指南](/zh-TW/sdk/agent-sdk/java/upgrade)