> For the complete documentation index, see [llms.txt](https://node1.gitbook.io/node1-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://node1.gitbook.io/node1-docs/documentation/zh/robinhood/robinhood-landing.md).

# Robinhood Landing Service

## 简介

通过 Node1 Landing Service 的接入地址，使用 Account UUID 鉴权并向 Robinhood Chain 提交已签名交易。

此服务用于提交交易。如需接收排序器数据流，请使用独立的 Robinhood Feed 服务。 [查看 Feed 文档 →](/node1-docs/documentation/zh/robinhood/robinhood-feed.md)

## 上链测试

**法兰克福发起胜率 66%，Ohio 发起胜率 61%。** 每地各进行 100 轮上链竞争，对比两个 Node1 入口与三个排序器直连入口。[查看结果与测试方法 →](/node1-docs/documentation/zh/robinhood/robinhood-landing/robinhood-landing-benchmark.md)

## 接入地址与鉴权

### Ohio 2B · 交易提交地址

```
https://robinhood-ohio-2b.node1.me
```

### Ohio 2C · 交易提交地址

```
https://robinhood-ohio-2c.node1.me
```

### SFO3 · 交易提交地址

```
https://robinhood-sfo3.node1.me
```

这是 Node1 的交易提交接口，不是付款地址，也不是 Robinhood 上游节点地址。

1. 登录 [Node1 Dashboard](https://node1.me/dashboard) ，从页面顶部复制你的 Account UUID。
2. Ohio 2B、Ohio 2C 和 SFO3 均支持 JSON-RPC 单笔、plain text 单笔和 batch。使用同一个 Account UUID 即可接入上方任一地址，各节点独立计算额度。
3. 使用 JSON-RPC 提交时，向接入地址的根路径发送 HTTPS 请求，并在 Authorization 请求头中携带 Account UUID：

```
Authorization: Bearer <ACCOUNT_UUID>
```

UUID 用于授权使用你的账号发送额度，请妥善保管；付费发送时，应使用持有 Landing 订阅的账号 UUID。

## 套餐与频率限制

以下为新版节点的额度，按 Account UUID、按节点分别计算。同一 UUID 的多个连接共享额度，增加连接或切换请求格式不会增加额度。

| 套餐       | 计数方式                             | 限制                                    |
| -------- | -------------------------------- | ------------------------------------- |
| 免费单笔     | JSON-RPC raw 与 plain text 共享请求次数 | 任意 3 秒内最多 1 次                         |
| 免费 batch | 独立计算 batch 请求次数                  | 任意 3 秒内最多 1 次；每批 1～10 笔               |
| 普通付费     | raw、plain text、batch 合并按交易笔数计算   | 任意 1 秒内最多 30 笔；额度每秒补充 10 笔，最多积攒 300 笔 |

付费单笔请求消耗 1 笔额度；包含 10 笔交易的 batch 消耗 10 笔，不是 1 笔。一个 batch 必须同时满足整批的秒级额度和积攒额度，否则整批返回 HTTP 429，不拆分发送。例如，同一滚动 1 秒内已提交 20 笔单笔交易，就最多还能提交一个 10 笔 batch。

最多积攒 300 笔用于允许短时突发，不能一次性发送 300 笔；30 TPS 上限始终生效。持续发送受每秒补充 10 笔的额度约束。没有额外的分钟或五分钟硬限额，滑动窗口也不会在整秒时重置。

**如需更高 TPS，可**[**联系支持**](/node1-docs/documentation/zh/support.md)**，根据业务需求定制专属 TPS 额度。**

配置了专属 TPS 额度的账号，以约定额度为准；三种入口仍合并按交易笔数计数，不叠加普通付费账号的 10 笔/秒、300 笔积攒规则。

重复的有效请求仍计入额度，包括 batch 内重复的交易。同一节点去重不会退还额度；各节点独立计数。请求还受 IP 级限流和服务容量约束。收到 HTTP 429 时，请遵循响应中的 `Retry-After`，等待额度恢复，避免立即循环重试。

Landing 与 Feed 独立订阅，购买 Feed 不会获得 Landing 付费额度。普通 Landing 订阅到期后恢复免费额度。

## 接收回执

新版节点完成本地校验、鉴权、限流和入队后，立即返回 HTTP 202，不等待排序器回应或链上回执。该响应表示本地已接收，不表示已发送完成、上游接受或上链。Batch 还会在入队前保存本地接收记录。详见[响应与重试](/node1-docs/documentation/zh/robinhood/robinhood-landing/robinhood-responses.md)。

迁移期间，DNS 缓存或原有长连接可能仍访问旧版节点；旧回执的识别方式见[迁移期间的旧版回执](/node1-docs/documentation/zh/robinhood/robinhood-landing/robinhood-responses.md)。

## 保持长连接

服务端在连接连续空闲约 60 秒后关闭连接，不是每隔 60 秒强制断开。Bot 可在用于发交易的同一 HTTPS 连接上，每 20～30 秒发送一次 `GET /ping` 心跳；此请求无需 Account UUID，返回 HTTP 200，不消耗账号交易额度，但仍受 IP 级请求限制。

心跳和交易应复用同一 HTTP/1.1 长连接。若连接池包含多条连接，每条需要保活的连接都要有流量；单独新建连接发心跳，不能保持另一条旧连接。请及时读完响应，连接失效后重新建立连接；心跳不保证连接永远不会中断。

## 接入指南

* [发送交易](/node1-docs/documentation/zh/robinhood/robinhood-landing/robinhood-send-transaction.md)
* [发送纯文本交易](/node1-docs/documentation/zh/robinhood/robinhood-landing/robinhood-send-plaintext.md)
* [批量交易](/node1-docs/documentation/zh/robinhood/robinhood-landing/robinhood-batch.md)
* [响应与重试](/node1-docs/documentation/zh/robinhood/robinhood-landing/robinhood-responses.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://node1.gitbook.io/node1-docs/documentation/zh/robinhood/robinhood-landing.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
