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

# 列出卡包

> 浏览卡包，或按 `stage` 筛选。传入开发者密钥，还可看到专门向你的应用开放的卡包。

* **访问。** 浏览公开目录可省略 `x-builder-api-key`。传入密钥时，请求会计入该密钥的限流额度。
* **展示。** 可用返回的卡包和抽卡机视频链接展示预览。价格以字符串返回，单位为 USDT 最小单位（18 位精度）。
* **下一步。** 使用 `slug` 查询[卡包详情](https://docs.renaiss.xyz/cn/api-reference/gacha/get-pack.md)，使用 `id` [准备购买](https://docs.renaiss.xyz/cn/api-reference/gacha/prepare-pull.md)。

## 请求

开发者密钥可选

## 响应

## 错误码

在下表中查找接口返回的 HTTP 状态码和响应原文。有关各接口通用的处理建议，请参阅[错误码含义与处理方式](https://docs.renaiss.xyz/cn/api-reference/errors.md)。

| HTTP | 错误码 | 文本字段 | 响应文本与处理方式 |
| :- | :- | :- | :- |
| `400` | `INVALID_SCHEMA` | `message` | 具体校验信息随输入而变化。 |
| `400` | `WRONG_REQUEST_PARAMS` | `message` | `Bad request - invalid parameters` |
| `401` | `API_AUTH_INVALID_CREDENTIAL` | `error` | `Invalid authentication credential` 开发者密钥格式错误、未知、已过期或已撤销。请核对并更换密钥。 |
| `403` | `API_AUTH_CREDENTIAL_NOT_ALLOWED` | `error` | `Credential is not allowed by this policy` 省略全部凭据，或仅通过 `x-builder-api-key` 发送可选的开发者密钥。 |
| `403` | `GACHA_V3_BUILDER_NOT_ACCEPTED_ON_PUBLIC_API` | `error` | `This builder checks out on its own surface, not on the public API` 此密钥无法用于当前 API。请联系 Renaiss，无需重试。 |
| `429` | `API_AUTH_RATE_LIMITED` | `error` | `Authentication rate limit exceeded` 已达到密钥的请求频率上限。稍候再以较低频率重试。 |
| `500` | `API_AUTH_ERROR` | `error` | `Internal server error` |
| `500` | `FUNCTION_ERROR` | `error` | `Internal server error` |
| `500` | `FUNCTION_ERROR` | `message` | 原文可能变化，例如 `Unable to load packs`。 |
| `500` | `CARD_PACKS_QUERY_FAILED` | `message` | `Failed to query card packs` `Failed to check card pack access` |


## OpenAPI

````yaml cn/api-reference/openapi.json GET /v2/gacha/packs
openapi: 3.1.1
info:
  version: 1.0.0
  title: Renaiss 开发者 API v2
  description: >-
    在 BNB 智能链（链 ID 56）上使用外部钱包接入抽卡、交易市场和实物兑换。所有已批准且有效的开发者密钥均可准备购买。


    藏品包括钱包可抽取、交易、回售或兑换的物品，例如卡牌。接口路径、字段和描述统一使用 collectible 表示藏品。


    可以匿名浏览目录。准备购买后，请由买家钱包签名。抽卡记录和回购报价需要开发者密钥，购买和回购还需操作签名。私有配送信息及兑换需要钱包访问令牌，由钱包在已注册的合作方来源签署登录消息后签发。抽卡和市场不使用钱包访问令牌。请在后端保管开发者密钥。


    操作钱包可以是 EOA 或已部署的 ERC-1271 合约账户。不支持 EIP-7702 委托账户、ERC-6492 或 ERC-8010 封装签名及
    Renaiss 托管的 Safe（签名验证后才会识别并拒绝该类 Safe）。无法接收 ERC-721 的合约钱包抽卡会返回
    `CONTRACT_WALLET_CANNOT_RECEIVE_NFT`。链上读取失败返回
    `API_AUTH_ERROR`（500）。钱包访问令牌及实物兑换仅支持 EOA。
servers:
  - url: https://api.renaiss.xyz
    description: BNB 智能链主网
  - url: https://dev-api.renaiss.xyz
    description: BNB 测试网
security: []
tags:
  - name: Gacha v2
    description: 使用 EOA 浏览和购买卡包、揭晓藏品、读取购买记录及回购。无需钱包访问令牌。
  - name: Marketplace
    description: 公开浏览藏品，通过外部钱包挂牌、出价、购买或撤单。交易需要开发者授权及钱包操作签名。
  - name: Users
    description: 查询特定钱包的藏品、市场总估值和链上活动。仅需开发者密钥，各接口按相应的可见范围返回记录。
  - name: Redemption
    description: 查询兑换资格、运费报价，准备并提交兑换及跟踪物流。需要开发者密钥及同一钱包的访问令牌。
  - name: Wallet access tokens
    description: >-
      获取、刷新或撤销实物兑换使用的钱包访问令牌。钱包签署一次性登录消息（5 分钟有效）后，API 返回访问令牌（15 分钟）和一次性刷新令牌（7
      天）。先注册精确的合作方前端来源。抽卡和市场无需钱包访问令牌。
paths:
  /v2/gacha/packs:
    get:
      tags:
        - Gacha v2
      summary: 列出 VRF 卡包
      description: 浏览卡包，或按 `stage` 筛选。传入开发者密钥，还可看到专门向你的应用开放的卡包。
      parameters:
        - schema:
            type: string
            enum:
              - countdown
              - active
              - soldout-or-restocking
              - archived
          required: false
          name: stage
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
          required: false
          name: limit
          in: query
        - schema:
            type:
              - integer
              - 'null'
            minimum: 0
            default: 0
          required: false
          name: offset
          in: query
        - $ref: '#/components/parameters/OptionalPackBuilderKey'
      responses:
        '200':
          description: 成功
          content:
            application/json:
              schema:
                type: object
                properties:
                  cardPacks:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        slug:
                          type: string
                        name:
                          type: string
                        packType:
                          type: string
                          enum:
                            - limited
                            - perpetual
                            - v3
                            - v3-limited
                        stage:
                          type: string
                          enum:
                            - countdown
                            - active
                            - soldout-or-restocking
                            - archived
                        description:
                          type: string
                          description: 发布者提供的卡包描述，仅支持行内 Markdown（**粗体**、*斜体*、__下划线__）。
                        priceInUsdt:
                          type: string
                          pattern: ^[0-9]+$
                          description: 卡包价格，以精度为 18 位的 USDT 最小单位计，序列化为十进制字符串。
                        expectedValueInUsd:
                          type:
                            - string
                            - 'null'
                          pattern: ^[0-9]+$
                          description: >-
                            已保存的卡包期望价值，以美分计，返回十进制字符串；未设置时为 `null`。v3 售卡机展示应使用
                            `GET /v2/gacha/packs/{slug}` 的
                            `activeSetExpectedValueInUsd`。此字段不会随当前卡组或剩余藏品重新计算。
                        packBannerVideoUrl:
                          type:
                            - string
                            - 'null'
                        gachaMachineVideoUrl:
                          type:
                            - string
                            - 'null'
                        gachaRippingPackAnimationVideoUrl:
                          type:
                            - string
                            - 'null'
                        onChainPackId:
                          type: string
                          description: 32 字节，以 0x 开头，后接 64 个十六进制数字。
                        vendingMachineAddress:
                          type: string
                          description: 带 0x 前缀的 20 字节钱包或合约地址。请使用全小写或有效的校验和格式。
                      required:
                        - id
                        - slug
                        - name
                        - packType
                        - stage
                        - description
                        - priceInUsdt
                        - expectedValueInUsd
                        - packBannerVideoUrl
                        - gachaMachineVideoUrl
                        - gachaRippingPackAnimationVideoUrl
                        - onChainPackId
                        - vendingMachineAddress
                  pagination:
                    type: object
                    properties:
                      total:
                        type: number
                      limit:
                        type: number
                      offset:
                        type: number
                      hasMore:
                        type: boolean
                    required:
                      - total
                      - limit
                      - offset
                      - hasMore
                required:
                  - cardPacks
                  - pagination
        '400':
          description: |-
            请求参数无效。

            见[错误码与处理方式](/cn/api-reference/gacha/list-packs#http-errors)。
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - WRONG_REQUEST_PARAMS
                      - INVALID_SCHEMA
                    description: |-
                      可能的错误码
                      - `WRONG_REQUEST_PARAMS`：请求数据无效。
                      - `INVALID_SCHEMA`：数据结构无效。
                  message:
                    type: string
                required:
                  - code
                  - message
        '401':
          description: |-
            提供的开发者密钥未通过验证。

            见[错误码与处理方式](/cn/api-reference/gacha/list-packs#http-errors)。
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: 简短的错误说明。
                  code:
                    type: string
                    enum:
                      - API_AUTH_INVALID_CREDENTIAL
                required:
                  - error
                  - code
              example:
                error: Invalid authentication credential
                code: API_AUTH_INVALID_CREDENTIAL
        '403':
          description: |-
            公开查询不接受所提供的凭据。

            见[错误码与处理方式](/cn/api-reference/gacha/list-packs#http-errors)。
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: 简短的错误说明。
                  code:
                    type: string
                    enum:
                      - API_AUTH_CREDENTIAL_NOT_ALLOWED
                      - GACHA_V3_BUILDER_NOT_ACCEPTED_ON_PUBLIC_API
                required:
                  - error
                  - code
              example:
                error: Credential is not allowed by this policy
                code: API_AUTH_CREDENTIAL_NOT_ALLOWED
        '429':
          description: |-
            该开发者密钥的请求过于频繁。

            见[错误码与处理方式](/cn/api-reference/gacha/list-packs#http-errors)。
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: 简短的错误说明。
                  code:
                    type: string
                    enum:
                      - API_AUTH_RATE_LIMITED
                required:
                  - error
                  - code
              example:
                error: Authentication rate limit exceeded
                code: API_AUTH_RATE_LIMITED
        '500':
          description: |-
            服务端暂时失败，请稍后重试。

            见[错误码与处理方式](/cn/api-reference/gacha/list-packs#http-errors)。
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                    required:
                      - code
                      - message
                  - type: object
                    properties:
                      error:
                        type: string
                        description: 简短的错误说明。
                      code:
                        type: string
                    required:
                      - error
                      - code
              example:
                code: FUNCTION_ERROR
                message: Unable to load packs
      security: []
components:
  parameters:
    OptionalPackBuilderKey:
      name: x-builder-api-key
      in: header
      required: false
      description: 仅查询公开卡包时请留空。填写开发者密钥后，还可查询对该开发者开放的卡包。
      schema:
        type: string

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.