openapi: 3.0.3
info:
  description: |-
    The Chia node and services come with a JSON RPC API server that allows you to access information and control the services.  These are accessible via HTTPS, WebSockets, or via client SDKs. The ports can be configured in `~/.chia/mainnet/config/config.yaml`.  The RPC ports should not be exposed to the internet. TLS certificates are used to secure the communication  [using mutualTLS](https://github.com/dkackman/chia-api/wiki/Mutual-TLS).
    The wallet uses port 9256 by default.
  version: 2.0.0
  title: Chia RPC
  termsOfService: https://www.chia.net/assets/legal/Guidelines-for-Using-Chia-Network.pdf
  contact:
    name: Chia Network
    url: https://www.chia.net/
    email: hello@chia.net
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://localhost:9256
    description: Wallet RPC
security:
  - bearerAuth: []
tags:
  - name: Shared
    description: Methods shared by all services.
  - name: CAT Wallet
    description: CATs, trades, and offers.
  - name: DID Wallet
    description: Distributed Identity wallet.
  - name: Key Management
    description: Methods for managing keys.
  - name: Pool Wallet
    description: Pool wallet api.
  - name: Notifications
    description: Notification api.
  - name: Wallet
    description: Methods for shared wallet operations.
  - name: Wallet Management
    description: Methods for creating and managing wallets.
  - name: Wallet Node
    description: The wallet RPC API is exposed, by default, on port 9256 and contains methods for managing wallet, trades, offers and transactions.
  - name: Data Layer Wallet
    description: Methods for managing a data layer wallet.
  - name: Verified Credential
    description: Methods for managing verified credentials
externalDocs:
  description: Find out more about chia
  url: https://chia.net
paths:
  /create_new_dl:
    post:
      tags:
        - Data Layer Wallet
      summary: Initialize the new data layer wallets.
      description: Initialize the DataLayer Wallet (only one can exist).
      operationId: create_new_dl
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - root
              properties:
                root:
                  type: string
                  format: bytes32
                fee:
                  type: integer
                  format: uint64
                  default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    description: Response when the new data layer wallet is created.
                    properties:
                      transactions:
                        type: array
                        items:
                          type: object
                          description: Used for storing transaction data and status in wallets.
                          properties: &ref_5
                            confirmed_at_height:
                              type: integer
                              example: 2863494
                              format: uint32
                            created_at_time:
                              type: integer
                              example: 1669182237
                              format: uint64
                            to_puzzle_hash:
                              type: string
                              example: '0xb6ed191a2f80194f49fe33e9b9254642ca942ee287faeca2a45f4b96a5c0875a'
                              format: hex
                            amount:
                              type: integer
                              example: 100
                              format: uint64
                            fee_amount:
                              type: integer
                              example: 0
                              format: uint64
                            confirmed:
                              type: boolean
                              example: true
                            sent:
                              type: integer
                              example: 10
                              format: uint32
                            spend_bundle:
                              type: object
                              properties: &ref_8
                                aggregated_signature:
                                  type: string
                                  example: '0xa5e5ea1f5ae2335a72fe0a7ed7ca39e8f142e2e1f6e37a348482290e88eb9cea2d973acf6145e34d0afeee7ba22f99850641e21a549b2c092bb49aa393acd938825bccca9413c1a268ba44367bc8433cd0fc0eb82e87bebe23817aa695bdb566'
                                coin_spends:
                                  type: array
                                  example:
                                    - coin:
                                        amount: 1750000000000
                                        parent_coin_info: '0xccd5bb71183532bff220ba46c268991a00000000000000000000000000004082'
                                        puzzle_hash: '0x94c6db00186900418ef7c1f05e127ee1a647cbe6e514ec3bc57acb7bbe6dfb10'
                                      puzzle_reveal: '0xff02ffff01ff02ffff01ff02ffff03ff0bffff01ff02ffff03ffff09ff05ffff1dff0bffff1effff0bff0bffff02ff06ffff04ff02ffff04ff17ff8080808080808080ffff01ff02ff17ff2f80ffff01ff088080ff0180ffff01ff04ffff04ff04ffff04ff05ffff04ffff02ff06ffff04ff02ffff04ff17ff80808080ff80808080ffff02ff17ff2f808080ff0180ffff04ffff01ff32ff02ffff03ffff07ff0580ffff01ff0bffff0102ffff02ff06ffff04ff02ffff04ff09ff80808080ffff02ff06ffff04ff02ffff04ff0dff8080808080ffff01ff0bffff0101ff058080ff0180ff018080ffff04ffff01b0aec9c2e5984fe928406abca942d55ec6b56340af8315bfefa55889dbaade669b9fd3f330af2af44c2a0626d383e64757ff018080'
                                      solution: '0xff80ffff01ffff33ffa03fa549a708302b401c45cf387f8f03b4f76b7c9eabf567bea974f61dedf721e0ff840098968080ffff33ffa055b9fe4c9ce0cef8ad574bf5a9158dc0db7848b96be1a98ab2806d8f0a376a08ff860197738845808080ff8080'
                                  items:
                                    type: object
                                    properties: &ref_50
                                      coin:
                                        type: object
                                        properties: &ref_0
                                          parent_coin_info:
                                            type: string
                                            example: '0xccd5bb71183532bff220ba46c268991a00000000000000000000000000004082'
                                          puzzle_hash:
                                            type: string
                                            example: '0x94c6db00186900418ef7c1f05e127ee1a647cbe6e514ec3bc57acb7bbe6dfb10'
                                          amount:
                                            type: integer
                                            example: 1750000000000
                                            format: uint64
                                      puzzle_reveal:
                                        type: string
                                        example: '0xff02ffff01ff02ffff01ff02ffff03ff0bffff01ff02ffff03ffff09ff05ffff1dff0bffff1effff0bff0bffff02ff06ffff04ff02ffff04ff17ff8080808080808080ffff01ff02ff17ff2f80ffff01ff088080ff0180ffff01ff04ffff04ff04ffff04ff05ffff04ffff02ff06ffff04ff02ffff04ff17ff80808080ff80808080ffff02ff17ff2f808080ff0180ffff04ffff01ff32ff02ffff03ffff07ff0580ffff01ff0bffff0102ffff02ff06ffff04ff02ffff04ff09ff80808080ffff02ff06ffff04ff02ffff04ff0dff8080808080ffff01ff0bffff0101ff058080ff0180ff018080ffff04ffff01b0aec9c2e5984fe928406abca942d55ec6b56340af8315bfefa55889dbaade669b9fd3f330af2af44c2a0626d383e64757ff018080'
                                      solution:
                                        type: string
                                        example: '0xff80ffff01ffff33ffa03fa549a708302b401c45cf387f8f03b4f76b7c9eabf567bea974f61dedf721e0ff840098968080ffff33ffa055b9fe4c9ce0cef8ad574bf5a9158dc0db7848b96be1a98ab2806d8f0a376a08ff860197738845808080ff8080'
                            additions:
                              type: array
                              example:
                                - amount: 100
                                  parent_coin_info: '0xabbb6c6859db74e8e627f21263c078893383131bcf22faec68b2de914d03e59f'
                                  puzzle_hash: '0xb4a41bbce457745b006181ab99e34a0cbd8c83c196bc74fc98eb3aec882ed784'
                              items:
                                type: object
                                properties: *ref_0
                            removals:
                              type: array
                              example:
                                - amount: 100
                                  parent_coin_info: '0x9c0083d8da8733c899787e4dcf18a56bc944f49ed668808e20890f01cbc35f37'
                                  puzzle_hash: '0xb4a41bbce457745b006181ab99e34a0cbd8c83c196bc74fc98eb3aec882ed784'
                              items:
                                type: object
                                properties: *ref_0
                            wallet_id:
                              type: integer
                              example: 2
                              format: uint32
                            sent_to:
                              type: array
                              example: []
                              description: Represents the list of peers that we sent the transaction to, whether each one included it in the mempool, and what the error message (if any) was. List[Tuple[str, uint8, Optional[str]]]
                              items:
                                type: array
                                items:
                                  type: object
                                  anyOf:
                                    - type: string
                                    - type: integer
                                      format: uint8
                                    - type: string
                            trade_id:
                              type: string
                              example: null
                              format: hex
                            type:
                              type: integer
                              format: uint8
                              enum: &ref_46
                                - 0
                                - 1
                                - 2
                                - 3
                                - 4
                                - 5
                              description: |-
                                The type of transaction:
                                  * 0 INCOMING_TX
                                  * 1 OUTGOING_TX
                                  * 2 COINBASE_REWARD
                                  * 3 FEE_REWARD
                                  * 4 INCOMING_TRADE
                                  * 5 OUTGOING_TRADE
                            name:
                              type: string
                              example: '0x43f6811a4daf18622fc7f132f5166a1246056b4a983b7befccb7e4b2e2c57f3b'
                              format: hex
                            memos:
                              type: array
                              example: {}
                              description: List[Tuple[bytes32, List[bytes]]]
                              items:
                                type: object
                                anyOf:
                                  - type: string
                                    format: hex
                                  - type: array
                                    items:
                                      type: string
                                      format: hex
                      launcher_id:
                        type: string
                        format: hex
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: &ref_1
                      - success
                    properties: &ref_2
                      success:
                        type: boolean
                        description: Success/failure indicator
                      error:
                        type: string
                        description: Only present when success is false
  /dl_track_new:
    post:
      tags:
        - Data Layer Wallet
      summary: Track the new data layer wallet
      description: Track the new data layer wallet.
      operationId: dl_track_new
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - launcher_id
              properties:
                launcher_id:
                  type: string
                  format: bytes32
      responses:
        '200':
          description: OK response without return values
          content: &ref_3
            application/json:
              schema:
                type: object
                description: Success indicator and optional error message included in all responses
                required: *ref_1
                properties: *ref_2
  /dl_stop_tracking:
    post:
      tags:
        - Data Layer Wallet
      summary: Stop tracking the data layer wallets.
      description: Stop tracking the data layer wallet.
      operationId: dl_stop_tracking
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - launcher_id
              properties:
                launcher_id:
                  type: string
                  format: bytes32
      responses:
        '200':
          description: OK response without return values
          content: *ref_3
  /dl_latest_singleton:
    post:
      tags:
        - Data Layer Wallet
      summary: Get the singleton records that contain the specified root.
      description: Get the singleton records that contain the specified root.
      operationId: dl_latest_singleton
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - launcher_id
                - root
              properties:
                launcher_id:
                  type: string
                  format: bytes32
                root:
                  type: string
                  format: bytes32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      singleton:
                        type: object
                        properties: &ref_4
                          parent_name:
                            type: string
                            example: '0xc2347b264b412bde5893f4e1369adab3a6c61496845c10f8ec98bc35f9e1429f'
                            format: bytes32
                          inner_puzzle_hash:
                            type: string
                            example: '0x60f66f9824d5f96d4025b70b4f7ac3def458cae742fbd2d70343eeeaa5a59c58'
                            format: bytes32
                          amount:
                            type: integer
                            example: 1
                            format: uint64
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /dl_singletons_by_root:
    post:
      tags:
        - Data Layer Wallet
      summary: Get the singleton records that contain the specified root.
      description: Get the singleton records that contain the specified root.
      operationId: dl_singletons_by_root
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - launcher_id
                - root
              properties:
                launcher_id:
                  type: string
                  format: bytes32
                root:
                  type: string
                  format: bytes32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      singleton:
                        type: array
                        items:
                          type: object
                          properties: &ref_6
                            coin_id:
                              type: string
                              example: '0x70e75ede3b9ba91ab4b91bc5efea8946fde60518becdce40e2cf6800ff173245'
                              format: bytes32
                            launcher_id:
                              type: string
                              example: '0x4aecd65d5fd0dcac59ef41ad5a74134e38b3e8334aebb1356972b7e9c793a09e'
                              format: bytes32
                            root:
                              type: string
                              example: '0x0000000000000000000000000000000000000000000000000000000000000000'
                              format: bytes32
                            inner_puzzle_hash:
                              type: string
                              example: '0x607b04952b317c81eb21ba96ff5f62adb58621f89d5fe6240f6e83d4395998c5'
                              format: bytes32
                            confirmed:
                              type: boolean
                              example: true
                            confirmed_at_height:
                              type: integer
                              example: 2872567
                              format: uint32
                            lineage_proof:
                              type: object
                              properties: *ref_4
                            generation:
                              type: integer
                              example: 1
                              format: uint32
                            timestamp:
                              type: integer
                              example: 1669352585
                              format: uint64
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /dl_update_root:
    post:
      tags:
        - Data Layer Wallet
      summary: Update a data layer root.
      description: Update a data layer root.
      operationId: dl_update_root
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - launcher_id
                - new_root
              properties:
                launcher_id:
                  type: string
                  format: bytes32
                new_root:
                  type: string
                  format: bytes32
                fee:
                  type: integer
                  format: uint64
                  default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      tx_record:
                        type: object
                        description: Used for storing transaction data and status in wallets.
                        properties: *ref_5
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /dl_update_multiple:
    post:
      tags:
        - Data Layer Wallet
      summary: Update multiple singletons with new merkle roots.
      description: Update multiple singletons with new merkle roots.
      operationId: dl_update_multiple
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - updates
                - new_root
              properties:
                updates:
                  type: array
                  items:
                    type: object
                    required:
                      - root
                      - launcher
                    properties:
                      root:
                        type: string
                        format: bytes32
                      launcher:
                        type: string
                        format: bytes32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      tx_records:
                        type: array
                        items:
                          type: object
                          description: Used for storing transaction data and status in wallets.
                          properties: *ref_5
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /dl_history:
    post:
      tags:
        - Data Layer Wallet
      summary: Get the singleton record for the latest singleton of a launcher ID.
      description: Get the singleton record for the latest singleton of a launcher ID.
      operationId: dl_history
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - launcher_id
              properties:
                launcher_id:
                  type: string
                  format: bytes32
                min_generation:
                  type: integer
                  format: uint32
                max_generation:
                  type: integer
                  format: uint32
                num_results:
                  type: integer
                  format: uint32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      count:
                        type: integer
                      history:
                        type: array
                        items:
                          type: object
                          properties: *ref_6
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /dl_owned_singletons:
    post:
      tags:
        - Data Layer Wallet
      summary: Get all owned singleton records.
      description: Get all owned singleton records.
      operationId: dl_owned_singletons
      requestBody:
        description: Empty request body
        required: true
        content: &ref_7
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      history:
                        type: array
                        items:
                          type: object
                          properties: *ref_6
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /dl_get_mirrors:
    post:
      tags:
        - Data Layer Wallet
      summary: Get all of the mirrors for a specific singleton.
      description: Get all of the mirrors for a specific singleton.
      operationId: dl_get_mirrors
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - launcher_id
              properties:
                launcher_id:
                  type: string
                  format: bytes32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      mirrors:
                        type: array
                        items:
                          type: object
                          properties: &ref_41
                            coin_id:
                              type: string
                              example: b5756487c17fe3a2628e45a9d3d42e89231af718bb1735e6c8441e07ec005f9d
                              format: bytes32
                            launcher_id:
                              type: string
                              example: 1a119374fc7d7055d3419fdcd7f93065f28a1e4acacdf9c73b933b27b685550f
                              format: bytes32
                            amount:
                              type: integer
                              example: 1000
                              format: uint64
                            urls:
                              type: array
                              example:
                                - http://www.example.com:8575
                                - http://www.example2.com:8575
                              items:
                                type: string
                                example: http://www.example.com:8575
                            ours:
                              type: boolean
                              example: true
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /dl_new_mirror:
    post:
      tags:
        - Data Layer Wallet
      summary: Add a new on chain message for a specific singleton.
      description: Add a new on chain message for a specific singleton
      operationId: dl_new_mirror
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - launcher_id
                - amount
                - urls
              properties:
                launcher_id:
                  type: string
                  format: bytes32
                amount:
                  type: integer
                  format: uint64
                urls:
                  type: array
                  items:
                    type: string
                    format: bytes32
                fee:
                  type: integer
                  format: uint64
                  default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      transactions:
                        type: array
                        items:
                          type: object
                          description: Used for storing transaction data and status in wallets.
                          properties: *ref_5
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /dl_delete_mirror:
    post:
      tags:
        - Data Layer Wallet
      summary: Remove an existing mirror for a specific singleton.
      description: Remove an existing mirror for a specific singleton.
      operationId: dl_delete_mirror
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - coin_id
              properties:
                coin_id:
                  type: string
                  format: bytes32
                fee:
                  type: integer
                  format: uint64
                  default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      transactions:
                        type: array
                        items:
                          type: object
                          description: Used for storing transaction data and status in wallets.
                          properties: *ref_5
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /stop_node:
    post:
      tags:
        - Shared
      summary: Stop the node.
      description: Stop the node.
      operationId: stop_node
      requestBody:
        description: Empty request body
        required: true
        content: *ref_7
      responses:
        '200':
          description: OK response without return values
          content: *ref_3
  /open_connection:
    post:
      tags:
        - Shared
      summary: Add a connection to another node.
      description: Add a connection to another node.
      operationId: open_connection
      requestBody:
        required: true
        description: the address of the connection
        content:
          application/json:
            schema:
              type: object
              required:
                - ip
                - port
              properties:
                ip:
                  type: string
                  format: ipaddress
                port:
                  type: integer
      responses:
        '200':
          description: OK response without return values
          content: *ref_3
  /close_connection:
    post:
      tags:
        - Shared
      summary: Removes a connection.
      description: Removes a connection.
      operationId: close_connection
      requestBody:
        required: true
        description: the node id of the connection
        content:
          application/json:
            schema:
              type: object
              required:
                - node_id
              properties:
                node_id:
                  type: string
      responses:
        '200':
          description: OK response without return values
          content: *ref_3
  /get_connections:
    post:
      tags:
        - Shared
      summary: Retrieve the list of connections.
      description: Retrieve the list of connections.
      operationId: get_connections
      requestBody:
        description: Empty request body
        required: true
        content: *ref_7
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      connections:
                        type: array
                        items:
                          type: object
                          description: Chia's representation of a connection from node to node.
                          properties: &ref_38
                            bytes_read:
                              type: integer
                              format: uint32
                              nullable: true
                            bytes_written:
                              type: integer
                              format: uint32
                              nullable: true
                            creation_time:
                              type: number
                              format: double
                            last_message_time:
                              type: number
                              format: double
                            local_port:
                              type: integer
                              format: int32
                            node_id:
                              type: string
                            peak_hash:
                              type: string
                            peak_height:
                              type: integer
                              format: uint64
                              nullable: true
                            peak_weight:
                              type: integer
                              format: uint64
                              nullable: true
                            peer_host:
                              type: string
                            peer_port:
                              type: integer
                              format: int32
                            peer_server_port:
                              type: integer
                              format: int32
                            type:
                              type: integer
                              enum: &ref_51
                                - 1
                                - 2
                                - 3
                                - 4
                                - 5
                                - 6
                                - 7
                              description: |-
                                The type of node:
                                  * 1 FULL_NODE
                                  * 2 HARVESTER
                                  * 3 FARMER
                                  * 4 TIMELORD
                                  * 5 INTRODUCER
                                  * 6 WALLET
                                  * 7 DATA_LAYER
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /healthz:
    post:
      tags:
        - Shared
      summary: Heartbeat.
      description: Heartbeat.
      operationId: healthz
      requestBody:
        description: Empty request body
        required: true
        content: *ref_7
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                description: Success indicator and optional error message included in all responses
                required: *ref_1
                properties: *ref_2
  /get_routes:
    post:
      tags:
        - Shared
      summary: Retrieve the list of routes exposed by the service.
      description: Retrieve the list of routes/endpoints exposed by the service.
      operationId: get_routes
      requestBody:
        description: Empty request body
        required: true
        content: *ref_7
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      routes:
                        type: array
                        items:
                          type: string
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /nft_mint_bulk:
    post:
      tags:
        - NFT Wallet
      description: Mints NFTs in bulk.
      summary: Mints NFTs in bulk.
      operationId: nft_mint_bulk
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
                - metadata_list
              properties:
                metadata_list:
                  description: A list of dicts containing the metadata for each NFT to be minted
                  type: array
                  items:
                    type: object
                    required:
                      - uris
                      - meta_uris
                    properties:
                      uris:
                        type: array
                        items:
                          type: string
                          format: uri
                      meta_uris:
                        type: array
                        items:
                          type: string
                          format: uri
                      license_uris:
                        type: array
                        items:
                          type: string
                          format: uri
                      hash:
                        type: string
                        format: hex
                      meta_hash:
                        type: string
                        format: hex
                      license_hash:
                        type: string
                        format: hex
                      edition_number:
                        type: integer
                        format: uint64
                        default: 1
                      edition_total:
                        type: integer
                        format: uint64
                        default: 1
                wallet_id:
                  type: integer
                  format: uint32
                royalty_address:
                  type: string
                  format: hex
                royalty_percentage:
                  type: integer
                  format: uint16
                  default: 0
                target_list:
                  description: a list of targets for transferring minted NFTs (aka airdrop)
                  type: array
                  items:
                    type: string
                    format: hex
                mint_number_start:
                  description: The starting point for mint number used in intermediate launcher puzzle
                  type: integer
                  default: 1
                mint_total:
                  description: The total number of NFTs being minted
                  type: integer
                xch_coins:
                  description: For use with bulk minting to provide the coin used for funding the minting spend. This coin can be one that will be created in the future
                  type: array
                  items:
                    type: object
                    properties: *ref_0
                xch_change_target:
                  description: For use with bulk minting, so we can specify the puzzle hash that the change from the funding transaction goes to.
                  type: string
                  format: hex
                new_innerpuzhash:
                  type: string
                  format: hex
                new_p2_puzhash:
                  type: string
                  format: hex
                did_coin:
                  type: object
                  properties: *ref_0
                did_lineage_parent_hex:
                  type: string
                  format: hex
                mint_from_did:
                  type: boolean
                  default: false
                fee:
                  type: integer
                  format: uint64
                  default: 0
                reuse_puzhash:
                  type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      spend_bundle:
                        type: object
                        properties: *ref_8
                      nft_id_list:
                        type: array
                        items:
                          type: string
                          format: hex
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /nft_mint_nft:
    post:
      tags:
        - NFT Wallet
      description: Mints an NFT.
      summary: Mints an NFT.
      operationId: nft_mint_nft
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
                - uris
                - hash
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                royalty_address:
                  type: string
                  format: hex
                target_address:
                  type: string
                  format: hex
                uris:
                  type: array
                  items:
                    type: string
                    format: uri
                meta_uris:
                  type: array
                  items:
                    type: string
                    format: uri
                license_uris:
                  type: array
                  items:
                    type: string
                    format: uri
                hash:
                  type: string
                  format: hex
                edition_number:
                  type: integer
                  format: uint64
                  default: 1
                edition_total:
                  type: integer
                  format: uint64
                  default: 1
                fee:
                  type: integer
                  format: uint64
                  default: 0
                meta_hash:
                  type: string
                  format: hex
                license_hash:
                  type: string
                  format: hex
                did_id:
                  type: string
                royalty_percentage:
                  type: integer
                  format: uint16
                  default: 0
                reuse_puzhash:
                  type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                      spend_bundle:
                        type: object
                        properties: *ref_8
                      nft_id:
                        type: string
                        format: hex
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /nft_get_nfts:
    post:
      tags:
        - NFT Wallet
      summary: Gets NFTs from a wallet.
      description: Gets NFTs from a wallet.
      operationId: nft_get_nfts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                start_index:
                  type: integer
                  format: uint32
                  default: 0
                num:
                  type: integer
                  format: uint32
                  default: 0
                ignore_size_limit:
                  type: boolean
                  default: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                      nft_list:
                        type: array
                        items:
                          type: object
                          description: NFT Info for displaying NFT on the UI
                          properties: &ref_9
                            launcher_id:
                              type: string
                              example: '0x821fdd13fe209466f1c69d82eb951cf630d28e901c2e14285d8a574dbde034c4'
                              format: hex
                            nft_coin_id:
                              type: string
                              example: '0x9bcf429079bd8e394658a3f0c43c6641c9f92d0dcc1770eeb6be6588a49fc925'
                              format: hex
                            owner_did:
                              type: string
                              example: '0xd590645dc77e25f22ffe37846e73868a99179d33de11648efaa286bc341936ea'
                            royalty_percentage:
                              type: integer
                              example: 300
                              format: uint16
                              description: Percentage of the transaction fee paid to the author, e.g. 1000 = 1%
                            royalty_puzzle_hash:
                              type: string
                              example: '0x0fe4e859760b755980c9a92c91459b75eb4f02135ace8d2731eca0e89ceef1fb'
                              format: hex
                            data_uris:
                              type: array
                              example:
                                - https://images.pexels.com/photos/11053072/pexels-photo-11053072.jpeg
                              items:
                                type: string
                                example: https://images.pexels.com/photos/11053072/pexels-photo-11053072.jpeg
                                format: uri
                            data_hash:
                              type: string
                              example: '0x14836b86a48e1b2b5e857213af97534704475b4c155d34b2cb83ed4b7cba2bb0'
                              format: hex
                            metadata_uris:
                              type: array
                              example:
                                - https://metadata_example.com
                                - https://metadata_example2.com
                              items:
                                type: string
                                example: https://metadata_example.com
                                format: uri
                            metadata_hash:
                              type: string
                              example: '0x868463c2ae6f8a9585156c9ad9f4b9b01eeacc56fec82aa629c97135ff21823e'
                              format: hex
                            license_uris:
                              type: array
                              example:
                                - https://license_example.com
                                - https://license_example2.com
                              items:
                                type: string
                                example: https://license_example.com
                                format: uri
                            license_hash:
                              type: string
                              example: '0x358d4eb4aedefbec22824036299eff24216d213a95c8f986f862f0a89a250a82'
                              format: hex
                            edition_total:
                              type: integer
                              format: uint64
                            edition_number:
                              type: integer
                              format: uint64
                            updater_puzhash:
                              type: string
                              example: '0xfe8a4b4e27a2e29a4d3fc7ce9d527adbcaccbab6ada3903ccf3ba9a769d2d78b'
                              format: hex
                            chain_info:
                              type: string
                              example: ((117 "https://images.pexels.com/photos/11053072/pexels-photo-11053072.jpeg") (104 . 0x14836b86a48e1b2b5e857213af97534704475b4c155d34b2cb83ed4b7cba2bb0) (28021 "https://metadata_example.com", "https://metadata_example2.com") (27765 "https://license_example.com", "https://license_example2.com") (29550 . 1) (29556 . 5) (28008 . 0x868463c2ae6f8a9585156c9ad9f4b9b01eeacc56fec82aa629c97135ff21823e) (27752 . 0x358d4eb4aedefbec22824036299eff24216d213a95c8f986f862f0a89a250a82))
                            mint_height:
                              type: integer
                              example: 1127304
                              format: uint32
                            supports_did:
                              type: boolean
                              example: true
                            pending_transaction:
                              type: boolean
                              example: false
                              default: false
                            launcher_puzhash:
                              type: string
                              example: '0xeff07522495060c066f66f32acc2a77e3a3e737aca8baea4d1a64ea4cdc13da9'
                              format: hex
                            minter_did:
                              type: string
                              example: '0x963a2fbab5032f6996e56b5ef722badc1b10ed443bb72aaa2fc0ccf98f643f0e'
                              format: hex
                            off_chain_metadata:
                              type: string
                              description: Serialized off-chain metadata
                            p2_address:
                              type: string
                              description: The innermost puzzle hash of the NFT
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /nft_set_nft_did:
    post:
      tags:
        - NFT Wallet
      summary: Sets the DID of an NFT.
      description: Sets the DID of an NFT.
      operationId: nft_set_nft_did
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
                - did_id
                - nft_coin_id
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                did_id:
                  type: string
                nft_coin_id:
                  type: string
                  format: hex
                fee:
                  type: integer
                  format: uint64
                  default: 0
                reuse_puzhash:
                  type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                      spend_bundle:
                        type: object
                        properties: *ref_8
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /nft_get_by_did:
    post:
      tags:
        - NFT Wallet
      summary: Gets an NFT wallet by its DID.
      description: Gets an NFT wallet by its DID.
      operationId: nft_get_by_did
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - did_id
              properties:
                did_id:
                  type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /nft_get_wallet_did:
    post:
      tags:
        - NFT Wallet
      summary: Gets the DID for an NFT wallet.
      description: Gets the DID for an NFT wallet.
      operationId: nft_get_wallet_did
      requestBody:
        description: Request body with the Id of a wallet
        required: true
        content: &ref_10
          application/json:
            schema:
              type: object
              required:
                - wallet_id
              properties:
                wallet_id:
                  type: integer
                  format: uint32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      did_id:
                        type: string
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /nft_get_wallets_with_dids:
    post:
      tags:
        - NFT Wallet
      summary: Gets all the wallets with a DID.
      description: Gets all the wallets with a DID.
      operationId: nft_get_wallets_with_dids
      requestBody:
        description: Empty request body
        required: true
        content: *ref_7
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      nft_wallets:
                        type: array
                        items:
                          type: object
                          properties:
                            wallet_id:
                              type: integer
                              format: uint32
                            did_id:
                              type: string
                            did_wallet_id:
                              type: integer
                              format: uint32
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /nft_set_nft_status:
    post:
      tags:
        - NFT Wallet
      summary: Sets the status of an NFT.
      description: Sets the status of an NFT.
      operationId: nft_set_nft_status
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
                - coin_id
                - in_transaction
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                coin_id:
                  type: string
                  format: hex
                in_transaction:
                  type: boolean
      responses:
        '200':
          description: OK response without return values
          content: *ref_3
  /nft_transfer_nft:
    post:
      tags:
        - NFT Wallet
      summary: Transfers an NFT to another address.
      description: Transfers an NFT to another address.
      operationId: nft_transfer_nft
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
                - target_address
                - nft_coin_id
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                target_address:
                  type: string
                  format: hex
                nft_coin_id:
                  type: string
                  format: hex
                fee:
                  type: integer
                  format: uint64
                  default: 0
                reuse_puzhash:
                  type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                      spend_bundle:
                        type: object
                        properties: *ref_8
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /nft_calculate_royalties:
    post:
      tags:
        - NFT Wallet
      summary: Transfers an NFT to another address.
      description: Transfers an NFT to another address.
      operationId: nft_calculate_royalties
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                royalty_assets:
                  type: array
                  items:
                    type: object
                    properties:
                      asset:
                        type: string
                        format: hex
                      royalty_address:
                        type: string
                        format: hex
                      royalty_percentage:
                        type: integer
                        format: uint16
                fungible_assets:
                  type: array
                  items:
                    type: object
                    properties:
                      asset:
                        type: string
                        format: hex
                      amount:
                        type: integer
                        format: uint64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    additionalProperties:
                      type: array
                      items:
                        type: object
                        properties:
                          asset:
                            type: string
                            format: hex
                          address:
                            type: string
                            format: hex
                          amount:
                            type: integer
                            format: uint64
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /nft_get_info:
    post:
      tags:
        - NFT Wallet
      summary: Gets info about an NFT.
      description: Gets info about an NFT.
      operationId: nft_get_info
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - coin_id
              properties:
                coin_id:
                  type: string
                  format: hex
                latest:
                  type: boolean
                  default: true
                ignore_size_limit:
                  type: boolean
                  default: false
                reuse_puzhash:
                  type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      nft_info:
                        type: object
                        description: NFT Info for displaying NFT on the UI
                        properties: *ref_9
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /nft_add_uri:
    post:
      tags:
        - NFT Wallet
      summary: Adds an Uri to an NFT.
      description: Adds a Uri to an NFT.
      operationId: nft_add_uri
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
                - uri
                - key
                - nft_coin_id
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                uri:
                  type: string
                  format: uri
                key:
                  type: string
                  enum:
                    - u
                    - mu
                    - lu
                  description: |-
                    The type of uri:
                      * u Uri for the NFT data
                      * mu Uri for NFT metadata
                      * lu Uri for the NFT license
                nft_coin_id:
                  type: string
                  format: hex
                fee:
                  type: integer
                  format: uint64
                  default: 0
                reuse_puzhash:
                  type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                      spend_bundle:
                        type: object
                        properties: *ref_8
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /did_create_backup_file:
    post:
      tags:
        - DID Wallet
      summary: Creates a backup file for the given DID wallet.
      description: Creates a backup file for the given DID wallet.
      operationId: did_create_backup_file
      requestBody:
        description: Request body with the Id of a wallet
        required: true
        content: *ref_10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                      backup_data:
                        type: string
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /did_transfer_did:
    post:
      tags:
        - DID Wallet
      summary: Transfer a DID to another owner.
      description: Transfer the given DID wallet to another owner.
      operationId: did_transfer_did
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
                - inner_address
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                inner_address:
                  type: string
                  format: hex
                fee:
                  type: integer
                  format: uint64
                  default: 0
                with_recovery_info:
                  type: boolean
                  default: true
                reuse_puzhash:
                  type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      transaction:
                        type: object
                        description: Used for storing transaction data and status in wallets.
                        properties: *ref_5
                      transaction_id:
                        type: string
                        format: hex
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /did_get_information_needed_for_recovery:
    post:
      tags:
        - DID Wallet
      summary: Retrieves the recovery information needed for the given DID wallet.
      description: Retrieves the recovery information needed for the given DID wallet.
      operationId: did_get_information_needed_for_recovery
      requestBody:
        description: Request body with the Id of a wallet
        required: true
        content: *ref_10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                      my_did:
                        type: string
                      coin_name:
                        type: string
                      newpuzhash:
                        type: string
                      pubkey:
                        type: string
                      backup_dids:
                        type: array
                        items:
                          type: string
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /did_create_attest:
    post:
      tags:
        - DID Wallet
      summary: Creates an attestment for the given DID wallet.
      description: Creates an attestment for the given DID wallet.
      operationId: did_create_attest
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
                - coin_name
                - pubkey
                - puzhash
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                coin_name:
                  type: string
                  format: hex
                pubkey:
                  type: string
                  format: hex
                puzhash:
                  type: string
                  format: hex
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      message_spend_bundle:
                        type: string
                        format: hex
                      info:
                        type: array
                        items:
                          oneOf:
                            - type: string
                              format: hex
                            - type: string
                              format: hex
                            - type: integer
                              format: uint64
                          minItems: 3
                          maxItems: 3
                      attest_data:
                        type: string
                        format: hex
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /did_get_pubkey:
    post:
      tags:
        - DID Wallet
      summary: Retrieves the public key for the given DID wallet.
      description: Retrieves the public key for the given DID wallet.
      operationId: did_get_pubkey
      requestBody:
        description: Request body with the Id of a wallet
        required: true
        content: *ref_10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      pubkey:
                        type: string
                        format: hex
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /did_get_current_coin_info:
    post:
      tags:
        - DID Wallet
      summary: Gets information about the DID wallets current coin.
      description: Gets information about the DID wallets current coin.
      operationId: did_get_current_coin_info
      requestBody:
        description: Request body with the Id of a wallet
        required: true
        content: *ref_10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                      my_did:
                        type: string
                        format: hex
                      did_parent:
                        type: string
                        format: hex
                      did_innerpuz:
                        type: string
                        format: hex
                      did_amount:
                        type: integer
                        format: uint64
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /did_recovery_spend:
    post:
      tags:
        - DID Wallet
      summary: Spend from the given DID wallet.
      description: Spend from the given DID wallet.
      operationId: did_recovery_spend
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
                - attest_data
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                attest_data:
                  type: array
                  items:
                    type: string
                pubkey:
                  type: string
                  format: hex
                puzhash:
                  type: string
                  format: hex
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      spend_bundle:
                        type: object
                        properties: *ref_8
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /did_get_recovery_list:
    post:
      tags:
        - DID Wallet
      summary: Retrieves the recovery list for a given DID wallet.
      description: Retrieves the recovery list for a given DID wallet.
      operationId: did_get_recovery_list
      requestBody:
        description: Request body with the Id of a wallet
        required: true
        content: *ref_10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                      recover_list:
                        type: array
                        items:
                          type: string
                          format: hex
                      num_required:
                        type: integer
                        format: uint64
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /did_get_did:
    post:
      tags:
        - DID Wallet
      summary: Retrieves the distributed identity for a given wallet.
      description: Retrieves the distributed identity for a given wallet.
      operationId: did_get_did
      requestBody:
        description: Request body with the Id of a wallet
        required: true
        content: *ref_10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                      my_did:
                        type: string
                      coin_id:
                        type: string
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /did_update_recovery_ids:
    post:
      tags:
        - DID Wallet
      summary: Updates the recovery ids for a DID wallet.
      description: Updates the recovery ids for a DID wallet.
      operationId: did_update_recovery_ids
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
                - new_list
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                new_list:
                  type: array
                  items:
                    type: string
                    format: hex
                num_verifications_required:
                  type: integer
                  format: uint64
                reuse_puzhash:
                  type: boolean
      responses:
        '200':
          description: OK response without return values
          content: *ref_3
  /did_set_wallet_name:
    post:
      tags:
        - DID Wallet
      summary: Sets the name of a DID wallet.
      description: Sets the name of a DID wallet.
      operationId: did_set_wallet_name
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
                - name
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                name:
                  type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
  /did_get_wallet_name:
    post:
      tags:
        - DID Wallet
      summary: Gets the name of a DID wallet.
      description: Gets the name of a DID wallet.
      operationId: did_get_wallet_name
      requestBody:
        description: Request body with the Id of a wallet
        required: true
        content: *ref_10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                      name:
                        type: string
  /did_update_metadata:
    post:
      tags:
        - DID Wallet
      summary: Updates the metadata for a DID wallet.
      description: Updates the metadata for a DID wallet.
      operationId: did_update_metadata
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                fee:
                  type: integer
                  format: uint64
                  default: 0
                reuse_puzhash:
                  type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                      spend_bundle:
                        type: object
                        properties: *ref_8
  /did_get_metadata:
    post:
      tags:
        - DID Wallet
      summary: Gets the metadata of a DID wallet.
      description: Gets the metadata of a DID wallet.
      operationId: did_get_metadata
      requestBody:
        description: Request body with the Id of a wallet
        required: true
        content: *ref_10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                      metadata:
                        type: object
                        additionalProperties:
                          type: string
  /take_offer:
    post:
      tags:
        - CAT Wallet
      summary: Takes an offer.
      description: Takes an offer.
      operationId: take_offer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - offer
              properties:
                offer:
                  type: string
                  format: hex
                fee:
                  type: integer
                  format: uint64
                  default: 0
                min_coin_amount:
                  type: integer
                  format: uint64
                  default: 0
                max_coin_amount:
                  type: integer
                  format: uint64
                  default: 0
                solver:
                  type: object
                  additionalProperties:
                    type: object
                reuse_puzhash:
                  type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      trade_record:
                        type: object
                        description: Used for storing transaction data and status in wallets.
                        properties: &ref_11
                          confirmed_at_height:
                            type: integer
                            format: uint32
                          accepted_at_time:
                            type: integer
                            example: null
                            format: uint64
                            nullable: true
                          created_at_time:
                            type: integer
                            example: 1669275137
                            format: uint64
                          is_my_offer:
                            type: boolean
                            example: true
                          sent:
                            type: integer
                            example: 0
                            format: uint32
                          offer:
                            type: string
                          taken_offer:
                            type: string
                            example: null
                          coins_of_interest:
                            type: array
                            example:
                              - amount: 999999
                                parent_coin_info: '0x60a8b06515aaefe74236eb234130d769a1b65c99706414901277926fe29c3360'
                                puzzle_hash: '0xad5de77c7da1316b9b72708d17dbb8937855d740ebaf85669b8bd925275e8d49'
                            items:
                              type: object
                              properties: *ref_0
                          trade_id:
                            type: string
                            example: '0x84d14398c1a38f376953bf8fa76cbee0d3216b382266d38b5612f17e96bcd1de'
                            format: hex
                          status:
                            type: integer
                            enum: &ref_52
                              - 0
                              - 1
                              - 2
                              - 3
                              - 4
                              - 5
                            description: 'The status of a trade: * 0 PENDING_ACCEPT * 1 PENDING_CONFIRM * 2 PENDING_CANCEL * 3 CANCELLED * 4 CONFIRMED * 5 FAILED'
                          sent_to:
                            type: array
                            example: []
                            description: Represents the list of peers that we sent the transaction to, whether each one included it in the mempool, and what the error message (if any) was. List[Tuple[str, uint8, Optional[str]]]
                            items:
                              type: array
                              items:
                                type: object
                                anyOf:
                                  - type: string
                                  - type: integer
                                    format: uint8
                                  - type: string
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_offers_count:
    post:
      tags:
        - CAT Wallet
      summary: Retrieves the number of offers.
      description: Retrieves the number of offers.
      operationId: get_offers_count
      requestBody:
        description: Empty request body
        required: true
        content: *ref_7
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      total:
                        type: integer
                      my_offers_count:
                        type: integer
                      taken_offers_count:
                        type: integer
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_cat_list:
    post:
      tags:
        - CAT Wallet
      summary: Retrieves the list of CATs.
      description: Retrieves the list of CATs.
      operationId: get_cat_list
      requestBody:
        description: Empty request body
        required: true
        content: *ref_7
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      cat_list:
                        type: array
                        description: Default list of CATs
                        items:
                          type: object
                          description: Information about a CAT
                          properties: &ref_39
                            asset_id:
                              type: string
                              example: a628c1c2c6fcb74d53746157e438e108eab5c0bb3e5c80ff9b1910b3e4832913
                            name:
                              type: string
                              example: Spacebucks
                            symbol:
                              type: string
                              example: SBX
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /cancel_offer:
    post:
      tags:
        - CAT Wallet
      summary: Cancels an offer.
      description: Cancels an offer.
      operationId: cancel_offer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - trade_id
                - secure
              properties:
                trade_id:
                  type: string
                  format: hex
                fee:
                  type: integer
                  format: uint64
                  default: 0
                secure:
                  type: boolean
      responses:
        '200':
          description: OK response without return values
          content: *ref_3
  /cancel_offers:
    post:
      tags:
        - CAT Wallet
      summary: Cancels multiple offers.
      description: Cancels multiple offers.
      operationId: cancel_offers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - secure
              properties:
                batch_fee:
                  type: integer
                  format: uint64
                  default: 0
                secure:
                  type: boolean
                batch_size:
                  type: integer
                  format: int32
                  default: 5
                cancel_all:
                  type: boolean
                  default: false
                asset_id:
                  type: string
                  default: xch
      responses:
        '200':
          description: OK response without return values
          content: *ref_3
  /select_coins:
    post:
      tags:
        - CAT Wallet
      summary: Returns a set of coins that can be used for generating a new transaction.
      description: Returns a set of coins that can be used for generating a new transaction.
      operationId: select_coins
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
                - amount
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                amount:
                  type: integer
                  format: uint64
                min_coin_amount:
                  type: integer
                  format: uint64
                  default: 0
                excluded_coins:
                  type: array
                  items:
                    type: object
                    properties: *ref_0
                max_coin_amount:
                  type: integer
                  format: uint64
                  default: 0
                excluded_coin_amounts:
                  type: array
                  items:
                    type: integer
                    format: uint64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      coins:
                        type: array
                        items:
                          type: object
                          properties: *ref_0
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_offer:
    post:
      tags:
        - CAT Wallet
      summary: Retrieves an offer.
      description: Retrieves an offer.
      operationId: get_offer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - trade_id
              properties:
                trade_id:
                  type: string
                  format: hex
                file_contents:
                  type: boolean
                  description: Indicator as to whether to return the offer contents
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      trade_record:
                        type: object
                        description: Used for storing transaction data and status in wallets.
                        properties: *ref_11
                      offer:
                        type: string
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_all_offers:
    post:
      tags:
        - CAT Wallet
      summary: Retrieves offers.
      description: Retrieves offers.
      operationId: get_all_offers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                start:
                  type: integer
                  default: 0
                end:
                  type: integer
                  default: 10
                exclude_my_offers:
                  type: boolean
                exclude_taken_offers:
                  type: boolean
                include_completed:
                  type: boolean
                sort_key:
                  type: string
                reverse:
                  type: boolean
                file_contents:
                  type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      trade_records:
                        type: array
                        items:
                          type: object
                          description: Used for storing transaction data and status in wallets.
                          properties: *ref_11
                      offers:
                        type: array
                        items:
                          type: string
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /check_offer_validity:
    post:
      tags:
        - CAT Wallet
      summary: Checks the validity of an offer.
      description: Checks the validity of an offer.
      operationId: check_offer_validity
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - offer
              properties:
                offer:
                  type: string
                  format: hex
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      valid:
                        type: boolean
                      id:
                        type: string
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_offer_summary:
    post:
      tags:
        - CAT Wallet
      summary: Get the summary of a given offer.
      description: Get the summary of a given offer.
      operationId: get_offer_summary
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - offer
              properties:
                offer:
                  type: string
                  format: hex
                advanced:
                  type: boolean
                  default: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      id:
                        type: string
                      summary:
                        properties:
                          offered:
                            type: object
                            additionalProperties:
                              type: integer
                              format: uint64
                          requested:
                            type: object
                            additionalProperties:
                              type: integer
                              format: uint64
                          fees:
                            type: integer
                            format: uint64
                          infos:
                            type: object
                            additionalProperties:
                              type: object
                              additionalProperties: true
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /create_offer_for_ids:
    post:
      tags:
        - CAT Wallet
      summary: Creates an offer.
      description: Creates an offer for the given set of wallet id and amount pairs.
      operationId: create_offer_for_ids
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - offer
              properties:
                offer:
                  type: object
                  additionalProperties:
                    type: integer
                fee:
                  type: integer
                  format: uint64
                  default: 0
                validate_only:
                  type: boolean
                  default: false
                driver_dict:
                  type: object
                  additionalProperties:
                    type: string
                min_coin_amount:
                  type: integer
                  format: uint128
                  default: 0
                max_coin_amount:
                  type: integer
                  format: uint128
                  default: 0
                solver:
                  type: object
                  additionalProperties:
                    type: object
                reuse_puzhash:
                  type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      offer:
                        type: string
                      trade_record:
                        type: object
                        description: Used for storing transaction data and status in wallets.
                        properties: *ref_11
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /cat_asset_id_to_name:
    post:
      tags:
        - CAT Wallet
      summary: Gets the name and wallet id associated with an asset id.
      description: Gets the name and wallet id associated with an asset id.
      operationId: cat_asset_id_to_name
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - asset_id
              properties:
                asset_id:
                  type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                      name:
                        type: string
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /cat_get_asset_id:
    post:
      tags:
        - CAT Wallet
      summary: Gets the asset id of the CAT wallet.
      description: Gets the asset id of the CAT wallet.
      operationId: cat_get_asset_id
      requestBody:
        description: Request body with the Id of a wallet
        required: true
        content: *ref_10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                      asset_id:
                        type: string
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /cat_spend:
    post:
      tags:
        - CAT Wallet
      summary: Spends an amount from the given wallet.
      description: Spends an amount from the given wallet.
      operationId: cat_spend
      requestBody:
        description: Request body with the Id of a wallet.
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
                - amount
                - inner_address
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                coins:
                  type: array
                  items:
                    type: object
                    properties: *ref_0
                amount:
                  type: integer
                  format: uint64
                fee:
                  type: integer
                  format: uint64
                  default: 0
                inner_address:
                  type: string
                  format: hex
                memos:
                  type: array
                  items:
                    type: string
                min_coin_amount:
                  type: integer
                  format: uint128
                  default: 0
                max_coin_amount:
                  type: integer
                  format: uint128
                  default: 0
                excluded_coin_amounts:
                  type: array
                  items:
                    type: integer
                    format: uint64
                excluded_coin_ids:
                  type: array
                  items:
                    type: string
                    format: hex
                reuse_puzhash:
                  type: boolean
      responses:
        '200':
          description: OK response with a transaction record and a transaction id.
          content: &ref_14
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      transaction:
                        type: object
                        description: Used for storing transaction data and status in wallets.
                        properties: *ref_5
                      transaction_id:
                        type: string
                        format: hex
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /cat_set_name:
    post:
      tags:
        - CAT Wallet
      summary: Sets the name of the CAT wallet.
      description: Sets the name of the CAT wallet.
      operationId: cat_set_name
      requestBody:
        description: Request body with the Id of a wallet
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
                - name
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                name:
                  type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /cat_get_name:
    post:
      tags:
        - CAT Wallet
      summary: Gets the name of the CAT wallet.
      description: Gets the name of the CAT wallet.
      operationId: cat_get_name
      requestBody:
        description: Request body with the Id of a wallet
        required: true
        content: *ref_10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                      name:
                        type: string
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_stray_cats:
    post:
      tags:
        - CAT Wallet
      summary: Get a list of all unacknowledged CATs.
      description: Get a list of all unacknowledged CATs.
      operationId: get_stray_cats
      requestBody:
        description: Empty request body
        required: true
        content: *ref_7
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      stray_cats:
                        type: array
                        items:
                          type: object
                          properties: &ref_45
                            asset_id:
                              type: string
                            name:
                              type: string
                            first_seen_height:
                              type: integer
                              format: uint32
                            sender_puzzle_hash:
                              type: string
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /pw_join_pool:
    post:
      tags:
        - Pool Wallet
      summary: Joins the given wallet to a pool.
      description: Joins the given wallet to a pool.
      operationId: pw_join_pool
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
                - pool_url
                - relative_lock_height
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                target_puzzlehash:
                  type: string
                  format: hex
                pool_url:
                  type: string
                  format: url
                relative_lock_height:
                  type: integer
                  format: uint32
                fee:
                  type: integer
                  format: uint64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      transaction:
                        type: object
                        description: Used for storing transaction data and status in wallets.
                        properties: *ref_5
                      total_fee:
                        type: integer
                        format: uint64
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /pw_self_pool:
    post:
      tags:
        - Pool Wallet
      summary: Removes the given wallet to a pool.
      description: Removes the given wallet to a pool.
      operationId: pw_self_pool
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                fee:
                  type: integer
                  format: uint64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      transaction:
                        type: object
                        description: Used for storing transaction data and status in wallets.
                        properties: *ref_5
                      total_fee:
                        type: integer
                        format: uint64
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /pw_absorb_rewards:
    post:
      tags:
        - Pool Wallet
      summary: Perform a sweep of the p2_singleton rewards controlled by the pool wallet singleton.
      description: Perform a sweep of the p2_singleton rewards controlled by the pool wallet singleton.
      operationId: pw_absorb_rewards
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                fee:
                  type: integer
                  format: uint64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      transaction:
                        type: object
                        description: Used for storing transaction data and status in wallets.
                        properties: *ref_5
                      state:
                        type: object
                        description: Internal Pool Wallet state, not destined for the blockchain. This can be completely derived with the Singleton's CoinSpends list, or with the information from the WalletPoolStore.
                        properties: &ref_13
                          current:
                            type: object
                            description: '`PoolState` is a type that is serialized to the blockchain to track the state of the user''s pool singleton `target_puzzle_hash` is either the pool address, or the self-pooling address that pool rewards will be paid to. `target_puzzle_hash` is NOT the p2_singleton puzzle that block rewards are sent to. The `p2_singleton` address is the initial address, and the `target_puzzle_hash` is the final destination. `relative_lock_height` is zero when in SELF_POOLING state'
                            properties: &ref_12
                              version:
                                type: integer
                                format: uint8
                              state:
                                type: integer
                                format: uint8
                                description: |-
                                  "From the user's point of view, a pool group can be in these states:
                                    `1 SELF_POOLING`: The singleton exists on the blockchain, and we are farming
                                        block rewards to a wallet address controlled by the user
                                    `2 LEAVING_POOL`: The singleton exists, and we have entered the "escaping" state, which
                                        means we are waiting for a number of blocks = `relative_lock_height` to pass, so we can leave.
                                    `3 FARMING_TO_POOL`: The singleton exists, and it is assigned to a pool.
                                    `CLAIMING_SELF_POOLED_REWARDS`: We have submitted a transaction to sweep our
                                        self-pooled funds."
                                enum: &ref_53
                                  - 1
                                  - 2
                                  - 3
                              target_puzzle_hash:
                                type: string
                                format: hex
                                description: '-> A puzzle_hash we pay to. When self-farming, this is a main wallet address When farming-to-pool, the pool sends this to the farmer during pool protocol setup'
                              owner_pubkey:
                                type: string
                                format: hex
                              pool_url:
                                type: string
                                format: url
                              relative_lock_height:
                                type: integer
                                format: uint32
                          target:
                            type: object
                            description: '`PoolState` is a type that is serialized to the blockchain to track the state of the user''s pool singleton `target_puzzle_hash` is either the pool address, or the self-pooling address that pool rewards will be paid to. `target_puzzle_hash` is NOT the p2_singleton puzzle that block rewards are sent to. The `p2_singleton` address is the initial address, and the `target_puzzle_hash` is the final destination. `relative_lock_height` is zero when in SELF_POOLING state'
                            properties: *ref_12
                          launcher_coin:
                            type: object
                            properties: *ref_0
                          launcher_id:
                            type: string
                            format: hex
                          p2_singleton_puzzle_hash:
                            type: string
                            format: hex
                          current_inner:
                            type: string
                            description: inner puzzle in current singleton, not revealed yet
                          tip_singleton_coin_id:
                            type: string
                            format: hex
                          singleton_block_height:
                            description: Block height that current PoolState is from
                            type: integer
                            format: uint32
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /pw_status:
    post:
      tags:
        - Pool Wallet
      summary: Return the complete state of the given Pool wallet.
      description: Return the complete state of the given Pool wallet.
      operationId: pw_status
      requestBody:
        description: Request body with the Id of a wallet
        required: true
        content: *ref_10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      unconfirmed_transactions:
                        type: array
                        items:
                          type: object
                          description: Used for storing transaction data and status in wallets.
                          properties: *ref_5
                      state:
                        type: object
                        description: Internal Pool Wallet state, not destined for the blockchain. This can be completely derived with the Singleton's CoinSpends list, or with the information from the WalletPoolStore.
                        properties: *ref_13
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_current_derivation_index:
    post:
      tags:
        - Wallet
      summary: Gets the current derivation index.
      description: Gets the current derivation index.
      operationId: get_current_derivation_index
      requestBody:
        description: Empty request body
        required: true
        content: *ref_7
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      index:
                        type: integer
                        format: uint32
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /extend_derivation_index:
    post:
      tags:
        - Wallet
      summary: Extends the current derivation index.
      description: Extends the current derivation index.
      operationId: extend_derivation_index
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - index
              properties:
                index:
                  type: integer
                  format: uint32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      index:
                        type: integer
                        format: uint32
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /create_signed_transaction:
    post:
      tags:
        - Wallet
      summary: Creates and signs a transaction.
      description: Creates and signs a transaction.
      operationId: create_signed_transaction
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - additions
              properties:
                wallet_id:
                  type: integer
                additions:
                  type: array
                  items:
                    type: object
                    required: &ref_15
                      - amount
                      - puzzle_hash
                    properties: &ref_16
                      amount:
                        type: integer
                        example: 250000000000
                        format: uint64
                      puzzle_hash:
                        type: string
                        example: '0x8f3dff600992a0b77aefbe8eb81dd4f233b9126f3b67557594b5a927d6e6d588'
                        format: hex
                      memos:
                        type: array
                        example: []
                        items:
                          type: string
                coins:
                  type: array
                  items:
                    type: object
                    properties: *ref_0
                coin_announcements:
                  type: array
                  items:
                    type: object
                    required: &ref_17
                      - coin_id
                      - message
                    properties: &ref_18
                      coin_id:
                        type: string
                        format: hex
                      message:
                        type: string
                        format: hex
                      morph_bytes:
                        type: string
                        format: hex
                puzzle_announcements:
                  type: array
                  items:
                    type: object
                    properties: &ref_19
                      puzzle_hash:
                        type: string
                        format: hex
                      message:
                        type: string
                        format: hex
                      morph_bytes:
                        type: string
                        format: hex
                min_coin_amount:
                  type: integer
                  format: uint64
                  default: 0
                max_coin_amount:
                  type: integer
                  format: uint64
                  default: 0
                excluded_coins:
                  type: array
                  items:
                    type: object
                    properties: *ref_0
                excluded_coin_amounts:
                  type: array
                  items:
                    type: integer
                    format: uint64
                fee:
                  type: integer
                  format: uint64
                  default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      signed_txs:
                        type: array
                        items:
                          type: object
                          description: Used for storing transaction data and status in wallets.
                          properties: *ref_5
                      signed_tx:
                        type: object
                        description: Used for storing transaction data and status in wallets.
                        properties: *ref_5
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /send_transaction:
    post:
      tags:
        - Wallet
      summary: Sends an amount of mojo from the given wallet to the given address.
      description: Sends an amount of mojo from the given wallet to the given address.
      operationId: send_transaction
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
                - amount
                - address
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                amount:
                  type: integer
                  format: uint64
                address:
                  type: string
                  format: hex
                fee:
                  type: integer
                  format: uint64
                memos:
                  type: array
                  items:
                    type: string
                min_coin_amount:
                  type: integer
                  format: uint64
                  default: 0
                max_coin_amount:
                  type: integer
                  format: uint64
                  default: 0
                excluded_coin_amounts:
                  type: array
                  items:
                    type: integer
                    format: uint64
                excluded_coin_ids:
                  type: array
                  items:
                    type: string
                    format: hex
                reuse_puzhash:
                  type: boolean
      responses:
        '200':
          description: OK response with a transaction record and a transaction id.
          content: *ref_14
  /send_transaction_multi:
    post:
      tags:
        - Wallet
      summary: Sends multiple transactions from then given wallet.
      description: Sends multiple transactions from then given wallet.
      operationId: send_transaction_multi
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                additions:
                  type: array
                  items:
                    type: object
                    required: *ref_15
                    properties: *ref_16
                fee:
                  type: integer
                  format: uint64
                  default: 0
                coins:
                  type: array
                  items:
                    type: object
                    properties: *ref_0
                coin_announcements:
                  type: array
                  items:
                    type: object
                    required: *ref_17
                    properties: *ref_18
                puzzle_announcements:
                  type: array
                  items:
                    type: object
                    properties: *ref_19
      responses:
        '200':
          description: OK response with a transaction record and a transaction id.
          content: *ref_14
  /get_wallet_balance:
    post:
      tags:
        - Wallet
      summary: Retrieves the balance of a specific wallet.
      description: Retrieves the balance of a specific wallet (in units of mojos).
      operationId: get_wallet_balance
      requestBody:
        description: Request body with the Id of a wallet
        required: true
        content: *ref_10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    required:
                      - wallet_balance
                    properties:
                      wallet_balance:
                        type: object
                        properties: &ref_20
                          confirmed_wallet_balance:
                            type: integer
                            example: 999999799
                            format: uint128
                          unconfirmed_wallet_balance:
                            type: integer
                            example: 999999799
                            format: uint128
                          spendable_balance:
                            type: integer
                            example: 999999799
                            format: uint128
                          pending_change:
                            type: integer
                            example: 0
                            format: uint64
                          max_send_amount:
                            type: integer
                            example: 999999799
                            format: uint128
                          unspent_coin_count:
                            type: integer
                            example: 1
                            format: uint32
                          pending_coin_removal_count:
                            type: integer
                            example: 0
                            format: uint32
                          wallet_type:
                            type: integer
                            format: uint8
                            enum: &ref_27
                              - 0
                              - 2
                              - 3
                              - 4
                              - 5
                              - 6
                              - 7
                              - 8
                              - 9
                              - 10
                              - 11
                              - 12
                              - 13
                            description: |-
                              The type of wallet:
                                * 0 STANDARD_WALLET
                                * 2 ATOMIC_SWAP
                                * 3 AUTHORIZED_PAYEE
                                * 4 MULTI_SIG
                                * 5 CUSTODY
                                * 6 CAT
                                * 7 RECOVERABLE
                                * 8 DISTRIBUTED_ID
                                * 9 POOLING_WALLET
                                * 10 NFT
                                * 11 DATA_LAYER
                                * 12 DATA_LAYER_OFFER
                                * 13 VC
                          asset_id:
                            type: string
                          wallet_id:
                            type: integer
                            example: 1
                            format: uint32
                          fingerprint:
                            type: integer
                            example: 128964
                            format: uint32
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_wallet_balances:
    post:
      tags:
        - Wallet
      summary: Retrieves the balance of a specific list of wallets.
      description: Retrieves the balance of a specific list of wallets (in units of mojos).
      operationId: get_wallet_balances
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_ids
              properties:
                wallet_ids:
                  type: array
                  items:
                    type: integer
                    format: uint32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_balances:
                        type: array
                        items:
                          type: object
                          properties: *ref_20
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_farmed_amount:
    post:
      tags:
        - Wallet
      summary: Retrieves the amount farmed.
      description: Retrieves the amount farmed.
      operationId: get_farmed_amount
      requestBody:
        description: Empty request body
        required: true
        content: *ref_7
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties: &ref_40
                      farmed_amount:
                        type: integer
                        example: 0
                        format: uint64
                      pool_reward_amount:
                        type: integer
                        example: 0
                        format: uint64
                      farmer_reward_amount:
                        type: integer
                        example: 0
                        format: uint64
                      fee_amount:
                        type: integer
                        example: 0
                        format: uint64
                      last_height_farmed:
                        type: integer
                        example: 0
                        format: uint32
                      blocks_won:
                        type: integer
                        example: 0
                        format: uint32
                      last_time_farmed:
                        type: integer
                        example: 0
                        format: uint64
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /delete_unconfirmed_transactions:
    post:
      tags:
        - Wallet
      summary: Delete all unconfirmed transactions for a given wallet.
      description: Delete all unconfirmed transactions for a given wallet.
      operationId: delete_unconfirmed_transactions
      requestBody:
        description: Request body with the Id of a wallet
        required: true
        content: *ref_10
      responses:
        '200':
          description: OK response without return values
          content: *ref_3
  /get_transaction:
    post:
      tags:
        - Wallet
      summary: Retrieves a specific transaction.
      description: Retrieves a specific transaction.
      operationId: get_transaction
      requestBody:
        description: Request body with the Id of a transaction.
        required: true
        content: &ref_32
          application/json:
            schema:
              type: object
              required:
                - transaction_id
              properties:
                transaction_id:
                  type: string
                  format: hex
      responses:
        '200':
          description: OK response with a transaction record and a transaction id.
          content: *ref_14
  /get_spendable_coins:
    post:
      tags:
        - Wallet
      summary: Retrieves all spendable coins in a wallet.
      description: Retrieves all spendable coins in a wallet.
      operationId: get_spendable_coins
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                min_coin_amount:
                  type: integer
                  format: uint64
                  default: 0
                max_coin_amount:
                  type: integer
                  format: uint64
                  default: 0
                excluded_coin_amounts:
                  type: array
                  items:
                    type: integer
                    format: uint64
                    default: 0
                excluded_coins:
                  type: array
                  items:
                    type: object
                    properties: *ref_0
                excluded_coin_ids:
                  type: array
                  items:
                    type: string
                    format: hex
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      confirmed_records:
                        type: array
                        items:
                          type: object
                          properties: &ref_21
                            coin:
                              type: object
                              properties: *ref_0
                            confirmed_block_index:
                              type: integer
                              example: 922637
                              format: uint32
                            spent_block_index:
                              type: integer
                              example: 922641
                              format: uint32
                            spent:
                              type: boolean
                              example: true
                            coinbase:
                              type: boolean
                              example: false
                            timestamp:
                              type: integer
                              example: 1632832094
                              format: uint64
                      unconfirmed_removals:
                        type: array
                        items:
                          type: object
                          properties: *ref_21
                      unconfirmed_additions:
                        type: array
                        items:
                          type: object
                          properties: *ref_0
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_transactions:
    post:
      tags:
        - Wallet
      summary: Retrieves a list of transactions from a wallet.
      description: Retrieves a list of transactions from a wallet.
      operationId: get_transactions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                to_address:
                  type: string
                  format: hex
                start:
                  type: integer
                  format: uint32
                  default: 0
                end:
                  type: integer
                  format: uint32
                  default: 50
                sort_key:
                  type: string
                reverse:
                  type: boolean
                type_filter:
                  type: object
                  properties: &ref_22
                    values:
                      type: array
                      items:
                        type: integer
                        format: uint8
                    mode:
                      type: integer
                      format: uint8
                      enum: &ref_28
                        - 1
                        - 2
                      description: |-
                        The type of filter:
                          * 1 include
                          * 2 exclude
                confirmed:
                  type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      transactions:
                        type: array
                        items:
                          type: object
                          description: Used for storing transaction data and status in wallets.
                          properties: *ref_5
                      wallet_id:
                        type: integer
                        format: uint32
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_transaction_count:
    post:
      tags:
        - Wallet
      summary: Retrieves the number of transactions for a wallet.
      description: Retrieves the number of transactions for a wallet.
      operationId: get_transaction_count
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                type_filter:
                  type: object
                  properties: *ref_22
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      count:
                        type: integer
                      wallet_id:
                        type: integer
                        format: uint32
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_next_address:
    post:
      tags:
        - Wallet
      summary: Returns a new address.
      description: Returns a new address.
      operationId: get_next_address
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                new_address:
                  type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: uint32
                      address:
                        type: string
                        format: hex
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_network_info:
    post:
      tags:
        - Wallet Node
      summary: Retrieves some information about the current network.
      description: Retrieves some information about the current network.
      operationId: wallet_get_network_info
      requestBody:
        description: Empty request body
        required: true
        content: *ref_7
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    description: Basic information about the current network.
                    required: &ref_42
                      - network_name
                      - network_prefix
                    properties: &ref_43
                      network_name:
                        type: string
                        example: mainnet
                      network_prefix:
                        type: string
                        example: xch
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /log_in:
    post:
      tags:
        - Key Management
      summary: Logs in the wallet with a specific key.
      description: Logs in the wallet with a specific key.
      operationId: log_in
      requestBody:
        description: Request body with a wallet fingerprint.
        required: true
        content: &ref_24
          application/json:
            schema:
              type: object
              required:
                - fingerprint
              properties:
                fingerprint:
                  type: integer
                  format: uint32
      responses:
        '200':
          description: OK
          content: &ref_23
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      fingerprint:
                        type: integer
                        format: uint32
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_logged_in_fingerprint:
    post:
      tags:
        - Key Management
      summary: Retrieves the logged in fingerprint.
      description: Retrieves the logged in fingerprint.
      operationId: get_logged_in_fingerprint
      requestBody:
        description: Empty request body
        required: true
        content: *ref_7
      responses:
        '200':
          description: OK
          content: *ref_23
  /get_public_keys:
    post:
      tags:
        - Key Management
      summary: Retrieves all public keys on the node.
      description: Retrieves all public keys on the node.
      operationId: get_public_keys
      requestBody:
        description: Empty request body
        required: true
        content: *ref_7
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      public_key_fingerprints:
                        type: array
                        items:
                          type: integer
                          format: uint32
                  - type: object
                    properties:
                      keyring_is_locked:
                        type: boolean
                allOf:
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_private_key:
    post:
      tags:
        - Key Management
      summary: Retrieves the private key by fingerprint.
      description: Retrieves the private key by fingerprint.
      operationId: get_private_key
      requestBody:
        description: Request body with a wallet fingerprint.
        required: true
        content: *ref_24
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    description: Return type if the private key is found.
                    properties:
                      private_key:
                        type: object
                        properties: &ref_44
                          fingerprint:
                            type: integer
                            example: 2473794447
                            format: uint32
                          sk:
                            type: string
                            example: 0665913196501420c0fe2de6b5ce7b25f749d52dcbf997b069bb2ea8438c6c3c
                            format: hex
                          pk:
                            type: string
                            example: b73cf2471b10a7ba839616aff0ab1cb319d9d3a77ee26ff88ec1c8e645468eb0b7653518b85e5dd0df7cf50d8612b978
                            format: hex
                          farmer_pk:
                            type: string
                            example: 8c65856685323f149a651e6cbe068ece36f87a84efa16246b0eef65ac586a30fb678878bd4364d52c432fbb77838cbf6
                            format: hex
                          pool_pk:
                            type: string
                            example: 845ff087376ffecf83950485d63ffed1cc73f36daf018deb4fbd2f05e7198b07521486274d82ecc4f5a2eaae63dfd0a7
                            format: hex
                          seed:
                            type: string
                            example: arrest legend bounce attend rebel blade palace bean dry shell nice bubble coil cook token nerve visa december hero garment grid attend nerve certain
                  - type: object
                    description: Return type if the private key is not found.
                    properties:
                      private_key:
                        type: object
                        properties:
                          fingerprint:
                            type: integer
                            format: uint32
                allOf:
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /generate_mnemonic:
    post:
      tags:
        - Key Management
      summary: Generates a new mnemonic phrase.
      description: Generates a new mnemonic phrase.
      operationId: generate_mnemonic
      requestBody:
        description: Empty request body
        required: true
        content: *ref_7
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                description: 24 words of entropy.
                type: array
                example: &ref_25
                  - hint
                  - dice
                  - session
                  - fun
                  - budget
                  - strong
                  - album
                  - lava
                  - tackle
                  - sudden
                  - garage
                  - people
                  - bundle
                  - federal
                  - chest
                  - process
                  - vicious
                  - behave
                  - nephew
                  - zero
                  - vital
                  - ocean
                  - artist
                  - lawsuit
                items: &ref_26
                  type: string
                  example: hint
                minItems: 24
                maxItems: 24
  /add_key:
    post:
      tags:
        - Key Management
      summary: Generates a new mnemonic phrase.
      description: Generates a new mnemonic phrase.
      operationId: add_key
      requestBody:
        description: The mnemonic phrase.
        required: true
        content:
          application/json:
            schema:
              description: 24 words of entropy.
              type: array
              example: *ref_25
              items: *ref_26
              minItems: 24
              maxItems: 24
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    description: The fingerprint of the new key.
                    properties:
                      private_key:
                        type: object
                        properties:
                          fingerprint:
                            type: integer
                            format: uint32
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /delete_key:
    post:
      tags:
        - Key Management
      summary: Deletes all keys which have the given public key fingerprint.
      description: Deletes all keys which have the given public key fingerprint.
      operationId: delete_key
      requestBody:
        description: Request body with a wallet fingerprint.
        required: true
        content: *ref_24
      responses:
        '200':
          description: OK response without return values
          content: *ref_3
  /check_delete_key:
    post:
      tags:
        - Key Management
      summary: Determines if it is safe to delete a private key.
      description: Determines if it is safe to delete a private key. Returns whether it is used for farming, pooling, or has a balance.
      operationId: check_delete_key
      requestBody:
        description: Request body with a wallet fingerprint.
        required: true
        content: *ref_24
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      fingerprint:
                        type: integer
                        format: uint32
                      used_for_farmer_rewards:
                        type: boolean
                      used_for_pool_rewards:
                        type: boolean
                      wallet_balance:
                        type: boolean
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /delete_all_keys:
    post:
      tags:
        - Key Management
      summary: Deletes all keys from the keychain.
      description: Deletes all keys from the keychain.
      operationId: wallet_delete_all_keys
      requestBody:
        description: Empty request body
        required: true
        content: *ref_7
      responses:
        '200':
          description: OK response without return values
          content: *ref_3
  /get_sync_status:
    post:
      tags:
        - Wallet Node
      summary: Retrieves the sync status of the wallet.
      description: Retrieves the sync status of the wallet.
      operationId: get_sync_status
      requestBody:
        description: Empty request body
        required: true
        content: *ref_7
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      synced:
                        type: boolean
                      syncing:
                        type: boolean
                      genesis_initialized:
                        type: boolean
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_height_info:
    post:
      tags:
        - Wallet Node
      summary: Retrieves the sync height of the wallet.
      description: Retrieves the sync height of the wallet.
      operationId: get_height_info
      requestBody:
        description: Empty request body
        required: true
        content: *ref_7
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      height:
                        type: integer
                        format: uint32
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /push_tx:
    post:
      tags:
        - Wallet Node
      description: Pushes a transaction/spend bundle to the mempool and blockchain. Returns whether the spend bundle was successfully included into the mempool.
      summary: Pushes a transaction/spend bundle to the mempool and blockchain.
      operationId: wallet_push_tx
      requestBody:
        required: true
        description: The spend bundle
        content:
          application/json:
            schema:
              type: object
              required:
                - spend_bundle
              properties:
                spend_bundle:
                  type: object
                  properties: *ref_8
      responses:
        '200':
          description: OK response without return values
          content: *ref_3
  /push_transactions:
    post:
      tags:
        - Wallet Node
      description: Pushes multiple transactions spend bundle to the mempool and blockchain.
      summary: Pushes multiple transactions spend bundle to the mempool and blockchain.
      operationId: push_transactions
      requestBody:
        required: true
        description: The transaction list
        content:
          application/json:
            schema:
              type: object
              required:
                - transactions
              properties:
                transactions:
                  type: array
                  items:
                    type: object
                    description: Used for storing transaction data and status in wallets.
                    properties: *ref_5
      responses:
        '200':
          description: OK response without return values
          content: *ref_3
  /get_notifications:
    post:
      tags:
        - Notifications
      description: Retrieves notifications.
      summary: Retrieves notifications.
      operationId: get_notifications
      requestBody:
        required: true
        description: Notification query inputs
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  items:
                    type: string
                start:
                  type: integer
                end:
                  type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      notifications:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: hex
                            message:
                              type: string
                              format: hex
                            amount:
                              type: integer
                              format: uint64
                            height:
                              type: integer
                              format: uint32
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /delete_notifications:
    post:
      tags:
        - Notifications
      description: Deletes notifications.
      summary: Deletes notifications.
      operationId: delete_notifications
      requestBody:
        required: true
        description: The notifications to delete
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  items:
                    type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                description: Success indicator and optional error message included in all responses
                required: *ref_1
                properties: *ref_2
  /send_notification:
    post:
      tags:
        - Notifications
      description: Sends a notification.
      summary: Sends a notification.
      operationId: send_notification
      requestBody:
        required: true
        description: The notification to send
        content:
          application/json:
            schema:
              type: object
              required:
                - target
                - message
                - amount
              properties:
                target:
                  type: string
                  format: hex
                message:
                  type: string
                  format: hex
                amount:
                  type: integer
                  format: uint64
                fee:
                  type: integer
                  format: uint64
                  default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      tx:
                        type: object
                        description: Used for storing transaction data and status in wallets.
                        properties: *ref_5
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /sign_message_by_address:
    post:
      tags:
        - Notifications
      description: Given a derived P2 address, sign the message by its private key.
      summary: Given a derived P2 address, sign the message by its private key.
      operationId: sign_message_by_address
      requestBody:
        required: true
        description: The message
        content:
          application/json:
            schema:
              type: object
              required:
                - address
                - message
              properties:
                address:
                  type: string
                  format: hex
                message:
                  type: string
                is_hex:
                  type: boolean
                  default: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      pubkey:
                        type: string
                        format: hex
                      signature:
                        type: string
                        format: hex
                      signing_mode:
                        type: string
                        default: BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_AUG:CHIP-0002_
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /sign_message_by_id:
    post:
      tags:
        - Notifications
      description: Given a NFT/DID ID, sign the message by the P2 private key.
      summary: Given a NFT/DID ID, sign the message by the P2 private key.
      operationId: sign_message_by_id
      requestBody:
        required: true
        description: The message
        content:
          application/json:
            schema:
              type: object
              required:
                - id
                - message
              properties:
                id:
                  type: string
                  format: hex
                message:
                  type: string
                is_hex:
                  type: boolean
                  default: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      pubkey:
                        type: string
                        format: hex
                      signature:
                        type: string
                        format: hex
                      latest_coin_id:
                        type: string
                        format: hex
                      signing_mode:
                        type: string
                        default: BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_AUG:CHIP-0002_
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_coin_records_by_names:
    post:
      tags:
        - Coins
      description: Retrieves the coins for given coin IDs, by default returns unspent coins.
      summary: Retrieves the coins for given coin IDs.
      operationId: get_coin_records_by_names
      requestBody:
        required: true
        description: The coin names.
        content:
          application/json:
            schema:
              allOf:
                - type: object
                  required:
                    - names
                  properties:
                    names:
                      type: array
                      items:
                        type: string
                        format: hex
                - type: object
                  properties: &ref_36
                    start_height:
                      type: integer
                      format: uint32
                    end_height:
                      type: integer
                      format: uint32
                    include_spent_coins:
                      type: boolean
      responses:
        '200':
          description: OK
          content: &ref_33
            application/json:
              schema:
                type: object
                properties:
                  coin_records:
                    type: array
                    items:
                      type: object
                      properties: *ref_21
                allOf:
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_coin_records:
    post:
      tags:
        - Coins
      description: Retrieves the coins that match given filter criteria
      summary: Retrieves the coins that match given filter criteria.
      operationId: get_coin_records
      requestBody:
        required: true
        description: The coin names.
        content:
          application/json:
            schema:
              type: object
              properties:
                offset:
                  type: integer
                  format: uint32
                  default: 0
                limit:
                  type: integer
                  format: uint32
                wallet_id:
                  type: integer
                  format: uint32
                wallet_type:
                  type: integer
                  format: uint8
                  enum: *ref_27
                  description: |-
                    The type of wallet:
                      * 0 STANDARD_WALLET
                      * 2 ATOMIC_SWAP
                      * 3 AUTHORIZED_PAYEE
                      * 4 MULTI_SIG
                      * 5 CUSTODY
                      * 6 CAT
                      * 7 RECOVERABLE
                      * 8 DISTRIBUTED_ID
                      * 9 POOLING_WALLET
                      * 10 NFT
                      * 11 DATA_LAYER
                      * 12 DATA_LAYER_OFFER
                      * 13 VC
                coin_type:
                  type: integer
                  format: uint8
                  enum: &ref_37
                    - 0
                    - 1
                  description: |-
                    The type of coin:
                      * 0 NORMAL
                      * 1 CLAWBACK
                coin_id_filter:
                  type: object
                  properties: &ref_29
                    values:
                      type: array
                      items:
                        type: string
                        format: hex
                    mode:
                      type: integer
                      format: uint8
                      enum: *ref_28
                      description: |-
                        The type of filter:
                          * 1 include
                          * 2 exclude
                puzzle_hash_filter:
                  type: object
                  properties: *ref_29
                parent_coin_id_filter:
                  type: object
                  properties: *ref_29
                amount_filter:
                  type: object
                  properties: &ref_34
                    values:
                      type: array
                      items:
                        type: integer
                        format: uint64
                    mode:
                      type: integer
                      format: uint8
                      enum: *ref_28
                      description: |-
                        The type of filter:
                          * 1 include
                          * 2 exclude
                amount_range:
                  type: object
                  properties: &ref_47
                    start:
                      type: integer
                      format: uint64
                      default: 0
                    stop:
                      type: integer
                      format: uint64
                confirmed_range:
                  type: object
                  properties: &ref_30
                    start:
                      type: integer
                      format: uint32
                      default: 0
                    stop:
                      type: integer
                      format: uint32
                spent_range:
                  type: object
                  properties: *ref_30
                order:
                  type: integer
                  format: uint8
                  enum: &ref_35
                    - 1
                    - 2
                  description: |-
                    The sort by item:
                      * 1 confirmed_height
                      * 2 spent_height
                reverse:
                  type: boolean
                  default: false
                include_total_count:
                  type: boolean
                  description: Include the total number of entries for the query without applying offset/limit
                  default: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      coin_records:
                        type: array
                        items:
                          type: object
                          properties: *ref_21
                      total_count:
                        type: integer
                        format: uint32
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /verify_signature:
    post:
      tags:
        - Key Management
      description: Given a public key, message and signature, verify if it is valid.
      summary: Given a public key, message and signature, verify if it is valid.
      operationId: verify_signature
      requestBody:
        required: true
        description: The coin names.
        content:
          application/json:
            schema:
              required:
                - pubkey
                - message
                - signature
              properties:
                pubkey:
                  type: string
                  format: hex
                message:
                  type: string
                  format: hex
                signature:
                  type: string
                  format: hex
                address:
                  type: string
                  format: hex
                signing_mode:
                  type: string
                  example: BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_AUG:CHIP-0002_
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  isValid:
                    type: boolean
  /get_wallets:
    post:
      tags:
        - Wallet Management
      description: Retrieves all of the wallets on the node.
      summary: Retrieves all of the wallets on the node.
      operationId: get_wallets
      requestBody:
        description: Optional wallet type to filter by
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: integer
                  format: uint8
                  enum: *ref_27
                  description: |-
                    The type of wallet:
                      * 0 STANDARD_WALLET
                      * 2 ATOMIC_SWAP
                      * 3 AUTHORIZED_PAYEE
                      * 4 MULTI_SIG
                      * 5 CUSTODY
                      * 6 CAT
                      * 7 RECOVERABLE
                      * 8 DISTRIBUTED_ID
                      * 9 POOLING_WALLET
                      * 10 NFT
                      * 11 DATA_LAYER
                      * 12 DATA_LAYER_OFFER
                      * 13 VC
                include_data:
                  type: boolean
                  default: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      fingerprint:
                        type: integer
                        format: uint32
                      wallets:
                        type: array
                        items:
                          type: object
                          description: 'This object represents the wallet data as it is stored in DB. ID: Main wallet (Standard) is stored at index 1, every wallet created after done has auto incremented id. Name: can be a user provided or default generated name. (can be modified) Type: is specified during wallet creation and should never be changed. Data: this field is intended to be used for storing any wallet specific information required for it. (RL wallet stores origin_id, admin/user pubkey, rate limit, etc.) This data should be a json encoded string.'
                          properties: &ref_49
                            id:
                              type: integer
                              example: 1
                              format: uint32
                            name:
                              type: string
                              example: Chia Wallet
                            type:
                              type: integer
                              format: uint8
                              enum: *ref_27
                              description: |-
                                The type of wallet:
                                  * 0 STANDARD_WALLET
                                  * 2 ATOMIC_SWAP
                                  * 3 AUTHORIZED_PAYEE
                                  * 4 MULTI_SIG
                                  * 5 CUSTODY
                                  * 6 CAT
                                  * 7 RECOVERABLE
                                  * 8 DISTRIBUTED_ID
                                  * 9 POOLING_WALLET
                                  * 10 NFT
                                  * 11 DATA_LAYER
                                  * 12 DATA_LAYER_OFFER
                                  * 13 VC
                            data:
                              type: string
                              example: ''
                              format: json
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /create_new_wallet:
    post:
      tags:
        - Wallet Management
      description: Creates a new wallet.
      summary: Creates a new wallet.
      operationId: create_new_wallet
      requestBody:
        required: true
        description: Details of the wallet to create.
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_type
              properties:
                wallet_type:
                  type: string
                  description: The type of wallet to create.
                  enum:
                    - cat_wallet
                    - did_wallet
                    - pool_wallet
                    - nft_wallet
                name:
                  type: string
                  description: User supplied name for the wallet. Will default if not provided.
                amount:
                  type: integer
                  format: uint64
                  description: The amount of mojo to deposit in the new wallet.
                fee:
                  type: integer
                  format: uint64
                  default: 0
                  description: The transaction fee amount in mojo.
              oneOf:
                - type: object
                  description: Details needed to create a cat_wallet.
                  properties:
                    mode:
                      type: string
                      enum:
                        - new
                        - existing
                    asset_id:
                      type: string
                      description: Only used when `mode` is 'existing'
                - type: object
                  description: Details needed to create a did_wallet.
                  required:
                    - did_type
                  properties:
                    did_type:
                      type: string
                      description: The type of DID wallet to create.
                      enum:
                        - new
                        - recovery
                  oneOf:
                    - type: object
                      description: Details needed for creating a new DID wallet.
                      properties:
                        backup_dids:
                          type: array
                          items:
                            type: string
                            format: hex
                        num_of_backup_ids_needed:
                          type: integer
                          format: uint64
                        metadata:
                          type: object
                          additionalProperties:
                            type: string
                        wallet_name:
                          type: string
                        fee:
                          type: integer
                          format: uint64
                          default: 0
                    - type: object
                      description: Details needed to create a recovery DID wallet.
                      properties:
                        backup_data:
                          type: string
                - type: object
                  description: Details needed to create a pool wallet.
                  required:
                    - mode
                  properties:
                    mode:
                      type: string
                      description: The pooling mode.
                      enum:
                        - new
                        - recovery
                    initial_target_state:
                      type: object
                      description: '`PoolState` is a type that is serialized to the blockchain to track the state of the user''s pool singleton `target_puzzle_hash` is either the pool address, or the self-pooling address that pool rewards will be paid to. `target_puzzle_hash` is NOT the p2_singleton puzzle that block rewards are sent to. The `p2_singleton` address is the initial address, and the `target_puzzle_hash` is the final destination. `relative_lock_height` is zero when in SELF_POOLING state'
                      properties: *ref_12
                    p2_singleton_delayed_ph:
                      type: string
                      format: hex
                    p2_singleton_delay_time:
                      type: integer
                      format: uint64
                - type: object
                  description: Details needed to create an NFT wallet.
                  properties:
                    did_id:
                      type: string
                      format: hex
                    name:
                      type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    description: Response when a CAT wallet is created.
                    properties:
                      type:
                        type: integer
                        format: uint8
                        enum: *ref_27
                        description: |-
                          The type of wallet:
                            * 0 STANDARD_WALLET
                            * 2 ATOMIC_SWAP
                            * 3 AUTHORIZED_PAYEE
                            * 4 MULTI_SIG
                            * 5 CUSTODY
                            * 6 CAT
                            * 7 RECOVERABLE
                            * 8 DISTRIBUTED_ID
                            * 9 POOLING_WALLET
                            * 10 NFT
                            * 11 DATA_LAYER
                            * 12 DATA_LAYER_OFFER
                            * 13 VC
                      asset_id:
                        type: string
                        format: hex
                      wallet_id:
                        type: integer
                        format: uint32
                  - type: object
                    description: Response when a new DID wallet is created.
                    properties:
                      type:
                        type: integer
                        format: uint8
                        enum: *ref_27
                        description: |-
                          The type of wallet:
                            * 0 STANDARD_WALLET
                            * 2 ATOMIC_SWAP
                            * 3 AUTHORIZED_PAYEE
                            * 4 MULTI_SIG
                            * 5 CUSTODY
                            * 6 CAT
                            * 7 RECOVERABLE
                            * 8 DISTRIBUTED_ID
                            * 9 POOLING_WALLET
                            * 10 NFT
                            * 11 DATA_LAYER
                            * 12 DATA_LAYER_OFFER
                            * 13 VC
                      my_did:
                        type: string
                        format: hex
                      wallet_id:
                        type: integer
                        format: uint32
                  - type: object
                    description: Response when a recovery DID wallet is created.
                    properties:
                      type:
                        type: integer
                        format: uint8
                        enum: *ref_27
                        description: |-
                          The type of wallet:
                            * 0 STANDARD_WALLET
                            * 2 ATOMIC_SWAP
                            * 3 AUTHORIZED_PAYEE
                            * 4 MULTI_SIG
                            * 5 CUSTODY
                            * 6 CAT
                            * 7 RECOVERABLE
                            * 8 DISTRIBUTED_ID
                            * 9 POOLING_WALLET
                            * 10 NFT
                            * 11 DATA_LAYER
                            * 12 DATA_LAYER_OFFER
                            * 13 VC
                      my_did:
                        type: string
                        format: hex
                      wallet_id:
                        type: integer
                        format: uint32
                      coin_name:
                        type: string
                        format: hex
                      coin_list:
                        type: object
                        properties: *ref_0
                      newpuzhash:
                        type: string
                        format: hex
                      pubkey:
                        type: string
                        format: hex
                      backup_dids:
                        type: array
                        items:
                          type: string
                          format: hex
                      num_verifications_required:
                        type: integer
                        format: uint64
                  - type: object
                    description: Response when a new pool wallet is created.
                    properties:
                      total_fee:
                        type: integer
                        format: uint64
                      transaction:
                        type: object
                        description: Used for storing transaction data and status in wallets.
                        properties: *ref_5
                      launcher_id:
                        type: string
                        format: hex
                      p2_singleton_puzzle_hash:
                        type: string
                        format: hex
                  - type: object
                    description: Response when a new nft wallet is created.
                    properties:
                      type:
                        type: integer
                        format: uint8
                        enum: *ref_27
                        description: |-
                          The type of wallet:
                            * 0 STANDARD_WALLET
                            * 2 ATOMIC_SWAP
                            * 3 AUTHORIZED_PAYEE
                            * 4 MULTI_SIG
                            * 5 CUSTODY
                            * 6 CAT
                            * 7 RECOVERABLE
                            * 8 DISTRIBUTED_ID
                            * 9 POOLING_WALLET
                            * 10 NFT
                            * 11 DATA_LAYER
                            * 12 DATA_LAYER_OFFER
                            * 13 VC
                      wallet_id:
                        type: integer
                        format: uint32
                allOf:
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /did_message_spend:
    post:
      tags:
        - DID Wallet
      description: Spends a DID message
      summary: Spends a DID message.
      operationId: did_message_spend
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallet_id
              properties:
                wallet_id:
                  type: integer
                  format: uint32
                coin_announcements:
                  type: array
                  items:
                    type: string
                    format: hex
                puzzle_announcements:
                  type: array
                  items:
                    type: string
                    format: hex
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      spend_bundle:
                        type: object
                        properties: *ref_8
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /did_get_info:
    post:
      tags:
        - DID Wallet
      description: Retrieves information about a DID
      summary: Retrieves information about a DID.
      operationId: did_get_info
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - coin_id
              properties:
                coin_id:
                  type: string
                  format: hex
                latest:
                  type: boolean
                  default: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      latest_coin:
                        type: string
                        format: hex
                      p2_address:
                        type: string
                        format: hex
                      public_key:
                        type: string
                        format: hex
                      recovery_list_hash:
                        type: string
                        format: hex
                      num_verification:
                        type: integer
                      metadata:
                        type: object
                        additionalProperties: true
                      launcher_id:
                        type: string
                        format: hex
                      full_puzzle:
                        type: string
                        format: hex
                      solution:
                        type: string
                      hints:
                        type: array
                        items:
                          type: string
                          format: hex
                      did_id:
                        type: string
                        format: hex
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /did_find_lost_did:
    post:
      tags:
        - DID Wallet
      description: Recover a missing or unspendable DID wallet by a coin id of the DID
      summary: Recover a missing or unspendable DID wallet by a coin id of the DID.
      operationId: did_find_lost_did
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - coin_id
              properties:
                coin_id:
                  type: string
                  format: hex
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      latest_coin_id:
                        type: string
                        format: hex
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /nft_set_did_bulk:
    post:
      tags:
        - NFT Wallet
      description: Bulk set DID for NFTs across different wallets
      summary: Bulk set DID for NFTs across different wallets.
      operationId: nft_set_did_bulk
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - nft_coin_list
              properties:
                nft_coin_list:
                  type: array
                  maxItems: 25
                  items:
                    type: object
                    required:
                      - nft_coin_id
                      - wallet_id
                    properties:
                      nft_coin_id:
                        type: string
                        format: hex
                      wallet_id:
                        type: integer
                        format: int32
                did_id:
                  type: string
                  format: hex
                fee:
                  type: integer
                  format: uint64
                  default: 0
                reuse_puzhash:
                  type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: int32
                      tx_num:
                        type: integer
                        format: int32
                      spend_bundle:
                        type: object
                        properties: *ref_8
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /nft_transfer_bulk:
    post:
      tags:
        - NFT Wallet
      description: Bulk transfer NFTs to an address
      summary: Bulk transfer NFTs to an address.
      operationId: nft_transfer_bulk
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - nft_coin_list
              properties:
                nft_coin_list:
                  type: array
                  maxItems: 25
                  items:
                    type: object
                    required:
                      - nft_coin_id
                      - wallet_id
                    properties:
                      nft_coin_id:
                        type: string
                        format: hex
                      wallet_id:
                        type: integer
                        format: int32
                target_address:
                  type: string
                  format: hex
                fee:
                  type: integer
                  format: uint64
                  default: 0
                reuse_puzhash:
                  type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: int32
                      tx_num:
                        type: integer
                        format: int32
                      spend_bundle:
                        type: object
                        properties: *ref_8
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_timestamp_for_height:
    post:
      tags:
        - Wallet Node
      description: Retrieve the timestamp for a given block height
      summary: Retrieve the timestamp for a given block height.
      operationId: get_timestamp_for_height
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - height
              properties:
                height:
                  type: integer
                  format: uint32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      timestamp:
                        type: integer
                        format: uint62
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /set_wallet_resync_on_startup:
    post:
      tags:
        - Wallet Node
      description: Resync the current logged in wallet
      summary: Resync the current logged in wallet. The transaction and offer records will be kept.
      operationId: set_wallet_resync_on_startup
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                enable:
                  type: boolean
                  default: true
      responses:
        '200':
          description: OK response without return values
          content: *ref_3
  /get_transaction_memo:
    post:
      tags:
        - Wallet
      description: Retrieves the memo from a transaction
      summary: Retrieves the memo from a transaction.
      operationId: get_transaction_memo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - transaction_id
              properties:
                transaction_id:
                  type: string
                  format: hex
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    additionalProperties:
                      type: object
                      additionalProperties:
                        type: array
                        items:
                          type: string
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /nft_count_nfts:
    post:
      tags:
        - NFT Wallet
      description: Retrieves the number of NFTs in a wallet
      summary: Retrieves the number of NFTs in a wallet.
      operationId: nft_count_nfts
      requestBody:
        description: Request body with the Id of a wallet
        required: true
        content: *ref_10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet_id:
                        type: integer
                        format: int32
                      count:
                        type: integer
                        format: int32
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /set_auto_claim:
    post:
      tags:
        - Wallet
      description: Set auto claim merkle coins config
      summary: Set auto claim merkle coins config
      operationId: set_auto_claim
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                enabled:
                  type: boolean
                  default: false
                tx_fee:
                  type: integer
                  format: uint64
                  default: 0
                min_amount:
                  type: integer
                  format: uint64
                  default: 0
                batch_size:
                  type: integer
                  format: uint16
                  default: 50
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      enabled:
                        type: boolean
                        default: false
                      tx_fee:
                        type: integer
                        format: uint64
                        default: 0
                      min_amount:
                        type: integer
                        format: uint64
                        default: 0
                      batch_size:
                        type: integer
                        format: uint16
                        default: 50
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /get_auto_claim:
    post:
      tags:
        - Wallet
      description: Get auto claim merkle coins config
      summary: Get auto claim merkle coins config
      operationId: get_auto_claim
      requestBody:
        description: Empty request body
        required: true
        content: *ref_7
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      enabled:
                        type: boolean
                        default: false
                      tx_fee:
                        type: integer
                        format: uint64
                        default: 0
                      min_amount:
                        type: integer
                        format: uint64
                        default: 0
                      batch_size:
                        type: integer
                        format: uint16
                        default: 50
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /spend_clawback_coins:
    post:
      tags:
        - Wallet
      description: Spend clawback coins that were sent or received
      summary: Spend clawback coins that were sent (to claw them back) or received (to claim them).
      operationId: spend_clawback_coins
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - coin_ids
              properties:
                coin_ids:
                  type: array
                  items:
                    type: string
                    format: hex
                fee:
                  type: integer
                  format: uint64
                  default: 0
                batch_size:
                  type: integer
                  format: uint16
                  default: 50
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      transaction_ids:
                        type: array
                        items:
                          type: string
                          format: hex
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /vc_mint:
    post:
      tags:
        - Verified Credential
      description: Mint a verified credential using the assigned DID
      summary: Mint a verified credential using the assigned DID.
      operationId: vc_mint
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - did_id
              properties:
                did_id:
                  type: string
                  format: hex
                target_address:
                  type: string
                  format: hex
                fee:
                  type: integer
                  format: uint64
                  default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      vc_record:
                        type: object
                        properties: &ref_31
                          vc:
                            description: This class serves as the main driver for the entire VC puzzle stack. Given the information below, it can sync and spend VerifiedCredentials in any specified manner. Trying to sync from a spend that this class did not create will likely result in an error.
                            type: object
                            properties: &ref_55
                              coin:
                                type: object
                                properties: *ref_0
                              singleton_lineage_proof:
                                type: object
                                properties: *ref_4
                              eml_lineage_proof:
                                description: The covenant layer for exigent metadata layers requires to be passed the previous parent's metadata too
                                type: object
                                properties: &ref_54
                                  parent_name:
                                    type: string
                                    example: '0xc2347b264b412bde5893f4e1369adab3a6c61496845c10f8ec98bc35f9e1429f'
                                    format: bytes32
                                  inner_puzzle_hash:
                                    type: string
                                    example: '0x60f66f9824d5f96d4025b70b4f7ac3def458cae742fbd2d70343eeeaa5a59c58'
                                    format: bytes32
                                  amount:
                                    type: integer
                                    example: 1
                                    format: uint64
                                  parent_proof_hash:
                                    type: string
                                    example: '0x60f66f9824d5f96d4025b70b4f7ac3def458cae742fbd2d70343eeeaa5a59c58'
                                    format: bytes32
                              launcher_id:
                                type: string
                                format: bytes32
                              inner_puzzle_hash:
                                type: string
                                format: bytes32
                              proof_provider:
                                type: string
                                format: bytes32
                              proof_hash:
                                type: string
                                format: bytes32
                          confirmed_at_height:
                            type: integer
                            format: uint32
                          coin_id:
                            type: string
                            format: hex
                      transactions:
                        type: array
                        items:
                          type: object
                          description: Used for storing transaction data and status in wallets.
                          properties: *ref_5
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /vc_get:
    post:
      tags:
        - Verified Credential
      description: Given a launcher ID get the verified credential
      summary: Given a launcher ID get the verified credential.
      operationId: vc_get
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - vc_id
              properties:
                vc_id:
                  type: string
                  format: bytes32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      vc_record:
                        type: object
                        properties: *ref_31
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /vc_get_list:
    post:
      tags:
        - Verified Credential
      description: Get a list of verified credentials
      summary: Get a list of verified credentials in the specified range and any 'proofs' associated with the roots contained within.
      operationId: vc_get_list
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                start:
                  type: integer
                  format: uint32
                end:
                  type: integer
                  format: uint32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      vc_records:
                        type: array
                        items:
                          type: object
                          properties: *ref_31
                      proofs:
                        type: object
                        additionalProperties:
                          type: string
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /vc_spend:
    post:
      tags:
        - Verified Credential
      description: Spend a verified credential
      summary: Spend a verified credential.
      operationId: vc_spend
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - vc_id
              properties:
                vc_id:
                  type: string
                  format: bytes32
                new_puzhash:
                  type: string
                  format: bytes32
                new_proof_hash:
                  type: string
                  format: bytes32
                provider_inner_puzhash:
                  type: string
                  format: bytes32
                fee:
                  type: integer
                  format: uint64
                reuse_puzhash:
                  type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      transactions:
                        type: array
                        items:
                          type: object
                          description: Used for storing transaction data and status in wallets.
                          properties: *ref_5
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /vc_add_proofs:
    post:
      tags:
        - Verified Credential
      description: Add a set of proofs to the DB that can be used when spending a VC
      summary: Add a set of proofs to the DB that can be used when spending a VC. VCs are near useless until their proofs have been added.
      operationId: vc_add_proofs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - proofs
              properties:
                proofs:
                  type: object
                  properties: &ref_48
                    key_value_pairs:
                      type: object
                      additionalProperties:
                        type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                description: Success indicator and optional error message included in all responses
                required: *ref_1
                properties: *ref_2
  /vc_get_proofs_for_root:
    post:
      tags:
        - Verified Credential
      description: Given a specified vc root, get any proofs associated with that root
      summary: Given a specified vc root, get any proofs associated with that root.
      operationId: vc_get_proofs_for_root
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - root
              properties:
                root:
                  type: string
                  format: bytes32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      proofs:
                        type: object
                        additionalProperties:
                          type: string
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
  /vc_revoke:
    post:
      tags:
        - Verified Credential
      description: Revoke an on chain VC provided the correct DID is available
      summary: Revoke an on chain VC provided the correct DID is available.
      operationId: vc_revoke
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - vc_parent_id
              properties:
                vc_parent_id:
                  type: string
                  format: bytes32
                fee:
                  type: integer
                  format: uint64
                  default: 0
                reuse_puzhash:
                  type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      transactions:
                        type: array
                        items:
                          type: object
                          description: Used for storing transaction data and status in wallets.
                          properties: *ref_5
                  - type: object
                    description: Success indicator and optional error message included in all responses
                    required: *ref_1
                    properties: *ref_2
components:
  requestBodies:
    empty:
      description: Empty request body
      required: true
      content: *ref_7
    fingerprint:
      description: Request body with a wallet fingerprint.
      required: true
      content: *ref_24
    wallet_id:
      description: Request body with the Id of a wallet
      required: true
      content: *ref_10
    transaction_id:
      description: Request body with the Id of a transaction.
      required: true
      content: *ref_32
  responses:
    empty:
      description: OK response without return values
      content: *ref_3
    coin_records:
      description: OK
      content: *ref_33
    fingerprint_response:
      description: OK
      content: *ref_23
    transaction_record_response:
      description: OK response with a transaction record and a transaction id.
      content: *ref_14
  schemas:
    amount_filter:
      type: object
      properties: *ref_34
    amount_with_puzzlehash:
      type: object
      required: *ref_15
      properties: *ref_16
    coin_announcement:
      type: object
      required: *ref_17
      properties: *ref_18
    coin_record_order:
      type: integer
      format: uint8
      enum: *ref_35
      description: |-
        The sort by item:
          * 1 confirmed_height
          * 2 spent_height
    coin_search_options:
      type: object
      properties: *ref_36
    coin_type:
      type: integer
      format: uint8
      enum: *ref_37
      description: |-
        The type of coin:
          * 0 NORMAL
          * 1 CLAWBACK
    connection_info:
      type: object
      description: Chia's representation of a connection from node to node.
      properties: *ref_38
    puzzle_announcement:
      type: object
      properties: *ref_19
    cat_info:
      type: object
      description: Information about a CAT
      properties: *ref_39
    coin:
      type: object
      properties: *ref_0
    coin_record:
      type: object
      properties: *ref_21
    farmer_rewards:
      type: object
      properties: *ref_40
    hash_filter:
      type: object
      properties: *ref_29
    lineage_proof:
      type: object
      properties: *ref_4
    mirror:
      type: object
      properties: *ref_41
    mnemonic:
      description: 24 words of entropy.
      type: array
      example: *ref_25
      items: *ref_26
      minItems: 24
      maxItems: 24
    network_info:
      type: object
      description: Basic information about the current network.
      required: *ref_42
      properties: *ref_43
    nft_info:
      type: object
      description: NFT Info for displaying NFT on the UI
      properties: *ref_9
    pool_state:
      type: object
      description: '`PoolState` is a type that is serialized to the blockchain to track the state of the user''s pool singleton `target_puzzle_hash` is either the pool address, or the self-pooling address that pool rewards will be paid to. `target_puzzle_hash` is NOT the p2_singleton puzzle that block rewards are sent to. The `p2_singleton` address is the initial address, and the `target_puzzle_hash` is the final destination. `relative_lock_height` is zero when in SELF_POOLING state'
      properties: *ref_12
    pool_wallet_info:
      type: object
      description: Internal Pool Wallet state, not destined for the blockchain. This can be completely derived with the Singleton's CoinSpends list, or with the information from the WalletPoolStore.
      properties: *ref_13
    private_key:
      type: object
      properties: *ref_44
    singleton_record:
      type: object
      properties: *ref_6
    spend_bundle:
      type: object
      properties: *ref_8
    token:
      type: object
      properties: *ref_45
    trade_record:
      type: object
      description: Used for storing transaction data and status in wallets.
      properties: *ref_11
    transaction_record:
      type: object
      description: Used for storing transaction data and status in wallets.
      properties: *ref_5
    transaction_type:
      type: integer
      format: uint8
      enum: *ref_46
      description: |-
        The type of transaction:
          * 0 INCOMING_TX
          * 1 OUTGOING_TX
          * 2 COINBASE_REWARD
          * 3 FEE_REWARD
          * 4 INCOMING_TRADE
          * 5 OUTGOING_TRADE
    transaction_type_filter:
      type: object
      properties: *ref_22
    uint32_range:
      type: object
      properties: *ref_30
    uint64_range:
      type: object
      properties: *ref_47
    vc_proofs:
      type: object
      properties: *ref_48
    vc_record:
      type: object
      properties: *ref_31
    wallet_balance:
      type: object
      properties: *ref_20
    wallet_info:
      type: object
      description: 'This object represents the wallet data as it is stored in DB. ID: Main wallet (Standard) is stored at index 1, every wallet created after done has auto incremented id. Name: can be a user provided or default generated name. (can be modified) Type: is specified during wallet creation and should never be changed. Data: this field is intended to be used for storing any wallet specific information required for it. (RL wallet stores origin_id, admin/user pubkey, rate limit, etc.) This data should be a json encoded string.'
      properties: *ref_49
    wallet_type:
      type: integer
      format: uint8
      enum: *ref_27
      description: |-
        The type of wallet:
          * 0 STANDARD_WALLET
          * 2 ATOMIC_SWAP
          * 3 AUTHORIZED_PAYEE
          * 4 MULTI_SIG
          * 5 CUSTODY
          * 6 CAT
          * 7 RECOVERABLE
          * 8 DISTRIBUTED_ID
          * 9 POOLING_WALLET
          * 10 NFT
          * 11 DATA_LAYER
          * 12 DATA_LAYER_OFFER
          * 13 VC
    apiResponse:
      type: object
      description: Success indicator and optional error message included in all responses
      required: *ref_1
      properties: *ref_2
    coin_spend:
      type: object
      properties: *ref_50
    node_type:
      type: integer
      enum: *ref_51
      description: |-
        The type of node:
          * 1 FULL_NODE
          * 2 HARVESTER
          * 3 FARMER
          * 4 TIMELORD
          * 5 INTRODUCER
          * 6 WALLET
          * 7 DATA_LAYER
    trade_status:
      type: integer
      enum: *ref_52
      description: 'The status of a trade: * 0 PENDING_ACCEPT * 1 PENDING_CONFIRM * 2 PENDING_CANCEL * 3 CANCELLED * 4 CONFIRMED * 5 FAILED'
    pool_singleton_state:
      type: integer
      format: uint8
      description: |-
        "From the user's point of view, a pool group can be in these states:
          `1 SELF_POOLING`: The singleton exists on the blockchain, and we are farming
              block rewards to a wallet address controlled by the user
          `2 LEAVING_POOL`: The singleton exists, and we have entered the "escaping" state, which
              means we are waiting for a number of blocks = `relative_lock_height` to pass, so we can leave.
          `3 FARMING_TO_POOL`: The singleton exists, and it is assigned to a pool.
          `CLAIMING_SELF_POOLED_REWARDS`: We have submitted a transaction to sweep our
              self-pooled funds."
      enum: *ref_53
    filter_mode:
      type: integer
      format: uint8
      enum: *ref_28
      description: |-
        The type of filter:
          * 1 include
          * 2 exclude
    vc_lineage_proof:
      description: The covenant layer for exigent metadata layers requires to be passed the previous parent's metadata too
      type: object
      properties: *ref_54
    verified_credential:
      description: This class serves as the main driver for the entire VC puzzle stack. Given the information below, it can sync and spend VerifiedCredentials in any specified manner. Trying to sync from a spend that this class did not create will likely result in an error.
      type: object
      properties: *ref_55
  securitySchemes:
    bearerAuth:
      type: http
      scheme: mutual
      description: '-> Chia uses [mutualTLS bearerAuth](https://github.com/dkackman/chia-api/wiki/Mutual-TLS) where client and server share TLS keys.'
