> ## 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.

# List wallet activity

> Read the wallet’s on-chain card activity, newest first. Use the cursor to page through pulls, buybacks, trades, transfers and redemptions.

**Read an event.** Each entry is one on-chain event for the exact address, including mints, deliveries and redemption burns. Query a signer and its Safe separately. Renaiss custody wallets return no activity. Events for packs closed to your key are omitted.

| Event detail | How to use it |
| - | - |
| Pack or settlement ID | Match a pull’s pack ID to `onChainPackId` in the pack catalog. Match a buyback’s IDs to `settlementId` in your wallet pull history. |
| `collectibles[]` | Your resolved draws can include card details immediately. Another builder’s ordinary v3 draw can include them after its original buyback window closes and delivery or buyback is confirmed. Limited-pack links stay visible only to the seller. Storefront draws show chain data only. |
| Amounts | The event amount is the total. Each eligible card can show its original `buybackBaseValueInUsd` in cents. On a buyback, `buybackPaidInUsdt` uses 18-decimal units and can be `null`. |

**Page through results.** Send `nextCursor` as the next request’s `cursor`, even after an empty page. Stop when it is `null`. A transaction with several events can span pages.

## Request

Builder key required

## Response

## Error codes

Match the HTTP status and response text to a row below. For guidance on codes shared across endpoints, see [Error meanings and recovery](https://docs.renaiss.xyz/api-reference/errors.md).

| HTTP | Error code | Text field | Response text and recovery |
| :- | :- | :- | :- |
| `400` | `WRONG_REQUEST_PARAMS` | `message` | `Bad request - invalid parameters` A field is missing, unknown or has the wrong form. Fix the request and send it again. |
| `401` | `API_AUTH_INVALID_CREDENTIAL` | `error` | `Invalid authentication credential` The builder key is malformed, unknown, expired or revoked. Check the key. Do not retry with the same key. |
| `401` | `API_AUTH_MISSING_CREDENTIAL` | `error` | `Required authentication credential is missing` No builder key was sent. Send your builder key in the `x-builder-api-key` header. |
| `403` | `API_AUTH_CREDENTIAL_NOT_ALLOWED` | `error` | `Credential is not allowed by this policy` This route takes a builder key only. Remove the `Authorization` header and any other credential, then send the request again. |
| `403` | `GACHA_V3_BUILDER_NOT_ACCEPTED_ON_PUBLIC_API` | `error` | `This builder checks out on its own surface, not on the public API` This builder key cannot be used on this API. Do not retry; contact Renaiss. |
| `429` | `API_AUTH_RATE_LIMITED` | `error` | `Authentication rate limit exceeded` The builder key hit its rate limit. Wait a little, then retry at a lower rate. |
| `500` | `API_AUTH_ERROR` | `error` | `Internal server error` |
| `500` | `FUNCTION_ERROR` | `error` | `Internal server error` |
| `500` | `ACTIVITY_QUERY_FAILED` | `error` | `Internal server error` Read again after a short wait. |
| `500` | Other code | `error` | `Internal server error` |
| `500` | No code | `text/plain` | `Internal Server Error` |


## OpenAPI

````yaml api-reference/openapi.json GET /v2/users/{walletAddress}/activities
openapi: 3.1.1
info:
  version: 1.0.0
  title: Renaiss Builder API v2
  description: >-
    Builder API v2 for gacha, marketplace and redemption with external wallets
    on BNB Smart Chain (chain 56). Any active, approved builder key can prepare
    purchases.


    A collectible is an item a wallet can pull, trade, sell back or redeem, such
    as a card. This API calls every such item a collectible (e.g. cards), in
    paths, fields and descriptions.


    Browse publicly, then prepare and sign actions with the buyer wallet. Gacha
    history and buyback offers require your builder key; purchases and buybacks
    also require a wallet action signature. Private shipping data and redemption
    require a wallet access token, which the API issues from a registered
    partner origin after the wallet signs a sign-in message. Gacha and
    marketplace never use a wallet access token. Keep the builder key on your
    backend.


    The acting wallet is an EOA or a deployed ERC-1271 contract account.
    EIP-7702 delegated accounts, ERC-6492 and ERC-8010 wrapped signatures and
    Renaiss-managed Safes are refused (a Safe only after its signature
    verified). A pull to a contract account that cannot receive ERC-721 tokens
    returns `CONTRACT_WALLET_CANNOT_RECEIVE_NFT`. A failed chain read returns
    `API_AUTH_ERROR` (500). Wallet access tokens and redemption are EOA only.
servers:
  - url: https://api.renaiss.xyz
    description: BNB Smart Chain
  - url: https://dev-api.renaiss.xyz
    description: BNB testnet
security: []
tags:
  - name: Gacha v2
    description: >-
      Direct-EOA pack browsing, purchases, collectible (e.g. card) reveals,
      purchase history and buybacks. Start here; no wallet access token is
      needed.
  - name: Marketplace
    description: >-
      Public collectible (e.g. card) browsing and external-wallet asks, bids,
      purchases and cancellations. Trading requires builder authorization and
      wallet action signatures.
  - name: Users
    description: >-
      What one wallet address has and did: its collectibles (e.g. cards), their
      total market value and its activities. The whole wallet, whichever builder
      it used. Requires your builder key only.
  - name: Redemption
    description: >-
      Shipping eligibility, quotes, redemption preparation, submission and
      tracking. Requires your builder key and a wallet access token for the same
      wallet.
  - name: Wallet access tokens
    description: >-
      Get, refresh and revoke the wallet access tokens that Redeem needs. The
      wallet signs a sign-in message (valid 5 minutes, one use); the API returns
      a wallet access token (15 minutes) and a refresh token (7 days, single
      use). Register exact partner frontend origins with Renaiss before use.
      Gacha and marketplace never use a wallet access token.
paths:
  /v2/users/{walletAddress}/activities:
    get:
      tags:
        - Users
      summary: List what a wallet did with collectibles on chain
      description: >-
        Read the wallet’s on-chain card activity, newest first. Use the cursor
        to page through pulls, buybacks, trades, transfers and redemptions.
      parameters:
        - schema:
            type: string
            description: The wallet to read. Exactly this address.
          required: true
          description: The wallet to read. Exactly this address.
          name: walletAddress
          in: path
        - schema:
            type: string
            enum:
              - all
              - gacha-v3-pull
              - gacha-v3-buyback
              - gacha-v3-release-token
              - buy
              - sell
              - transfer
              - mint
              - burn
            default: all
            description: Only this kind of activity. Every kind when `all`.
          required: false
          description: Only this kind of activity. Every kind when `all`.
          name: filter
          in: query
        - schema:
            type: string
            pattern: ^\d+$
          required: false
          name: cursor
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 50
            default: 20
          required: false
          name: limit
          in: query
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  activities:
                    type: array
                    items:
                      oneOf:
                        - type: object
                          properties:
                            user:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            timestamp:
                              type: string
                              pattern: ^\d+$
                            blockNumber:
                              type: string
                              pattern: ^\d+$
                            txHash:
                              type: string
                            type:
                              type: string
                              enum:
                                - gacha-v3-pull
                            contractAddress:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            packId:
                              type: string
                              description: >-
                                32 bytes encoded as 0x followed by 64
                                hexadecimal digits.
                            token:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            checkoutIds:
                              type: array
                              items:
                                type: string
                                pattern: ^\d+$
                            totalAmount:
                              type: string
                              pattern: ^\d+$
                            blockHash:
                              type: string
                            collectibles:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - POKEMON
                                      - ONE_PIECE
                                      - SPORTS
                                    description: The collectible's category.
                                  name:
                                    type: string
                                    description: Grade, year, set, number and title.
                                  frontImageUrl:
                                    type: string
                                    format: uri
                                    description: >-
                                      The graded slab in its Renaiss frame, on a
                                      dark background.
                                  tokenId:
                                    type: string
                                    pattern: ^\d+$
                                  subtitle:
                                    type: string
                                    description: >-
                                      Series and year separated by •, as on web
                                      activities. Empty when neither is
                                      available.
                                  buybackBaseValueInUsd:
                                    type: string
                                    pattern: ^\d+$
                                    description: >-
                                      The historical draw slot's frozen buyback
                                      base value in USD cents, bonus included.
                                      Not the current collectible value or
                                      purchase price.
                                  buybackBonus:
                                    type:
                                      - object
                                      - 'null'
                                    properties:
                                      originalBuybackBaseValueInUSD:
                                        type: string
                                        description: >-
                                          The base buyback value before the bonus,
                                          in USD cents. Frozen when the set
                                          formed.
                                      bonusBps:
                                        type: integer
                                        description: >-
                                          The bonus in basis points: 2000 means
                                          +20%.
                                    required:
                                      - originalBuybackBaseValueInUSD
                                      - bonusBps
                                    description: >-
                                      The buyback bonus of this collectible. The
                                      base buyback value field next to it and
                                      the `buybackTiers` amounts already include
                                      the bonus: do not apply it again. Null
                                      when the collectible has no bonus.
                                required:
                                  - type
                                  - name
                                  - frontImageUrl
                                  - tokenId
                                  - subtitle
                                  - buybackBaseValueInUsd
                                  - buybackBonus
                              description: >-
                                Resolved collectibles sold by your builder, or
                                ordinary-v3 draws after their frozen buyback
                                window and confirmed delivery/buyback.
                                Limited-pack historical links stay seller-only,
                                as in the public v2/web history restriction.
                                `EXTERNAL` draws for this exact wallet only.
                                Omitted when none are eligible; a batch can
                                contain only a subset, in event identifier
                                order.
                          required:
                            - user
                            - timestamp
                            - blockNumber
                            - txHash
                            - type
                            - contractAddress
                            - packId
                            - token
                            - checkoutIds
                            - totalAmount
                            - blockHash
                        - type: object
                          properties:
                            user:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            timestamp:
                              type: string
                              pattern: ^\d+$
                            blockNumber:
                              type: string
                              pattern: ^\d+$
                            txHash:
                              type: string
                            type:
                              type: string
                              enum:
                                - gacha-v3-buyback
                            contractAddress:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            buybackIds:
                              type: array
                              items:
                                type: string
                                description: >-
                                  32 bytes encoded as 0x followed by 64
                                  hexadecimal digits.
                            token:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            priceInUsdt:
                              type: string
                              pattern: ^\d+$
                            collectibles:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - POKEMON
                                      - ONE_PIECE
                                      - SPORTS
                                    description: The collectible's category.
                                  name:
                                    type: string
                                    description: Grade, year, set, number and title.
                                  frontImageUrl:
                                    type: string
                                    format: uri
                                    description: >-
                                      The graded slab in its Renaiss frame, on a
                                      dark background.
                                  tokenId:
                                    type: string
                                    pattern: ^\d+$
                                  subtitle:
                                    type: string
                                    description: >-
                                      Series and year separated by •, as on web
                                      activities. Empty when neither is
                                      available.
                                  buybackBaseValueInUsd:
                                    type: string
                                    pattern: ^\d+$
                                    description: >-
                                      The historical draw slot's frozen buyback
                                      base value in USD cents, bonus included.
                                      Not the current collectible value or
                                      purchase price.
                                  buybackBonus:
                                    type:
                                      - object
                                      - 'null'
                                    properties:
                                      originalBuybackBaseValueInUSD:
                                        type: string
                                        description: >-
                                          The base buyback value before the bonus,
                                          in USD cents. Frozen when the set
                                          formed.
                                      bonusBps:
                                        type: integer
                                        description: >-
                                          The bonus in basis points: 2000 means
                                          +20%.
                                    required:
                                      - originalBuybackBaseValueInUSD
                                      - bonusBps
                                    description: >-
                                      The buyback bonus of this collectible. The
                                      base buyback value field next to it and
                                      the `buybackTiers` amounts already include
                                      the bonus: do not apply it again. Null
                                      when the collectible has no bonus.
                                  buybackPaidInUsdt:
                                    type:
                                      - string
                                      - 'null'
                                    pattern: ^\d+$
                                    description: >-
                                      Buyback activities only: actual
                                      per-collectible payment in USDT units (18
                                      decimals). Null when the historical
                                      payment cannot be confirmed.
                                required:
                                  - type
                                  - name
                                  - frontImageUrl
                                  - tokenId
                                  - subtitle
                                  - buybackBaseValueInUsd
                                  - buybackBonus
                                  - buybackPaidInUsdt
                              description: >-
                                Resolved collectibles sold by your builder, or
                                ordinary-v3 draws after their frozen buyback
                                window and confirmed delivery/buyback.
                                Limited-pack historical links stay seller-only,
                                as in the public v2/web history restriction.
                                `EXTERNAL` draws for this exact wallet only.
                                Omitted when none are eligible; a batch can
                                contain only a subset, in event identifier
                                order.
                          required:
                            - user
                            - timestamp
                            - blockNumber
                            - txHash
                            - type
                            - contractAddress
                            - buybackIds
                            - token
                            - priceInUsdt
                        - type: object
                          properties:
                            user:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            timestamp:
                              type: string
                              pattern: ^\d+$
                            blockNumber:
                              type: string
                              pattern: ^\d+$
                            txHash:
                              type: string
                            item:
                              type: object
                              properties:
                                tokenId:
                                  type: string
                                  pattern: ^\d+$
                                imageUrl:
                                  type: string
                                title:
                                  type: string
                                subtitle:
                                  type: string
                              required:
                                - tokenId
                                - imageUrl
                                - title
                                - subtitle
                            type:
                              type: string
                              enum:
                                - gacha-v3-release-token
                            contractAddress:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            releaseTokenId:
                              type: string
                              description: >-
                                32 bytes encoded as 0x followed by 64
                                hexadecimal digits.
                            nftTokenId:
                              type: string
                              pattern: ^\d+$
                          required:
                            - user
                            - timestamp
                            - blockNumber
                            - txHash
                            - type
                            - contractAddress
                            - releaseTokenId
                            - nftTokenId
                        - type: object
                          properties:
                            user:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            timestamp:
                              type: string
                              pattern: ^\d+$
                            blockNumber:
                              type: string
                              pattern: ^\d+$
                            txHash:
                              type: string
                            item:
                              type: object
                              properties:
                                tokenId:
                                  type: string
                                  pattern: ^\d+$
                                imageUrl:
                                  type: string
                                title:
                                  type: string
                                subtitle:
                                  type: string
                              required:
                                - tokenId
                                - imageUrl
                                - title
                                - subtitle
                            type:
                              type: string
                              enum:
                                - buy
                            bidder:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            asker:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            nftTokenId:
                              type: string
                              pattern: ^\d+$
                            erc20Token:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            amount:
                              type: string
                              pattern: ^\d+$
                            feeAccrued:
                              type: string
                              pattern: ^\d+$
                          required:
                            - user
                            - timestamp
                            - blockNumber
                            - txHash
                            - type
                            - bidder
                            - asker
                            - nftTokenId
                            - erc20Token
                            - amount
                            - feeAccrued
                        - type: object
                          properties:
                            user:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            timestamp:
                              type: string
                              pattern: ^\d+$
                            blockNumber:
                              type: string
                              pattern: ^\d+$
                            txHash:
                              type: string
                            item:
                              type: object
                              properties:
                                tokenId:
                                  type: string
                                  pattern: ^\d+$
                                imageUrl:
                                  type: string
                                title:
                                  type: string
                                subtitle:
                                  type: string
                              required:
                                - tokenId
                                - imageUrl
                                - title
                                - subtitle
                            type:
                              type: string
                              enum:
                                - sell
                            bidder:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            asker:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            nftTokenId:
                              type: string
                              pattern: ^\d+$
                            erc20Token:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            amount:
                              type: string
                              pattern: ^\d+$
                            feeAccrued:
                              type: string
                              pattern: ^\d+$
                          required:
                            - user
                            - timestamp
                            - blockNumber
                            - txHash
                            - type
                            - bidder
                            - asker
                            - nftTokenId
                            - erc20Token
                            - amount
                            - feeAccrued
                        - type: object
                          properties:
                            user:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            timestamp:
                              type: string
                              pattern: ^\d+$
                            blockNumber:
                              type: string
                              pattern: ^\d+$
                            txHash:
                              type: string
                            item:
                              type: object
                              properties:
                                tokenId:
                                  type: string
                                  pattern: ^\d+$
                                imageUrl:
                                  type: string
                                title:
                                  type: string
                                subtitle:
                                  type: string
                              required:
                                - tokenId
                                - imageUrl
                                - title
                                - subtitle
                            type:
                              type: string
                              enum:
                                - transfer
                            to:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            tokenId:
                              type: string
                              pattern: ^\d+$
                          required:
                            - user
                            - timestamp
                            - blockNumber
                            - txHash
                            - type
                            - to
                            - tokenId
                        - type: object
                          properties:
                            user:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            timestamp:
                              type: string
                              pattern: ^\d+$
                            blockNumber:
                              type: string
                              pattern: ^\d+$
                            txHash:
                              type: string
                            item:
                              type: object
                              properties:
                                tokenId:
                                  type: string
                                  pattern: ^\d+$
                                imageUrl:
                                  type: string
                                title:
                                  type: string
                                subtitle:
                                  type: string
                              required:
                                - tokenId
                                - imageUrl
                                - title
                                - subtitle
                            type:
                              type: string
                              enum:
                                - mint
                            tokenAmount:
                              type: string
                              pattern: ^\d+$
                            tokenId:
                              type: string
                              pattern: ^\d+$
                          required:
                            - user
                            - timestamp
                            - blockNumber
                            - txHash
                            - type
                            - tokenAmount
                            - tokenId
                        - type: object
                          properties:
                            user:
                              type: string
                              description: >-
                                20-byte, 0x-prefixed wallet or contract address.
                                Use lowercase or a valid checksum.
                            timestamp:
                              type: string
                              pattern: ^\d+$
                            blockNumber:
                              type: string
                              pattern: ^\d+$
                            txHash:
                              type: string
                            item:
                              type: object
                              properties:
                                tokenId:
                                  type: string
                                  pattern: ^\d+$
                                imageUrl:
                                  type: string
                                title:
                                  type: string
                                subtitle:
                                  type: string
                              required:
                                - tokenId
                                - imageUrl
                                - title
                                - subtitle
                            type:
                              type: string
                              enum:
                                - burn
                            tokenAmount:
                              type: string
                              pattern: ^\d+$
                            tokenId:
                              type: string
                              pattern: ^\d+$
                          required:
                            - user
                            - timestamp
                            - blockNumber
                            - txHash
                            - type
                            - tokenAmount
                            - tokenId
                  nextCursor:
                    type:
                      - string
                      - 'null'
                required:
                  - activities
                  - nextCursor
        '400':
          description: >-
            The request was refused before anything happened.


            See [error codes and
            recovery](/api-reference/wallets/list-activities#http-errors).
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - WRONG_REQUEST_PARAMS
                  message:
                    type: string
                    description: A short sentence about what went wrong.
                required:
                  - code
                  - message
              example:
                code: WRONG_REQUEST_PARAMS
                message: Bad request - invalid parameters
        '401':
          description: >-
            The builder key is missing or not accepted.


            See [error codes and
            recovery](/api-reference/wallets/list-activities#http-errors).
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: A short sentence about what went wrong.
                  code:
                    type: string
                    enum:
                      - API_AUTH_MISSING_CREDENTIAL
                      - API_AUTH_INVALID_CREDENTIAL
                required:
                  - error
                  - code
              example:
                error: Required authentication credential is missing
                code: API_AUTH_MISSING_CREDENTIAL
        '403':
          description: >-
            The builder key is not allowed to make this request.


            See [error codes and
            recovery](/api-reference/wallets/list-activities#http-errors).
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: A short sentence about what went wrong.
                  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: >-
            Too many requests with this builder key.


            See [error codes and
            recovery](/api-reference/wallets/list-activities#http-errors).
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: A short sentence about what went wrong.
                  code:
                    type: string
                    enum:
                      - API_AUTH_RATE_LIMITED
                required:
                  - error
                  - code
              example:
                error: Authentication rate limit exceeded
                code: API_AUTH_RATE_LIMITED
        '500':
          description: >-
            A failure on our side. Retry later.


            See [error codes and
            recovery](/api-reference/wallets/list-activities#http-errors).
          content:
            text/plain:
              schema:
                type: string
              example: Internal Server Error
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: A short sentence about what went wrong.
                  code:
                    type: string
                required:
                  - error
                  - code
              example:
                error: Internal server error
                code: FUNCTION_ERROR
      security:
        - builderAuth: []
components:
  securitySchemes:
    builderAuth:
      type: apiKey
      in: header
      name: x-builder-api-key
      description: >-
        Your approved builder API key. Keep it on your backend. Gacha and
        marketplace writes also require wallet action signatures. Redeem also
        needs a wallet access token, a Bearer token the API issues after the
        wallet signs a sign-in message.

````

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