> ## Documentation Index
> Fetch the complete documentation index at: https://docs.li.fi/llms.txt
> Use this file to discover all available pages before exploring further.

# 交易场所

> 受支持的各永续合约交易场所之间的差异：签名、抵押品、保证金模式、订单类型和资金费率。

SDK 统一的是调用方式，而不是各交易场所本身。同一方法下的订单在一个交易场所可能被拒绝，在另一个交易场所却能被接受，因为底层约束来自交易场所自身。本页介绍会影响到你界面的那些差异。

## 一览

|           | Hyperliquid   | Lighter      | Ondo                 |
| --------- | ------------- | ------------ | -------------------- |
| 交易凭证      | 由 SDK 管理的代理钱包 | 一个在链上注册的原生密钥 | 一个保存在客户端的交易场所 API 密钥 |
| 用户仅需签名一次以 | 批准代理          | 注册密钥         | 登录                   |
| 保证金模式     | 全仓与逐仓         | 视部署而定        | 仅全仓                  |
| 抵押品       | 多种计价资产        | 视部署而定        | USDC                 |
| 部署数量      | 一个            | 两个，彼此隔离      | 一个                   |

## Hyperliquid

一个运行在自有链上的订单簿式永续合约交易所。用户批准代理一次，此后交易由 SDK 用该代理签署，因此不会为每笔订单弹出钱包。

未指定保证金模式时，默认使用全仓保证金。部分市场仅支持逐仓模式，行情数据会标明具体情况，请在渲染保证金模式切换开关之前先检查这一点，而不是等用户用过之后才发现。

订单类型和价格在每笔订单中都是必填项。

<Warning>
  提款和资产转移始终由用户自己的钱包签署。代理无法转移资金，这是有意为之的设计，也正是让 SDK 持有的凭证可以被安全接受的原因。
</Warning>

为账户注资意味着将抵押品转入该交易场所，这和其他跨链转移一样，可以通过 LI.FI 自身的路由完成。提款会返回到该交易场所结算所在的链。

## Lighter

Lighter 以两个独立部署的形式暴露，统一在一个标准化合约背后：主网部署，以及 Robinhood Chain 上的一个部署。二者在结算链、抵押资产和接口上均有差异。

| 部署              | 结算于               | 抵押品  |
| --------------- | ----------------- | ---- |
| 主网              | 其自有结算链，通过以太坊存款桥注资 | USDC |
| Robinhood Chain | Robinhood Chain   | USDG |

<Note>
  两者拥有各自独立的接口、缓存、凭证和资产注册表。在其中一个完成设置，不代表在另一个也已完成设置；它们在客户端上被注册为两个独立的 provider，而不是带一个标志位的同一个 provider。
</Note>

签名完全由插件负责。它生成密钥、持久化保存、在链上注册，并用它签名。你的应用不需要自行构造签名方或传入一个签名方。

## Ondo

一个基于会话的交易场所。用户登录一次，此后 SDK 会在客户端持有一个会话凭证和一个交易场所密钥。交易请求会先用该密钥签名，再被中继出去。

其约束是三者中最严格的，在设计下单界面之前值得先读一遍：

* 仅支持全仓保证金。传入逐仓会被直接拒绝，而不是被强制转换。
* 仅支持限价单和市价单。限价单需要价格，价格和数量都会按该市场的网格进行校验。
* 订单有效期支持撤销前有效、立即成交或取消，以及只做挂单。
* 完全不支持订单过期设置，因此必须省略过期字段。
* 附加的止盈止损腿会按市价执行。触发单上的限价会被拒绝。
* 大多数市场的最大杠杆为 10 倍，指数、大宗商品和股票类市场为 20 倍。

存款方式也不同：该交易场所会在会话背后为每个用户配置一个专属的保证金钱包地址，你需要将资金路由到它返回的这个地址，而不是一个共享合约。

## 如何选择要支持的交易场所

支持第二个交易场所只需多装一个包、多走一次设置流程，而不是再做一次完整集成。真正的成本在于界面工作，因为上述约束彼此不同，一个假设最宽松交易场所规则的下单表单，放到约束最严格的交易场所上就会产生大量拒绝。

更省力的做法是在运行时读取交易场所自身的能力数据并据此渲染界面，而不是把上面这张表格硬编码进你的界面，导致后续与实际情况脱节。

## 后续步骤

<CardGroup cols={2}>
  <Card title="概念" icon="diagram-project" href="/perps/concepts" horizontal>
    为什么不同交易场所的凭证不同，以及各自由谁签名。
  </Card>

  <Card title="快速开始" icon="rocket" href="/perps/quickstart" horizontal>
    注册一个 provider 并运行设置流程。
  </Card>

  <Card title="各交易场所参考" icon="book" href="https://public-perps-docs.mintlify.app/" horizontal>
    每个交易场所的设置、交易、存款、提款和推送数据。
  </Card>

  <Card title="为 Perps 账户注资" icon="arrow-right-arrow-left" href="/introduction/user-flows-and-examples/requesting-route-fetching-quote" horizontal>
    通过 LI.FI 路由将抵押品转入某个交易场所。
  </Card>
</CardGroup>
