Skip to main content

授权参与者代币化指南

机器翻译译自英文(docs.alpaca.markets)本页 58 段已全部译完

概述

在你作为授权参与者开始集成 Alpaca 的 ITN(即时代币化网络)之前,需要完成以下几个步骤:

  1. 直接向发行方注册成为授权参与者,以便你能够铸币和赎回其代币。
  2. 集成 Alpaca 的 Broker API 或 Trading API 服务,以便在 Alpaca 中以你名义开设的账户上买卖股票。这使 Alpaca 能够在代币铸币和赎回流程中在你的账户中转入/转出股票。

完成上述步骤后,本文将指导你作为 AP 集成 ITN。你将需要:

  • 向 Alpaca 的集成团队提供:
    • 你在向发行方注册为 AP 时使用的电子邮件地址。
    • 你期望股票转入/转出的 Alpaca 账户号码。
    • Alpaca 的集成团队需要与发行方执行握手流程,以将你的 Alpaca 账户关联到你的发行方账户。
  • 集成 1 个你将用于发起代币铸币流程的 Alpaca 端点:
  • 可选地,你也可以通过本指南末尾记录的列出代币化请求端点查询你的代币化请求历史。

数量精度

Alpaca 对标的证券数量最多接受 9 位小数。任何 qty 超过 9 位小数的铸币请求都将被拒绝并返回 400 Bad Request。

相同的 9 位小数上限也适用于发行方代表你向 Alpaca 提交赎回请求时。当你的代币链上精度超过此限制(例如以太坊上的 18 位小数)时,发行方通常会将标的证券赎回数量向下舍入到 9 位小数,因此在每次赎回时可能会剩余极小量的代币未被转换。

铸币端点与工作流

代币铸币流程包含多个步骤,起点是你(作为 AP)向 Alpaca 请求铸币。以下对这些步骤进行说明,并在图 1 中加以描绘,以帮助你形象化理解。任何引用的端点也在下方进行了说明。

  1. 完成前面提到的握手流程后,你将能够使用 Alpaca 的铸币请求端点请求铸币代币化资产。
  2. 铸币请求将由 Alpaca 和发行方双方验证。
    1. Alpaca 将验证你:
      1. 是否是获授权进行代币化的 AP。
      2. 在你注册的 Alpaca 账户上是否有足够的标的头寸可用于铸币。
    2. 发行方将验证:
      1. 你提供的钱包地址是否注册在 AP 名下。
      2. 请求的代币是否在请求的网络上可用。
  3. 铸币请求验证成功后,Alpaca 将请求数量的标的证券从你的 Alpaca 账户转入发行方的 Alpaca 账户。
  4. Alpaca 与发行方确认标的证券已转入其账户。
  5. 随后发行方将代币化资产存入你在铸币请求中提供的钱包地址。
  6. 最后,发行方通知 Alpaca 代币已成功存入 AP 的钱包地址。

图 1. 铸币代币化资产

图 1. 铸币代币化资产

Alpaca 的铸币请求

更多详情请参阅完整的API 参考。

端点

POST /v1/accounts/:account_id/tokenization/mint
字段描述
account_id你的 Alpaca account_id,Alpaca 已将其关联到你在发行方的 AP 账户。

请求体

{
  "underlying_symbol": "AAPL",
  "qty": "1.23",
  "issuer": "xstocks",
  "network": "solana",
  "wallet_address": "0x1234567A",
  "client_request_id": "my-mint-ref-001"
}
字段描述
underlying_symbol标的资产代码
qty要转换为代币化资产的标的数量。该值可为小数。
issuer代币化资产的发行方。有效值为:
• binance
• coinbase
• ondo
• st0x
• xstocks
network代币所在区块链的网络。有效值为:
• arbitrum
• base
• binance
• cronos
• ethereum
• hypercore
• hyperevm
• mantle
• robinhood
• solana
• ton
• tron
wallet_address代币化资产应存入的目标钱包地址。


重要提示: 你需要向发行方确认该钱包地址是否必须在其平台上加入白名单,如果是,你需要在将其用于铸币请求之前先将该地址加入白名单。
client_request_id可选。客户端提供的关联标签,会在响应中原样回显。最多 128 个字符,仅限可打印 ASCII 字符,不得含前导或尾随空白。

幂等性

铸币提交可安全地使用可选的 Idempotency-Key HTTP 请求头进行重试,这样重试(例如网络超时后)就不会创建重复的铸币:

Idempotency-Key: <your-unique-key>
  • 当存在时,去除前后空白后该值必须介于 1 到 128 个字符之间,且只能包含可打印 ASCII 字符(不含空格)。格式错误的 key 将被拒绝并返回 400 Bad Request。
  • 如果 Alpaca 已处理过具有相同 Idempotency-Key 且请求体完全相同的请求,则会重放原始响应,而不会创建新的铸币请求,并且 Alpaca 会设置 Idempotent-Replayed: true 响应头。对原本状态为 rejected 的请求的重放将返回 400 Bad Request。
  • 使用相同 Idempotency-Key 但请求体不同将被拒绝并返回 422 Unprocessable Entity。

响应

请求体

{
  "tokenization_request_id": "14d484e3-46f9-4e11-99ac-6fee0d4455c7",
  "created_at":"2025-09-12T17:28:48.642437-04:00",
  "status": "pending",
  "underlying_symbol": "AAPL",
  "token_symbol": "AAPLx",
  "qty": "3",
  "issuer": "xstocks",
  "network": "solana",
  "client_request_id": "my-mint-ref-001"
}
字段描述
tokenization_request_idAlpaca 分配的唯一请求标识符
created_atAlpaca 收到铸币请求的时间戳
status铸币请求的当前状态:
• pending
• completed
• rejected
underlying_symbol标的资产代码
token_symbol代币化资产代码
qty要转换为代币化资产的标的数量。可为小数。
issuer代币化资产的发行方。有效值为:
• binance
• coinbase
• ondo
• st0x
• xstocks
network代币所在区块链网络。有效值为:
• arbitrum
• base
• binance
• cronos
• ethereum
• hypercore
• hyperevm
• mantle
• robinhood
• solana
• ton
• tron
client_request_id你在铸币请求中提供的关联标签,原样回显。如果你未提供则省略。

状态码

状态描述
200OK - 铸币请求创建成功
400错误请求(例如输入格式错误、头寸不足,或账户无权铸币)。
401认证凭据缺失或无效。
403调用者无权执行此操作。
422参数无效 - 提供的参数中有一个或多个无效。

赎回工作流

代币赎回流程包含多个步骤,起点是你(作为 AP)将代币存入发行方的赎回钱包地址。以下对这些步骤进行说明,并在图 2 中加以描绘,以帮助你形象化理解。

  1. 代币赎回流程将由 AP 发起,其将代币转入发行方的赎回钱包地址。发行方将把这些代币从流通中移除。
  2. 随后发行方将通知 Alpaca 某 AP 已赎回其代币。发行方将按此处的说明向 Alpaca 提供多个字段。
  3. 最后,Alpaca 将把标的资产从发行方的 Alpaca 账户转入 AP 的 Alpaca 账户。

图 2. 赎回代币化资产

图 2. 赎回代币化资产

其他实用端点

列出代币化请求

你可以使用以下端点列出在即时代币化网络平台上执行的代币化请求。更多详情请查阅完整的API 参考。

请求

端点

GET /v1/accounts/:account_id/tokenization/requests

响应

请求体

[
   {
    "tokenization_request_id": "12345-678-90AB",
    "created_at":"2025-09-12T17:28:48.642437-04:00",
    "updated_at":"2025-09-12T17:28:48.642437-04:00",
    "type": "redeem",
    "status": "completed",
    "underlying_symbol": "TSLA",
    "token_symbol" : "TSLAx",
    "qty" : "123.45",
    "issuer" : "xstocks",
    "network": "solana",
    "wallet_address": "0x1234567A",
    "tx_hash" : "0x1234567A",
    "fees" : "0.567"
  },
  {
    "tokenization_request_id": "12345-678-90AB",
    "created_at":"2025-09-12T17:28:48.642437-04:00",
    "updated_at":"2025-09-12T17:28:48.642437-04:00",
    "type": "redeem",
    "status": "completed",
    "underlying_symbol": "TSLA",
    "token_symbol" : "TSLAx",
    "qty" : "123.45",
    "issuer" : "xstocks",
    "network": "solana",
    "wallet_address": "0x1234567A",
    "tx_hash" : "0x1234567A",
    "fees" : "0.567"
  },
  {
    "tokenization_request_id": "12345-678-90AB",
    "created_at":"2025-09-12T17:28:48.642437-04:00",
    "updated_at":"2025-09-12T17:28:48.642437-04:00",
    "type": "redeem",
    "status": "completed",
    "underlying_symbol": "TSLA",
    "token_symbol" : "TSLAx",
    "qty" : "123.45",
    "issuer" : "xstocks",
    "network": "solana",
    "wallet_address": "0x1234567A",
    "tx_hash" : "0x1234567A",
    "fees" : "0.567"
  }
]
字段描述
tokenization_request_idAlpaca 分配的唯一请求标识符
created_at请求创建时间戳
updated_at请求最后更新时间戳
type代币化请求类型。有效值为:
• mint
• redeem
status代币化请求的当前状态:
• pending
• completed
• rejected
underlying_symbol标的资产代码
token_symbol代币资产代码
qty此请求的数量
issuer代币化资产的发行方。有效值为:
• binance
• coinbase
• ondo
• st0x
• xstocks
network代币所在区块链的网络。有效值为:
• arbitrum
• base
• binance
• cronos
• ethereum
• hypercore
• hyperevm
• mantle
• robinhood
• solana
• ton
• tron
wallet_address与此请求关联的钱包地址
tx_hash区块链上的交易哈希
fees此代币化请求收取的费用
client_request_id你在原始铸币请求中提供的关联标签,原样回显。在提供了该值的铸币请求中存在。

按 ID 获取代币化请求

通过 Alpaca 分配的 tokenization_request_id 获取单条代币化请求。返回的对象与列出代币化请求响应中的单个条目相同。

请求

端点

GET /v1/accounts/:account_id/tokenization/requests/:tokenization_request_id
字段描述
account_id你的 Alpaca account_id。
tokenization_request_idAlpaca 分配的待获取请求标识符。

状态码

状态描述
200OK
401认证凭据缺失或无效。
404你的账户不存在具有该 id 的代币化请求。
422参数无效 - tokenization_request_id 不是有效的 UUID。

按客户端请求 ID 获取代币化请求

通过你在原始铸币请求中提供的 client_request_id 获取单条代币化请求。返回的对象与列出代币化请求响应中的单个条目相同。

请求

端点

GET /v1/accounts/:account_id/tokenization/requests:by_client_request_id?client_request_id=<your-value>
字段描述
account_id你的 Alpaca account_id。
client_request_id你在铸币请求中提供的关联标签,作为查询参数传递。

状态码

状态描述
200OK
401认证凭据缺失或无效。
404你的账户不存在具有该 client_request_id 的代币化请求。
422参数无效 - client_request_id 查询参数缺失。

术语表

  • 授权参与者:获许可在代币化资产(例如 xstocks)中开展数字资产业务的实体。发行方仅向授权参与者(AP)出售代币化资产。AP 可以将代币化资产出售给其客户。
  • 发行方:购买标的股权证券、将其包装并创建/发行由该证券支持的代币的金融实体。
  • 铸币:将标的股权证券转换为代币化资产的行为。
  • 赎回:将代币化资产转换为其标的股权证券的行为。

Alpaca 的即时代币化网络由 AlpacaDB, Inc. 和 Alpaca Crypto LLC 拥有和开发。根据当地监管要求,代币化服务可能适用额外地域限制。Alpaca Crypto LLC 和 Alpaca Securities LLC 均不是任何资产代币化的发行方,也不直接参与其中。代币化由第三方执行。代币化资产不表示对任何标的公司或发行方的直接股权所有权。相反,代币化资产通常提供对标的发行方股权证券的经济敞口。因此,除非明确说明,代币化资产持有人在标的公司清算或破产时对标的公司股份或任何剩余资产不享有投票权、股息权利或法律主张。所有投资均涉及风险。更多信息请参阅我们的代币化风险披露。