{
  "openapi": "3.0.1",
  "info": {
    "title": "KakrLabs-SDK-Creator",
    "version": "1.0"
  },
  "paths": {
    "/api/Address/create": {
      "post": {
        "tags": [
          "Address"
        ],
        "summary": "Create a new address in a particular wallet",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletName",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "encryptedPassphrase",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAddressdto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAddressdto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAddressdto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Address/create-muti-sig-address": {
      "post": {
        "tags": [
          "Address"
        ],
        "summary": "Create a multi-signature address. this address created will be encrypted but cannot be imported to other wallets.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletName",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "encryptedPassphrase",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createMultiSignatureAddressdto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/createMultiSignatureAddressdto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/createMultiSignatureAddressdto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Address/address-details": {
      "get": {
        "tags": [
          "Address"
        ],
        "summary": "Get address details. all address details are returned.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletName",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Address/sign-message": {
      "post": {
        "tags": [
          "Address"
        ],
        "summary": "sign a message with address private key",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SignMessagedto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SignMessagedto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SignMessagedto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Address/verify-message": {
      "post": {
        "tags": [
          "Address"
        ],
        "summary": "verify signed message",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyMessagedto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyMessagedto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyMessagedto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Address/address-transaction": {
      "get": {
        "tags": [
          "Address"
        ],
        "summary": "retruns all transactions of an address without wallet",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "take",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          },
          {
            "name": "skip",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Address/address-balance": {
      "get": {
        "tags": [
          "Address"
        ],
        "summary": "address balance - returns the confirmed and unconfirmed balance",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Address/address-private-key": {
      "get": {
        "tags": [
          "Address"
        ],
        "summary": "Get the address private key using encrypted passphrase",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "wallet",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "encryptedPassphrase",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Address/address-private-key-v2": {
      "get": {
        "tags": [
          "Address"
        ],
        "summary": "Get the address private key using mnemonics",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "wallet",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "mnemonics",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Address/screen-address": {
      "get": {
        "tags": [
          "Address"
        ],
        "summary": "Screen address to check the validity of the address, iswitness or not, isScript or not , isMweb or not and also returns the scriptPubKey",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "wallet",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "mnemonics",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Address/generate-default-address": {
      "post": {
        "tags": [
          "Address"
        ],
        "summary": "Generate a default address for a wallet. This address can be imported to other wallets.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletName",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "encryptedPassphrase",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateDefaultAddressdto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateDefaultAddressdto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateDefaultAddressdto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Blocks/blockchain-info": {
      "get": {
        "tags": [
          "Blocks"
        ],
        "summary": "Get Litcoin Block information",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Blocks/block-stat": {
      "get": {
        "tags": [
          "Blocks"
        ],
        "summary": "Get block statistics",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "blockheight",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Blocks/block-header": {
      "get": {
        "tags": [
          "Blocks"
        ],
        "summary": "Get block header information",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "blockheight",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Blocks/block-transaction": {
      "get": {
        "tags": [
          "Blocks"
        ],
        "summary": "Get block Transactions in details",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "blockhash",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Litecoin/transaction-details": {
      "get": {
        "tags": [
          "Litecoin"
        ],
        "summary": "Litecoin transaction details - returns the full details of a transaction id",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "txid",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Litecoin/get-utxo-details": {
      "get": {
        "tags": [
          "Litecoin"
        ],
        "summary": "Litecoin UTXO details - returns the details of a UTXO using the transaction id and vout index",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "txid",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "vout_n",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Transactions/send-funds-from-wallet": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Send a funds from one address to another using wallet",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletName",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "encryptedPassphrase",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendFromWalletdto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SendFromWalletdto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SendFromWalletdto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Transactions/create-raw-transaction": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "create raw transaction - returns the transaction hash",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletName",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRawTransactiondto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRawTransactiondto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRawTransactiondto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Transactions/create-raw-transaction-v2": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "create raw transaction with the address UTXOs - returns the transaction hash",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRawTransactiondtoV2"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRawTransactiondtoV2"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRawTransactiondtoV2"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Transactions/create-raw-transaction-v3": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "create raw transaction with the service Fee address attached - returns the transaction hash",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletName",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRawTransactiondtoV3"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRawTransactiondtoV3"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRawTransactiondtoV3"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Transactions/sign-transaction": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "sign a created raw transaction - returns the signed transaction hash",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletName",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SignRawTransactiondto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SignRawTransactiondto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SignRawTransactiondto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Transactions/broadcast-transaction": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "broadcast transaction on the Litecoin blockchain",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BroadcastTransactiondto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BroadcastTransactiondto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BroadcastTransactiondto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Utilities/get-blockchain-otp": {
      "get": {
        "tags": [
          "Utilities"
        ],
        "summary": "Gets OTP using the blockchain information using the signature of a signed message.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "signature",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Utilities/verify-otp": {
      "post": {
        "tags": [
          "Utilities"
        ],
        "summary": "Verifies the OTP on the blockchain.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyOTPdto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyOTPdto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyOTPdto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Wallet/create": {
      "post": {
        "tags": [
          "Wallet"
        ],
        "summary": "Create a new wallet. this wallet created but not encrypted and cannot be imported to other wallets.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWalletRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWalletRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWalletRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Wallet/encrypt-wallet": {
      "post": {
        "tags": [
          "Wallet"
        ],
        "summary": "Encrypt a wallet. this wallet created  cannot be imported to other wallets.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletName",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EncryptWalletDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EncryptWalletDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EncryptWalletDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Wallet/create-encrypted-wallet": {
      "post": {
        "tags": [
          "Wallet"
        ],
        "summary": "Create an encrypted wallet. this wallet created will be encrypted but cannot be imported to other wallets.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWalletRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWalletRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWalletRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Wallet/create-importable-wallet": {
      "post": {
        "tags": [
          "Wallet"
        ],
        "summary": "Create an importable wallet. this wallet created will be encrypted and can be imported to other wallets.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWalletRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWalletRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWalletRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Wallet/create-importable-encrypted-wallet": {
      "post": {
        "tags": [
          "Wallet"
        ],
        "summary": "Create an importable encrypted wallet. this wallet created will be encrypted and can be imported to other wallets.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWalletRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWalletRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWalletRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Wallet/import-wallet": {
      "post": {
        "tags": [
          "Wallet"
        ],
        "summary": "Import a wallet. this wallet created will be encrypted and can be imported to other wallets.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportWalletdto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportWalletdto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ImportWalletdto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Wallet/details": {
      "get": {
        "tags": [
          "Wallet"
        ],
        "summary": "Get the details of a wallet.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletName",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Wallet/transactions": {
      "get": {
        "tags": [
          "Wallet"
        ],
        "summary": "Get the transactions of a wallet.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletName",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          },
          {
            "name": "count",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Wallet/balance": {
      "get": {
        "tags": [
          "Wallet"
        ],
        "summary": "Get the balance of a wallet.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletName",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Wallet/addresses": {
      "get": {
        "tags": [
          "Wallet"
        ],
        "summary": "Get all addresses of a wallet.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletName",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Wallet/change-passphrase": {
      "post": {
        "tags": [
          "Wallet"
        ],
        "summary": "Change the passphrase of a wallet.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePassphrasedto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePassphrasedto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePassphrasedto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Wallet/official-address": {
      "get": {
        "tags": [
          "Wallet"
        ],
        "summary": "Get the official address of a wallet.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletName",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Wallet/sign-wallet-message": {
      "post": {
        "tags": [
          "Wallet"
        ],
        "summary": "Sign a message using the wallet.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletName",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/signMessageUsingWalletdto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/signMessageUsingWalletdto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/signMessageUsingWalletdto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Wallet/wallet-address-balance": {
      "get": {
        "tags": [
          "Wallet"
        ],
        "summary": "Get the balance of a specific address in a wallet.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletName",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Wallet/wallet-address-transactions": {
      "get": {
        "tags": [
          "Wallet"
        ],
        "summary": "Get the transactions of a specific address in a wallet.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletName",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Wallet/set-wallet-mnemonics": {
      "post": {
        "tags": [
          "Wallet"
        ],
        "summary": "Set the mnemonics of a wallet.",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletName",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "encryptedPassphrase",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetWalletMnemonicsdto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetWalletMnemonicsdto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetWalletMnemonicsdto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Wallet/wallet-default-address": {
      "get": {
        "tags": [
          "Wallet"
        ],
        "summary": "default addresss of a wallet without private key",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "mnemonics",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "addressType",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Wallet/wallet-default-address-v2": {
      "get": {
        "tags": [
          "Wallet"
        ],
        "summary": "default addresss of a wallet with private key",
        "parameters": [
          {
            "name": "nodeUrlOrApiAccessKey",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "mnemonics",
            "in": "header",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "addressType",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "BroadcastTransactiondto": {
        "required": [
          "signedTxHash"
        ],
        "type": "object",
        "properties": {
          "signedTxHash": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ChangePassphrasedto": {
        "required": [
          "new_passphrase",
          "old_passphrase",
          "wallet"
        ],
        "type": "object",
        "properties": {
          "wallet": {
            "minLength": 1,
            "type": "string"
          },
          "old_passphrase": {
            "minLength": 1,
            "type": "string"
          },
          "new_passphrase": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreateAddressdto": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CreateRawTransactiondto": {
        "required": [
          "amount",
          "recipientAddress",
          "senderAddress"
        ],
        "type": "object",
        "properties": {
          "recipientAddress": {
            "minLength": 1,
            "type": "string"
          },
          "senderAddress": {
            "minLength": 1,
            "type": "string"
          },
          "amount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "CreateRawTransactiondtoV2": {
        "required": [
          "amount",
          "recipientAddress",
          "senderAddress",
          "utxos",
          "vouts_n"
        ],
        "type": "object",
        "properties": {
          "senderAddress": {
            "minLength": 1,
            "type": "string"
          },
          "recipientAddress": {
            "minLength": 1,
            "type": "string"
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "utxos": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vouts_n": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "additionalProperties": false
      },
      "CreateRawTransactiondtoV3": {
        "required": [
          "amount",
          "recipientAddress",
          "senderAddress",
          "serviceFeeAddress",
          "serviceFeeAmount"
        ],
        "type": "object",
        "properties": {
          "senderAddress": {
            "minLength": 1,
            "type": "string"
          },
          "serviceFeeAddress": {
            "minLength": 1,
            "type": "string"
          },
          "recipientAddress": {
            "minLength": 1,
            "type": "string"
          },
          "serviceFeeAmount": {
            "type": "number",
            "format": "float"
          },
          "amount": {
            "type": "number",
            "format": "float"
          }
        },
        "additionalProperties": false
      },
      "CreateWalletRequest": {
        "required": [
          "walletName"
        ],
        "type": "object",
        "properties": {
          "walletName": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "EncryptWalletDto": {
        "required": [
          "passphrase"
        ],
        "type": "object",
        "properties": {
          "passphrase": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "GenerateDefaultAddressdto": {
        "type": "object",
        "properties": {
          "addressType": {
            "type": "integer",
            "format": "int32"
          },
          "label": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ImportWalletdto": {
        "required": [
          "mnemonics",
          "new_wallet_name"
        ],
        "type": "object",
        "properties": {
          "new_wallet_name": {
            "minLength": 1,
            "type": "string"
          },
          "mnemonics": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "SendFromWalletdto": {
        "type": "object",
        "properties": {
          "recipientAddress": {
            "type": "string",
            "nullable": true
          },
          "recipientName": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "amountIncludeFees": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SetWalletMnemonicsdto": {
        "required": [
          "mnemonics"
        ],
        "type": "object",
        "properties": {
          "mnemonics": {
            "minLength": 1,
            "type": "string",
            "description": "The mnemonics to set for the wallet."
          }
        },
        "additionalProperties": false
      },
      "SignMessagedto": {
        "required": [
          "addressPrivatKey",
          "message"
        ],
        "type": "object",
        "properties": {
          "message": {
            "minLength": 1,
            "type": "string"
          },
          "addressPrivatKey": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "SignRawTransactiondto": {
        "required": [
          "addressPrivateKey",
          "txhash",
          "walletName"
        ],
        "type": "object",
        "properties": {
          "walletName": {
            "minLength": 1,
            "type": "string"
          },
          "addressPrivateKey": {
            "minLength": 1,
            "type": "string"
          },
          "txhash": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "VerifyMessagedto": {
        "required": [
          "address",
          "message",
          "signature"
        ],
        "type": "object",
        "properties": {
          "address": {
            "minLength": 1,
            "type": "string"
          },
          "message": {
            "minLength": 1,
            "type": "string"
          },
          "signature": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "VerifyOTPdto": {
        "required": [
          "code",
          "signtaure"
        ],
        "type": "object",
        "properties": {
          "signtaure": {
            "minLength": 1,
            "type": "string"
          },
          "code": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "createMultiSignatureAddressdto": {
        "required": [
          "address_type",
          "addresses",
          "nreqired"
        ],
        "type": "object",
        "properties": {
          "addresses": {
            "minLength": 1,
            "type": "string",
            "description": "addresses (L addresses) to be given priviledge to sign a transaction seperated with a comma for example LTm0jfypM0....Yi, Lkfr5tt......Mn"
          },
          "nreqired": {
            "type": "integer",
            "format": "int32"
          },
          "address_type": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "signMessageUsingWalletdto": {
        "required": [
          "address",
          "message",
          "passphrase"
        ],
        "type": "object",
        "properties": {
          "message": {
            "minLength": 1,
            "type": "string"
          },
          "passphrase": {
            "minLength": 1,
            "type": "string"
          },
          "address": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    }
  }
}