> For the complete documentation index, see [llms.txt](https://support.safeheron.com/help-center/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.safeheron.com/help-center/jian-ti-zhong-wen/chan-pin/shen-ru-safeheron/api.md).

# API

## 为什么需要 API？

为了支持应用系统层面的集成，Safeheron 提供丰富的 [**API 接口**](https://docs.safeheron.com/api/zh.html#%E4%BB%8B%E7%BB%8D)。

从功能来说，通过 API，您几乎可以享有 Safeheron 提供的所有核心功能，比如：管理钱包、发起交易、交易查询等等，配合您的 [API Co-Signer](/help-center/jian-ti-zhong-wen/chan-pin/shen-ru-safeheron/api-co-signer.md) 还可以完成交易自动化审核、签名等。

从应用场景来说，除交易外，通过 API 还可以完成诸如 DeFi、DEX、GameFi 等合约交互、合约 Owner 权限管理、 Token Mint 权限管理、Web3 各类场景的数据签名等等业务应用场景。

## 如何使用 API？

### **开通 API**

具有`API 管理`权限的用户登录 Safeheron Web 控制台，前往「设置」➡ 「API 账户管理」进行 API 账户（即 API Key）创建。

### 创建 API Key

API 账户创建成功后，可以使用 API Key 来访问 Safeheron API，具体如下图所示。

<figure><img src="/files/Z3A6XCXc5QLiekyQv4E2" alt=""><figcaption></figcaption></figure>

1\. 使用 OpenSSL 生成 RSA 私钥（`api_private.pem` 为您的 API RSA 私钥 ）：

`openssl genpkey -out api_private.pem -algorithm RSA -pkeyopt rsa_keygen_bits:4096`

2\. 使用 OpenSSL 生成 RSA 私钥对应的公钥（api`_public.pem` 为您的 API RSA 公钥）：

`openssl rsa -in api_private.pem -out api_public.pem -pubout`

3\. 前往 Safeheron Web 控制台，「管理」 ➡「API」，点击「创建 API Key」

{% hint style="success" %}
**提示**：如何导入 RSA 公钥呢？

有 2 种方式：

1\. 复制+粘贴，但需要去掉头部信息

![](/files/fnvV4Z4DrGp3Uf1JiveR)

2\. 上传 RSA 公钥文件，系统自动去除头部信息
{% endhint %}

### IP 白名单

当客户需要调用 API 时， 需要把调用 API 的主机公网 IP 地址添加到白名单， 否则 Safeheron 服务网关将拒绝API请求。&#x20;

当客户需要使用 API Co-Signer 时，需要把 API Co-Signer 所在的宿主机公网 IP 地址添加到白名单。

### API SDK

我们提供 Java/js/golang/python 四种语言的 API SDK：

Java：<https://github.com/Safeheron/safeheron-api-sdk-java>

JavaScript & TypeScript：<https://github.com/Safeheron/safeheron-api-sdk-js>

Golang：<https://github.com/Safeheron/safeheron-api-sdk-go>

Python:  <https://github.com/Safeheron/safeheron-api-sdk-python>

## 🛡 如何保证 Safeheron API 安全？

为了保证 Safeheron API 安全，我们做了以下几点：&#x20;

* Safeheron 为 API 账号设计了一组权限，您在开通 API 账号时，请遵循最小权限原则。&#x20;
* 具有`API 管理`权限的团队成员方可对 API 进行配置或者变更，并且任何变更都需通过团队批准方可生效。&#x20;
* 采用 IP 白名单机制并与 CDN 供应商集成，避免访问来源 IP 伪造，保证访问来源安全，另外，数据加密和签名方案确保数据在传输过程中不会被截获与篡改，保证数据传输安全。&#x20;
* Safeheron 支持针对 API 账号配置审批策略，用来控制 API 账号发起的交易将如何审批。&#x20;

{% hint style="info" %}
📝 <mark style="color:green;">**请注意**</mark>：

真正的安全需要 Safeheron 与您的共同参与，请妥善保管好 API 账号相关的敏感数据，比如：API Key、您的公私钥、Safeheron 平台公钥。
{% endhint %}
