openapi: 3.0.0
servers:
  - url: 'https://api-eu1.tatum.io'
info:
  version: 1.0.1
  title: Tatum NFT Abstraction API
tags:
  - description: |
      <p>NFT stands for "non-fungible token." Non-fungible means that each token is unique and irreplaceable. This principle gives NFTs their value and gives rise to a wide range of interesting potential use cases.<br/>
      NFTs can be used for nearly any digital asset or good to ensure authenticity and scarcity. The possibilities are endless, but here are a few example use cases:
      <ul>
      <li><b>In-game assets</b> - NFTs can be used to create unique collectibles in the form of characters, weapons, skins, or other equipment. Players can resell or trade assets directly as they choose, and their authenticity is easily verifiable. No more eBay, no more scammers.</li>
      <li><b>Music and other digital media</b> - NFTs can be used to create rare and unique collectible digital releases. Similarly, NFTs can be used to sell videos, art, or any other type of digital media. Collectors can own digital originals of their favorite songs, movies, or virtually anything else you can imagine.</li>
      <li><b>Digital sports merch</b> - Trading cards, memorabilia, classic moments in sports history, and one-of-a-kind experiences can also be sold as NFTs, opening up a world of possibilities for sports leagues and teams worldwide. The NBA Top Shot website sells collectible “moments” from the league’s history, and at the time of writing, the website is completely sold out and closed for new sign-ups.</li>
      <br/>
      These endpoints wraps up standard NFT implementation and operations, which can be done with them. Endpoints are blockchain agnostic, the only differentatior is the <b>chain</b> parameter in the URL path.<br/><br/>
      Tatum now supports NFT these blockchains:<br/>
      <ul>
      <li><b>Ethereum</b></li>
      <li><b>Polygon (Matic)</b></li>
      <li><b>Kcs (KCS)</b></li>
      <li><b>Celo</b></li>
      <li><b>Harmony.ONE</b></li>
      <li><b>Tron</b></li>
      <li><b>Flow</b></li>
      <li><b>Binance Smart Chain</b></li>
      <li><b>Algorand</b></li>
      </ul>
      </p>
    name: Blockchain / NFT
paths:
  /v3/nft/deploy:
    post:
      description: |
        <h4>100 credits per API call on FLOW, 2 credits on another chains. Tatum covers the fee connected to the transaction costs in subscription credits for FLOW. This operation can be done on mainnet only for paid plans.</h4><br/>
        <p>Deploy NFT Smart Contract. This method creates new ERC721 Smart Contract (Non-Fungible Tokens) on the blockchain. Smart contract is standardized and audited.
        It is possible to mint, burn and transfer tokens. It is also possible to mint multiple tokens at once.<br/>
        Tatum now supports NFT these blockchains:<br/>
        <ul>
        <li><b>Ethereum</b></li>
        <li><b>Polygon (Matic)</b></li>
        <li><b>Kcs (KCS)</b></li>
        <li><b>Celo</b></li>
        <li><b>Harmony.ONE</b></li>
        <li><b>Flow</b></li>
        <li><b>Tron</b></li>
        <li><b>Binance Smart Chain</b></li>
        </ul>
        It is possible to see the code of the deployed contract <a href="https://github.com/tatumio/smart-contracts/tree/master/contracts/tatum" target="_blank">for EVM chains here</a>
         or here <a href="https://github.com/tatumio/flow-contracts" target="_blank">for Flow</a>.<br/><br/>
        This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key.
        No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey
        or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production,
        <a href="https://github.com/tatumio/tatum-kms" target="_blank">Tatum KMS</a> should be used for the highest security standards, and signatureId should be present in the request.
        Alternatively, using the Tatum client library for supported languages.
        </p>
      operationId: NftDeployErc721
      parameters:
        - description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
          in: header
          name: x-testnet-type
          required: false
          schema:
            default: ethereum-ropsten
            type: string
            enum:
              - ethereum-ropsten
              - ethereum-rinkeby
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/DeployNftCelo"
                - $ref: "#/components/schemas/DeployNftCeloKMS"
                - $ref: "#/components/schemas/DeployNftTron"
                - $ref: "#/components/schemas/DeployNftTronKMS"
                - $ref: "#/components/schemas/DeployNft"
                - $ref: "#/components/schemas/DeployNftKMS"
                - $ref: "#/components/schemas/DeployNftFlowPK"
                - $ref: "#/components/schemas/DeployNftFlowMnemonic"
                - $ref: "#/components/schemas/DeployNftFlowKMS"
        required: true
      responses:
        200:
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/TransactionHashKMS"
                  - $ref: "#/components/schemas/SignatureId"
          description: OK
        400: &API400
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error400"
          description: Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.
        401: &API401
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/Error401NotActive"
                  - $ref: "#/components/schemas/Error401Invalid"
          description: Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
        403: &API403
          description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/Error403"
        500: &API500
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error500"
          description: Internal server error. There was an error on the server during the processing of the request.
      security:
        - X-Api-Key: [ ]
      x-code-samples:
      summary: Deploy NFT Smart Contract.
      tags:
        - Blockchain / NFT
  /v3/nft/mint:
    post:
      description: |
        <h4>100 credits per API call on FLOW, 2 credits on another chains. Tatum covers the fee connected to the transaction costs in subscription credits for FLOW. This operation can be done on mainnet only for paid plans.</h4><br/>
        <p>Create one NFT Token and transfer it to destination account. Create and transfer any NFT token from smart contract defined in contractAddress.
        It is possible to add URL to the created token with a more detailed information about it.<br/><br/>
        Tatum now supports NFT these blockchains:<br/>
        <ul>
        <li><b>Ethereum</b></li>
        <li><b>Polygon (Matic)</b></li>
        <li><b>Kcs (KCS)</b></li>
        <li><b>Celo</b></li>
        <li><b>Solana</b></li>
        <li><b>Harmony.ONE</b></li>
        <li><b>Tron</b></li>
        <li><b>Flow</b></li>
        <li><b>Binance Smart Chain</b></li>
        </ul>
        <br/>
        For Solana, NFTs are not deployed, only minted right away. Newly created NFT creates new address on the blockchain and owner of the NFT owns with it's private key the account of the NFT.
        <br/>
        This operation works in two modes.

        First mode works just like other NFT endpoints. Every time the funds are transferred, the transaction must be signed with the corresponding private key.
        No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey
        or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production,
        <a href="https://github.com/tatumio/tatum-kms" target="_blank">Tatum KMS</a> should be used for the highest security standards, and signatureId should be present in the request.
        Alternatively, using the Tatum client library for supported languages.

        Second mode works without private key or signature id.
        Mint NFT requests use built-in smart contract, private key and token id which are provided by Tatum.
        You dont need to provide fromPrivateKey (or signatureId), contractAddress and tokenId fields to perform the mint NFT request.

        Performed request without fromPrivateKey or signatureId fields will be populated with following attributes:

        <ul>
          <li><b>fromPrivateKey</b> - a built-in private key connected to the address from which will be NFT transaction fees paid.</li>
          <li><b>tokenId</b> - a counter which starts from 0 and is increased for each NFT mint request by 1. The tokenId is provided per each chain and mainnet/testnet version of network.</li>
          <li><b>contractAddress</b> - represents Tatum built in smart contract address of the minted NFT.</li>
        </ul>

        The blockchain fee of the performed transaction is paid from the address connected with built-in private key and is debitted in form of credits. The credits are debitted only if NFT mint requests are performed with paid API key plan.
        We transform fee to the credits in accordance to the rates provided by the Tatum.

        It means if you perform mint NFT request with following body:

        <pre>{
          "chain": "CELO",
          "to": "0xBC2eBA680EE50d685cc4Fe65f102AA70AfB27D3F",
          "url": "ipfs://QmXJJ6UF5WkF4WTJvsdhiA1etGwBLfpva7Vr9AudGMe3pj"
        }</pre>

        The fields contractAddress, fromPrivateKey and tokenId will be internally filled in following way:

        <pre>{
          "chain": "CELO",
          "to": "0xBC2eBA680EE50d685cc4Fe65f102AA70AfB27D3F",
          "url": "ipfs://QmXJJ6UF5WkF4WTJvsdhiA1etGwBLfpva7Vr9AudGMe3pj",
          "fromPrivateKey": "{tatumBuiltInPrivateKey}",
          "tokenId": "{tatumBuiltInTokenId + 1}",
          "contractAddress": "0x45871ED5F15203C0ce791eFE5f4B5044833aE10e"
        }</pre>

        Keep in mind that your credit amount will be debitted accordingly to the rate of the selected blockchain and cost of transaction fees.


        We have prepared following smart contracts for minting without private key:
        <table>
          <tr>
            <th>Chain</th>
            <th>Testnet/Mainnet</th>
            <th>Address</th>
            <th>Smart contract address</th>
          </tr>
          <tr>
            <td>MATIC</td>
            <td>Testnet</td>
            <td>0x542b9ac4945a3836fd12ad98acbc76a0c8b743f5</td>
            <td>0xCd2AdA00c48A27FAa5Cc67F9A1ed55B89dDf7F77</td>
          </tr>
          <tr>
            <td>BSC</td>
            <td>Testnet</td>
            <td>0xc16ae5e8c985b906935a0cadf4e24f0400531883</td>
            <td>0xF73075aa67561791352fbEe8278115487Fd90ab6</td>
          </tr>
          <tr>
            <td>ONE</td>
            <td>Testnet</td>
            <td>0x8906f62d40293ddca77fdf6714c3f63265deddf0</td>
            <td>0x427ddbe3ad5e1e77e010c02e61e9bdef82dcaeea</td>
          </tr>
          <tr>
            <td>ETH</td>
            <td>Testnet</td>
            <td>0x51abC4c9e7BFfaA99bBE4dDC33d75067EBD0384F</td>
            <td>0xAe7D8842D0295B1f24a8842cBd5eB83Ae2fd0946</td>
          </tr>
          <tr>
            <td>CELO</td>
            <td>Testnet</td>
            <td>0xBC2eBA680EE50d685cc4Fe65f102AA70AfB27D3F</td>
            <td>0x45871ED5F15203C0ce791eFE5f4B5044833aE10e</td>
          </tr>
          <tr>
            <td>MATIC</td>
            <td>Mainnet</td>
            <td>0xcf9e127455d28e7362380aec1b92ddee8200b295</td>
            <td>0x6709bdda623af7eb152cb2fe2562ab7e031e564f</td>
          </tr>
          <tr>
            <td>KCS</td>
            <td>Mainnet</td>
            <td>0xcf9e127455d28e7362380aec1b92ddee8200b295</td>
            <td>0x6709bdda623af7eb152cb2fe2562ab7e031e564f</td>
          </tr>
          <tr>
            <td>BSC</td>
            <td>Mainnet</td>
            <td>0xcf9e127455d28e7362380aec1b92ddee8200b295</td>
            <td>0x6709bdda623af7eb152cb2fe2562ab7e031e564f</td>
          </tr>
          <tr>
            <td>ETH</td>
            <td>Mainnet</td>
            <td>0xcf9e127455d28e7362380aec1b92ddee8200b295</td>
            <td>0x789c00ed7ddd72a806dbac40df926df32fde3c2f</td>
          </tr>
          <tr>
            <td>ONE</td>
            <td>Mainnet</td>
            <td>0xcf9e127455d28e7362380aec1b92ddee8200b295</td>
            <td>0x6709bdda623af7eb152cb2fe2562ab7e031e564f</td>
          </tr>
          <tr>
            <td>CELO</td>
            <td>Mainnet</td>
            <td>0xcf9e127455d28e7362380aec1b92ddee8200b295</td>
            <td>0x6709bdda623af7eb152cb2fe2562ab7e031e564f</td>
          </tr>

        </table>
        To add ETH mainnet smart contract contact sales@tatum.io.
        If there will be a low amount of coins on any testnet address you are free to send coins to the address. In future we will provide also addresses and smart contracts for the mainnet version.        </p>
      operationId: NftMintErc721
      parameters:
        - description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
          in: header
          name: x-testnet-type
          required: false
          schema:
            default: ethereum-ropsten
            type: string
            enum:
              - ethereum-ropsten
              - ethereum-rinkeby
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/MintNftCelo"
                - $ref: "#/components/schemas/MintNftKMSCelo"
                - $ref: "#/components/schemas/MintNftTron"
                - $ref: "#/components/schemas/MintNftKMSTron"
                - $ref: "#/components/schemas/MintNft"
                - $ref: "#/components/schemas/MintNftKMS"
                - $ref: "#/components/schemas/MintNftSolana"
                - $ref: "#/components/schemas/MintNftSolanaKMS"
                - $ref: "#/components/schemas/MintNftFlowPK"
                - $ref: "#/components/schemas/MintNftFlowMnemonic"
                - $ref: "#/components/schemas/MintNftFlowKMS"
        required: true
      responses:
        200:
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/TransactionHashKMS"
                  - $ref: "#/components/schemas/FlowMintedResult"
                  - $ref: "#/components/schemas/SolanaMintedResult"
                  - $ref: "#/components/schemas/SignatureId"
          description: OK
        400:
          <<: *API400
        401:
          <<: *API401
        403:
          description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/Error403Celo"
        500:
          <<: *API500
      security:
        - X-Api-Key: [ ]
      x-code-samples:
      summary: Mint NFT
      tags:
        - Blockchain / NFT
  /v3/nft/transaction:
    post:
      description: |
        <h4>100 credits per API call on FLOW, 2 credits on another chains. Tatum covers the fee connected to the transaction costs in subscription credits for FLOW. This operation can be done on mainnet only for paid plans.</h4><br/>
        <p>Transfer NFT Tokens from account to account. Transfer any NFT token from smart contract defined in contractAddress.
        Only 1 specific token with specified tokenId can be transfered. This method invokes ERC721 method safeTransfer() to transfer the token in case of ETH, Celo and BSC.<br/><br/>
        Tatum now supports NFT these blockchains:<br/>
        <ul>
        <li><b>Ethereum</b></li>
        <li><b>Polygon (Matic)</b></li>
        <li><b>Kcs (KCS)</b></li>
        <li><b>Flow</b></li>
        <li><b>Celo</b></li>
        <li><b>Harmony.ONE</b></li>
        <li><b>Tron</b></li>
        <li><b>Binance Smart Chain</b></li>
        <li><b>Algorand</b></li>
        <li><b>Solana</b></li>
        </ul>
        This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key.
        No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey
        or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production,
        <a href="https://github.com/tatumio/tatum-kms" target="_blank">Tatum KMS</a> should be used for the highest security standards, and signatureId should be present in the request.
        Alternatively, using the Tatum client library for supported languages.
        Algorand is unique a way that the receiving account should be ready before sending the NFT asset.
        To perform this, the receiving account should transfer the NFT asset with 0 amount to itself.
        During the process, it's using the same API as the main transaction: the only difference is that the "fromPrivateKey" should be the privateKey of the receiving account.
        </p>
      operationId: NftTransferErc721
      parameters:
        - description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
          in: header
          name: x-testnet-type
          required: false
          schema:
            default: ethereum-ropsten
            type: string
            enum:
              - ethereum-ropsten
              - ethereum-rinkeby
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/TransferNft"
                - $ref: "#/components/schemas/TransferNftCelo"
                - $ref: "#/components/schemas/TransferNftTron"
                - $ref: "#/components/schemas/TransferNftSolana"
                - $ref: "#/components/schemas/TransferNftFlowPK"
                - $ref: "#/components/schemas/TransferNftFlowMnemonic"
                - $ref: "#/components/schemas/TransferNftKMS"
                - $ref: "#/components/schemas/TransferNftKMSCelo"
                - $ref: "#/components/schemas/TransferNftKMSTron"
                - $ref: "#/components/schemas/TransferNftSolanaKMS"
                - $ref: "#/components/schemas/TransferNftFlowKMS"
        required: true
      responses:
        200:
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/TransactionHashKMS"
                  - $ref: "#/components/schemas/SignatureId"
          description: OK
        400:
          <<: *API400
        401:
          <<: *API401
        403:
          description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/Error403Celo"
        500:
          <<: *API500
      security:
        - X-Api-Key: [ ]
      x-code-samples:
      summary: Transfer NFT Token
      tags:
        - Blockchain / NFT
  /v3/nft/mint/batch:
    post:
      description: |
        <h4>100 credits per API call on FLOW, 2 credits on another chains. Tatum covers the fee connected to the transaction costs in subscription credits for FLOW. This operation can be done on mainnet only for paid plans.</h4><br/>
        <p>Create multiple NFT Tokens and transfer them to destination account. Create and transfer any NFT tokens from smart contract defined in contractAddress.<br/><br/>
        Tatum now supports NFT these blockchains:<br/>
        <ul>
        <li><b>Ethereum</b></li>
        <li><b>Polygon (Matic)</b></li>
        <li><b>Kcs (KCS)</b></li>
        <li><b>Celo</b></li>
        <li><b>Harmony.ONE</b></li>
        <li><b>Tron</b></li>
        <li><b>Flow</b></li>
        <li><b>Binance Smart Chain</b></li>
        </ul>
        This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key.
        No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey
        or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production,
        <a href="https://github.com/tatumio/tatum-kms" target="_blank">Tatum KMS</a> should be used for the highest security standards, and signatureId should be present in the request.
        Alternatively, using the Tatum client library for supported languages.
        </p>
      operationId: NftMintMultipleErc721
      parameters:
        - description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
          in: header
          name: x-testnet-type
          required: false
          schema:
            default: ethereum-ropsten
            type: string
            enum:
              - ethereum-ropsten
              - ethereum-rinkeby
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/MintMultipleNftCelo"
                - $ref: "#/components/schemas/MintMultipleNftKMSCelo"
                - $ref: "#/components/schemas/MintMultipleNftTron"
                - $ref: "#/components/schemas/MintMultipleNftKMSTron"
                - $ref: "#/components/schemas/MintMultipleNft"
                - $ref: "#/components/schemas/MintMultipleNftKMS"
                - $ref: "#/components/schemas/MintMultipleNftFlowPK"
                - $ref: "#/components/schemas/MintMultipleNftFlowMnemonic"
                - $ref: "#/components/schemas/MintMultipleNftFlowKMS"
        required: true
      responses:
        200:
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/TransactionHashKMS"
                  - $ref: "#/components/schemas/FlowMintedMultipleResult"
                  - $ref: "#/components/schemas/SignatureId"
          description: OK
        400:
          <<: *API400
        401:
          <<: *API401
        403:
          description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/Error403Celo"
        500:
          <<: *API500
      security:
        - X-Api-Key: [ ]
      x-code-samples:
      summary: Mint NFT Multiple Tokens
      tags:
        - Blockchain / NFT
  /v3/nft/burn:
    post:
      description: |
        <h4>100 credits per API call on FLOW, 2 credits on another chains. Tatum covers the fee connected to the transaction costs in subscription credits for FLOW. This operation can be done on mainnet only for paid plans.</h4><br/>
        <p>Burn one NFT Token. This method destroys any NFT token from smart contract defined in contractAddress.<br/><br/>
        Tatum now supports NFT these blockchains:<br/>
        <ul>
        <li><b>Ethereum</b></li>
        <li><b>Polygon (Matic)</b></li>
        <li><b>Kcs (KCS)</b></li>
        <li><b>Celo</b></li>
        <li><b>Harmony.ONE</b></li>
        <li><b>Tron</b></li>
        <li><b>Flow</b></li>
        <li><b>Binance Smart Chain</b></li>
        <li><b>Algorand</b></li>
        </ul>
        This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key.
        No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey
        or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production,
        <a href="https://github.com/tatumio/tatum-kms" target="_blank">Tatum KMS</a> should be used for the highest security standards, and signatureId should be present in the request.
        Alternatively, using the Tatum client library for supported languages.
        </p>
      operationId: NftBurnErc721
      parameters:
        - description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
          in: header
          name: x-testnet-type
          required: false
          schema:
            default: ethereum-ropsten
            type: string
            enum:
              - ethereum-ropsten
              - ethereum-rinkeby
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/BurnNftCelo"
                - $ref: "#/components/schemas/BurnNftKMSCelo"
                - $ref: "#/components/schemas/BurnNftTron"
                - $ref: "#/components/schemas/BurnNftKMSTron"
                - $ref: "#/components/schemas/BurnNft"
                - $ref: "#/components/schemas/BurnNftKMS"
                - $ref: "#/components/schemas/BurnNftFlowPK"
                - $ref: "#/components/schemas/BurnNftFlowMnemonic"
                - $ref: "#/components/schemas/BurnNftFlowKMS"
        required: true
      responses:
        200:
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/TransactionHashKMS"
                  - $ref: "#/components/schemas/SignatureId"
          description: OK
        400:
          <<: *API400
        401:
          <<: *API401
        403:
          description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/Error403Celo"
        500:
          <<: *API500
      security:
        - X-Api-Key: [ ]
      x-code-samples:
      summary: Burn NFT
      tags:
        - Blockchain / NFT
  /v3/nft/mint/add:
    post:
      description: |
        <h4>2 credits.</h4><br/>
        <p>Add new minter of NFT Tokens. This method adds minter permission to new minter address.<br/><br/>
        Tatum now supports NFT these blockchains:<br/>
        <ul>
        <li><b>Ethereum</b></li>
        <li><b>Polygon (Matic)</b></li>
        <li><b>Kcs (KCS)</b></li>
        <li><b>Celo</b></li>
        <li><b>Harmony.ONE</b></li>
        <li><b>Binance Smart Chain</b></li>
        </ul>
        This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key.
        No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey
        or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production,
        <a href="https://github.com/tatumio/tatum-kms" target="_blank">Tatum KMS</a> should be used for the highest security standards, and signatureId should be present in the request.
        Alternatively, using the Tatum client library for supported languages.
        </p>
      operationId: NftAddMinter
      parameters:
        - description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
          in: header
          name: x-testnet-type
          required: false
          schema:
            default: ethereum-ropsten
            type: string
            enum:
              - ethereum-ropsten
              - ethereum-rinkeby
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/AddNftMinter"
                - $ref: "#/components/schemas/AddNftMinterKMS"
        required: true
      responses:
        200:
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/TransactionHashKMS"
                  - $ref: "#/components/schemas/SignatureId"
          description: OK
        400:
          <<: *API400
        401:
          <<: *API401
        403:
          description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/Error403Celo"
        500:
          <<: *API500
      security:
        - X-Api-Key: [ ]
      x-code-samples:
      summary: Add NFT Minter
      tags:
        - Blockchain / NFT
  /v3/nft/royalty:
    put:
      description: |
        <h4>2 credits per API call.</h4><br/>
        <p>Update royalty cashback value for one NFT Token. This method updates the first royalty value of specific author for 1 token.
        If royalty value is set to 0, it will disable the royalty system for the token. Only from author's address of the royalty can change it's royalty value, not the owner of the token.<br/><br/>
        Tatum now supports NFT these blockchains:<br/>
        <ul>
        <li><b>Ethereum</b></li>
        <li><b>Polygon (Matic)</b></li>
        <li><b>Kcs (KCS)</b></li>
        <li><b>Celo</b></li>
        <li><b>Harmony.ONE</b></li>
        <li><b>Tron</b></li>
        <li><b>Binance Smart Chain</b></li>
        </ul>
        This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key.
        No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey
        or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production,
        <a href="https://github.com/tatumio/tatum-kms" target="_blank">Tatum KMS</a> should be used for the highest security standards, and signatureId should be present in the request.
        Alternatively, using the Tatum client library for supported languages.
        </p>
      operationId: NftUpdateCashbackErc721
      parameters:
        - description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
          in: header
          name: x-testnet-type
          required: false
          schema:
            default: ethereum-ropsten
            type: string
            enum:
              - ethereum-ropsten
              - ethereum-rinkeby
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/UpdateCashbackValueForAuthorNftCelo"
                - $ref: "#/components/schemas/UpdateCashbackValueForAuthorNftKMSCelo"
                - $ref: "#/components/schemas/UpdateCashbackValueForAuthorNftTron"
                - $ref: "#/components/schemas/UpdateCashbackValueForAuthorNftKMSTron"
                - $ref: "#/components/schemas/UpdateCashbackValueForAuthorNft"
                - $ref: "#/components/schemas/UpdateCashbackValueForAuthorNftKMS"
        required: true
      responses:
        200:
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/TransactionHashKMS"
                  - $ref: "#/components/schemas/SignatureId"
          description: OK
        400:
          <<: *API400
        401:
          <<: *API401
        403:
          description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/Error403Celo"
        500:
          <<: *API500
      security:
        - X-Api-Key: [ ]
      x-code-samples:
      summary: Update Royalty NFT
      tags:
        - Blockchain / NFT
  /v3/nft/transaction/{chain}/{address}/{tokenAddress}:
    get:
      description: "<h4>1 credit per API call.</h4><br/><p>Get NFT transactions by address. This includes incoming and outgoing transactions for the address.</p>"
      operationId: NftGetTransactionByAddress
      parameters:
        - description: "Blockchain to work with"
          in: path
          name: chain
          required: true
          schema:
            type: string
            enum:
              - CELO
              - ETH
              - MATIC
            example: CELO
        - description: "Account address"
          in: path
          name: address
          required: true
          schema:
            type: string
            example: "0x8ce4e40889a13971681391aad29e88efaf91f784"
        - description: "Token address"
          in: path
          name: tokenAddress
          required: true
          schema:
            type: string
            example: "0x1ce4e40889a13971681391aad29e88efaf91f784"
        - description: Max number of items per page is 50.
          in: query
          name: pageSize
          schema:
            type: number
            example: 10
            maximum: 50
            minimum: 1
          required: true
        - description: Offset to obtain next page of the data.
          in: query
          name: offset
          schema:
            type: number
            example: 0
        - description: Transactions from this block onwords will be included.
          in: query
          name: from
          schema:
            type: number
            minimum: 0
            example: 1087623
        - description: Transactions up to this block will be included.
          in: query
          name: to
          schema:
            type: number
            minimum: 0
            example: 1087823
      responses:
        200:
          content:
            application/json:
              schema:
                type: array
                items:
                  oneOf:
                    - $ref: "#/components/schemas/NftTx"
          description: OK
        400:
          <<: *API400
        401:
          <<: *API401
        500:
          <<: *API500
      security:
        - X-Api-Key: [ ]
      x-code-samples:
      summary: Get NFT transactions by address
      tags:
        - Blockchain / NFT
  /v3/nft/transaction/tokenId/{chain}/{tokenAddress}/{tokenId}:
    get:
      description: "<h4>1 credit per API call.</h4><br/><p>Get NFT transactions by token. This includes incoming and outgoing transactions for the token.</p>"
      operationId: NftGetTransactionByToken
      parameters:
        - description: "Blockchain to work with"
          in: path
          name: chain
          required: true
          schema:
            type: string
            enum:
              - CELO
              - ETH
              - MATIC
            example: CELO
        - description: "NFT Token ID"
          in: path
          name: tokenId
          required: true
          schema:
            type: integer
            minimum: 0
            example: 1
        - description: "Token address"
          in: path
          name: tokenAddress
          required: true
          schema:
            type: string
            example: "0x1ce4e40889a13971681391aad29e88efaf91f784"
        - description: Max number of items per page is 50.
          in: query
          name: pageSize
          schema:
            type: number
            example: 10
            maximum: 50
            minimum: 1
          required: true
        - description: Offset to obtain next page of the data.
          in: query
          name: offset
          schema:
            type: number
            example: 0
        - description: Transactions from this block onwords will be included.
          in: query
          name: from
          schema:
            type: number
            minimum: 0
            example: 1087623
        - description: Transactions up to this block will be included.
          in: query
          name: to
          schema:
            type: number
            minimum: 0
            example: 1087823
      responses:
        200:
          content:
            application/json:
              schema:
                type: array
                items:
                  oneOf:
                    - $ref: "#/components/schemas/NftTx"
          description: OK
        400:
          <<: *API400
        401:
          <<: *API401
        500:
          <<: *API500
      security:
        - X-Api-Key: [ ]
      x-code-samples:
      summary: Get NFT transactions by token
      tags:
        - Blockchain / NFT
  /v3/nft/address/{chain}/{hash}:
    get:
      description: |
        <h4>1 credit per API call.</h4><br/>
        <p>Get NFT contract address from deploy transaction. This method is deprecated, use <a href="#operation/SCGetContractAddress">Get contract address</a> instead.</p>
      deprecated: true
      operationId: NftGetContractAddress
      parameters:
        - description: Blockchain to work with
          in: path
          name: chain
          required: true
          schema:
            type: string
            enum:
              - ETH
              - ONE
              - CELO
              - TRON
              - FLOW
              - MATIC
              - KCS
              - BSC
        - description: "Transaction hash"
          in: path
          name: hash
          required: true
          schema:
            type: string
            example: "0xe6e7340394958674cdf8606936d292f565e4ecc476aaa8b258ec8a141f7c75d7"
        - description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
          in: header
          name: x-testnet-type
          required: false
          schema:
            default: ethereum-ropsten
            type: string
            enum:
              - ethereum-ropsten
              - ethereum-rinkeby
      responses:
        200:
          content:
            application/json:
              schema:
                type: object
                properties:
                  contractAddress:
                    type: string
                    description: Address of the NFT token.
                    example: "0xc21C81ef03f98898Fb155E00C364e8a7b9D158b8"
          description: OK
        400:
          <<: *API400
        401:
          <<: *API401
        403:
          description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/Error403TxNotFound"
        500:
          <<: *API500
      security:
        - X-Api-Key: [ ]
      x-code-samples:
      summary: Get contract address from transaction
      tags:
        - Blockchain / NFT
  /v3/nft/transaction/{chain}/{hash}:
    get:
      description: "<h4>1 credit per API call.</h4><br/><p>Get NFT transaction by transaction hash.</p>"
      operationId: NftGetTransactErc721
      parameters:
        - description: Blockchain to work with
          in: path
          name: chain
          required: true
          schema:
            type: string
            enum:
              - ETH
              - MATIC
              - KCS
              - ONE
              - CELO
              - TRON
              - FLOW
              - BSC
        - description: "Transaction hash"
          in: path
          name: hash
          required: true
          schema:
            type: string
            example: "0xe6e7340394958674cdf8606936d292f565e4ecc476aaa8b258ec8a141f7c75d7"
        - description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
          in: header
          name: x-testnet-type
          required: false
          schema:
            default: ethereum-ropsten
            type: string
            enum:
              - ethereum-ropsten
              - ethereum-rinkeby
      responses:
        200:
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/CeloTx"
                  - $ref: "#/components/schemas/EthTx"
                  - $ref: "#/components/schemas/FlowTx"
          description: OK
        400:
          <<: *API400
        401:
          <<: *API401
        403:
          description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/Error403TxNotFound"
        500:
          <<: *API500
      security:
        - X-Api-Key: [ ]
      x-code-samples:
      summary: Get Transaction
      tags:
        - Blockchain / NFT
  /v3/nft/address/balance/{chain}/{address}:
    get:
      description: |
        <h4>1 credit per API call + 5 credits for each owned token.</h4><br/><p>Get NFTs on address. Returns all NFTs this address holds.</p>
      operationId: NftGetTokensByAddressErc721
      parameters:
        - description: Blockchain to work with
          in: path
          name: chain
          required: true
          schema:
            type: string
            example: ETH
            enum:
              - ALGO
              - CELO
              - MATIC
              - ETH
        - description: "Account address"
          in: path
          name: address
          required: true
          schema:
            type: string
            example: "NTAESFCB3WOD7SAOL42KSPVARLB3JFA3MNX3AESWHYVT2RMYDVZI6YLG4Y"
      responses:
        200:
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - contractAddress
                    - balances
                  properties:
                    contractAddress:
                      type: string
                      example: "43821281"
                      description: Contract address of the NFT. In Algorand case, it will be asset-id..
                    balances:
                      type: array
                      items:
                        type: string
                        description: Amount of tokens available. It is always 1 or 0 for NFTs on Algorand, tokenId for EVM based chains like CELO or MATIC.
                        example: "1"
                    metadata:
                      type: array
                      items:
                        type: object
                        required:
                          - tokenID
                        properties:
                          tokenId:
                            description: TokenID of the NFT token owned by this address.
                            example: "1"
                            type: string
                          url:
                            description: Metadata URL of the TokenID. This data don't have to be present, safest way (if not present) is to obtain them from the NFT Contract.tokenURI() method call.
                            example: "ipfs://QmXFpaS3S7CkLZvihLFA9JbawKdqhjg8dJeDkPntmkD2Pc"
                            type: string
                          metadata:
                            type: object
                            description: Metadata scheme obtained from the url. This data don't have to be present, safest way (if not present) is to obtain them from the NFT Contract.tokenURI() method call.
                            example: {"name": "Example NFT name",
                                      "description": "Example NFT description",
                                      "image": "ipfs://QmP4R7ACZ7JRQ6sLdmnPHqjWEXxzdnPvhAV2f6RnQ8uxJ6"}
          description: OK
        400:
          <<: *API400
        401:
          <<: *API401
        403:
          description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error403"
        500:
          <<: *API500
      security:
        - X-Api-Key: [ ]
      x-code-samples:
      summary: Get NFT tokens for address
      tags:
        - Blockchain / NFT
  /v3/nft/balance/{chain}/{contractAddress}/{address}:
    get:
      description: |
        <h4>1 credit per API call.</h4><br/><p>Get NFTs on Account. Returns tokenIDs of tokens Account holds. This method is valid only for tokens deplyed using Tatum API - it reads data from the smart contract.</p>
      operationId: NftGetBalanceErc721
      parameters:
        - description: Blockchain to work with
          in: path
          name: chain
          required: true
          schema:
            type: string
            enum:
              - ETH
              - MATIC
              - KCS
              - ONE
              - CELO
              - TRON
              - FLOW
              - BSC
        - description: "Account address"
          in: path
          name: address
          required: true
          schema:
            type: string
            example: "0x3223AEB8404C7525FcAA6C512f91e287AE9FfE7B"
        - description: "NFT contract address"
          in: path
          name: contractAddress
          required: true
          schema:
            type: string
            example: "0x94Ce79B9F001E25BBEbE7C01998A78F7B27D1326"
        - description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
          in: header
          name: x-testnet-type
          required: false
          schema:
            default: ethereum-ropsten
            type: string
            enum:
              - ethereum-ropsten
              - ethereum-rinkeby
      responses:
        200:
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                  description: Token ID.
                  example: "10"
          description: OK
        400:
          <<: *API400
        401:
          <<: *API401
        403:
          description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error403Celo"
        500:
          <<: *API500
      security:
        - X-Api-Key: [ ]
      x-code-samples:
      summary: Get NFT Account balance
      tags:
        - Blockchain / NFT
  /v3/nft/provenance/{chain}/{contractAddress}/{tokenId}:
    get:
      description: "<h4>1 credit per API call.</h4><br/><p>Get NFT token provenance data, valid only for provenance contract.</p>"
      operationId: NftGetProvenanceDataErc721
      parameters:
        - description: Blockchain to work with
          in: path
          name: chain
          required: true
          schema:
            type: string
            enum:
              - ETH
              - MATIC
              - KCS
              - ONE
              - CELO
              - BSC
        - description: "Token ID"
          in: path
          name: tokenId
          required: true
          schema:
            type: string
            example: "1"
            maxLength: 32
        - description: "NFT contract address"
          in: path
          name: contractAddress
          required: true
          schema:
            type: string
            example: "0x94Ce79B9F001E25BBEbE7C01998A78F7B27D1326"
        - description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
          in: header
          name: x-testnet-type
          required: false
          schema:
            default: ethereum-ropsten
            type: string
            enum:
              - ethereum-ropsten
              - ethereum-rinkeby
      responses:
        200:
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    provenanceData:
                      type: string
                      example: "0x94Ce79B9F001E25BBEbE7C01998A78F7B27D1326"
                    tokenPrice:
                      type: string
                      example: "123"
          description: OK
        400:
          <<: *API400
        401:
          <<: *API401
        403:
          description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error403"
        500:
          <<: *API500
      security:
        - X-Api-Key: [ ]
      x-code-samples:
      summary: Get NFT Token Provenance Data
      tags:
        - Blockchain / NFT
  /v3/nft/metadata/{chain}/{contractAddress}/{token}:
    get:
      description: "<h4>1 credit per API call.</h4><br/><p>Get NFT token metadata.</p>"
      operationId: NftGetMetadataErc721
      parameters:
        - description: Blockchain to work with
          in: path
          name: chain
          required: true
          schema:
            type: string
            enum:
              - ETH
              - MATIC
              - KCS
              - SOL
              - ONE
              - CELO
              - TRON
              - FLOW
              - BSC
        - description: "NFT contract address"
          in: path
          name: contractAddress
          required: true
          schema:
            type: string
            example: "0x94Ce79B9F001E25BBEbE7C01998A78F7B27D1326"
        - description: "Token ID, required for all except SOL"
          in: path
          name: token
          required: true
          schema:
            type: string
            example: "1"
            maxLength: 32
        - description: Account holding this token. FLOW only.
          in: query
          required: false
          name: account
          schema:
            type: string
            example: "0xc1b45bc27b9c61c3"
        - description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
          in: header
          name: x-testnet-type
          required: false
          schema:
            default: ethereum-ropsten
            type: string
            enum:
              - ethereum-ropsten
              - ethereum-rinkeby
      responses:
        200:
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: string
                    description: Metadata associated with token.
                    example: "https://my_token_data.com"
          description: OK
        400:
          <<: *API400
        401:
          <<: *API401
        403:
          description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error403Celo"
        500:
          <<: *API500
      security:
        - X-Api-Key: [ ]
      x-code-samples:
      summary: Get NFT Token Metadata
      tags:
        - Blockchain / NFT
  /v3/nft/royalty/{chain}/{contractAddress}/{token}:
    get:
      description: "<h4>1 credit per API call.</h4><br/><p>Get NFT token royalty.</p>"
      operationId: NftGetRoyaltyErc721
      parameters:
        - description: Blockchain to work with
          in: path
          name: chain
          required: true
          schema:
            type: string
            enum:
              - ETH
              - MATIC
              - KCS
              - SOL
              - ONE
              - CELO
              - TRON
              - BSC
        - description: "NFT contract address"
          in: path
          name: contractAddress
          required: true
          schema:
            type: string
            example: "0x94Ce79B9F001E25BBEbE7C01998A78F7B27D1326"
        - description: "Token ID, required for all except SOL"
          in: path
          name: token
          required: true
          schema:
            type: string
            example: "1"
            maxLength: 32
        - description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
          in: header
          name: x-testnet-type
          required: false
          schema:
            default: ethereum-ropsten
            type: string
            enum:
              - ethereum-ropsten
              - ethereum-rinkeby
      responses:
        200:
          content:
            application/json:
              schema:
                type: object
                properties:
                  addresses:
                    type: array
                    description: Addresses of the authors where cashback will be paid.
                    items:
                      type: string
                      example: "0x94Ce79B9F001E25BBEbE7C01998A78F7B27D1326"
                  values:
                    type: array
                    description: |
                      Values of the royalties, which will be paid to the authors with every token transfer.
                      Amount is in native asset of the blockchain or in percents for SOL NFTs.
                    items:
                      type: string
                      example: "0.2"
          description: OK
        400:
          <<: *API400
        401:
          <<: *API401
        403:
          description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error403Celo"
        500:
          <<: *API500
      security:
        - X-Api-Key: [ ]
      x-code-samples:
      summary: Get NFT Token Royalty information
      tags:
        - Blockchain / NFT
components:
  securitySchemes:
    X-Api-Key:
      description: |
        To maintain the highest security level, Tatum requires X-API-Key HTTP header.
        This X-API-Key represents identification of the plan and can be used by 1 developer or per environment.
        Each X-API-Key is bound to the test or production blockchains.
      in: header
      name: x-api-key
      type: apiKey
  schemas:
    TransferNftCelo:
      type: object
      properties:
        value:
          type: string
          description: If token to be transferred is Royalty NFT token, this is a value to be paid as a cashback to the authors of the token.
          example: "1"
        chain:
          type: string
          example: CELO
          description: Chain to work with.
          enum:
            - CELO
        to:
          maxLength: 42
          minLength: 42
          description: Blockchain address to send NFT token to
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        tokenId:
          description: ID of token.
          example: "100000"
          type: string
          maxLength: 256
        provenance:
          description: True if the contract is provenance type
          example: true
          type: boolean
        provenanceData:
          description: data you want to store with transaction, optional and valid only if provenance contract
          example: test
          type: string
        tokenPrice:
          description: current price of the token, valid only for provenance
          example: "1"
          type: string
          maxLength: 256
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        fromPrivateKey:
          type: string
          maxLength: 66
          example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
          minLength: 66
          description: Private key of sender address. Private key, or signature Id must be present.
        nonce:
          type: number
          example: 1
          description: Nonce to be set to Celo transaction. If not present, last known nonce will be used.
        feeCurrency:
          type: string
          description: Currency to pay for transaction gas
          enum:
            - CELO
            - CUSD
            - CEUR
      required:
        - chain
        - to
        - contractAddress
        - tokenId
        - fromPrivateKey
    TransferNftTron:
      type: object
      properties:
        value:
          type: string
          description: If token to be transferred is Royalty NFT token, this is a value to be paid as a cashback to the authors of the token.
          example: "1"
        chain:
          type: string
          example: TRON
          description: Chain to work with.
          enum:
            - TRON
        to:
          maxLength: 34
          minLength: 34
          description: Blockchain address to send NFT token to
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        tokenId:
          description: ID of token.
          example: "100000"
          type: string
          maxLength: 256
        contractAddress:
          maxLength: 34
          minLength: 34
          description: Address of NFT token
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        fromPrivateKey:
          type: string
          maxLength: 64
          example: "842E09EB40D8175979EFB0071B28163E11AED0F14BDD84090A4CEFB936EF5701"
          minLength: 64
          description: Private key of sender address. Private key, or signature Id must be present.
        feeLimit:
          type: number
          description: Max limit for fee to be paid, in TRX.
          example: 600
      required:
        - chain
        - to
        - contractAddress
        - tokenId
        - fromPrivateKey
        - feeLimit
    FlowMintedMultipleResult:
      type: object
      properties:
        txId:
          type: string
          description: Transaction ID
          example: "d67787399d205139f4d6f42c2aa4fffdf6f247411fae3706e874fbba0ce04b1b"
        tokenId:
          type: array
          items:
            type: number
            description: ID of the minted token
            example: 12345
    FlowMintedResult:
      type: object
      properties:
        txId:
          type: string
          description: Transaction ID
          example: "d67787399d205139f4d6f42c2aa4fffdf6f247411fae3706e874fbba0ce04b1b"
        tokenId:
          type: number
          description: ID of the minted token
          example: 12345
    SolanaMintedResult:
      type: object
      properties:
        txId:
          type: string
          description: Transaction ID
          example: "4kiRkAWjjr5t3rBKmYQ5d2e3xjgnRRttB5GtUz2F4sz5wwC7NnV74qCZ1KN1b37qsnjkKknsJPGXdcPhzHpkiMAs"
        nftAddress:
          type: string
          description: Address of the minted NFT contract
          example: "4afZBmAneN2j6gDHH8zdrNWkCqfMC3XPH2cpFKtYMSVe"
        nftAccountAddress:
          type: string
          description: Address of the account owned by a mint recipient, which holds the minted NFT
          example: "A8BSHPJcB5ZGCT6yo6pz2RYqnypTSpzTAFSBhtTQmsEE"
    MintMultipleNftCelo:
      type: object
      properties:
        chain:
          type: string
          example: CELO
          description: Chain to work with.
          enum:
            - CELO
        to:
          type: array
          description: Blockchain address to send NFT token to.
          example: [ "0x687422eEA2cB73B5d3e242bA5456b782919AFc85" ]
          items:
            maxLength: 42
            minLength: 42
            type: string
        tokenId:
          type: array
          description: ID of token to be created.
          example: [ "100000" ]
          items:
            type: string
            maxLength: 32
        url:
          description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
          type: array
          example:
            - "https://my_token_data.com"
          items:
            type: string
            maxLength: 256
        authorAddresses:
          type: array
          description: List of addresses for every token, where royalty cashback for every transfer of this NFT will be send. Royalties are paid in native blockchain currency CELO.
          items:
            type: array
            items:
              type: string
              minLength: 42
              maxLength: 42
              description: Blockchain address to send royalties to
              example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
        cashbackValues:
          type: array
          description: List of values for every token, which will be paid as a royalty for author of the NFT token with every token transfer. This is exact value in native blockhain currency.
          items:
            type: array
            items:
              type: string
              description: Value of the royalty to be paid.
              example: "0.5"
        contractAddress:
          maxLength: 36
          minLength: 36
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        fromPrivateKey:
          type: string
          maxLength: 66
          example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
          minLength: 66
          description: Private key of sender address. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Celo transaction. If not present, last known nonce will be used.
        feeCurrency:
          type: string
          description: Currency to pay for transaction gas
          enum:
            - CELO
            - CUSD
            - CEUR
      required:
        - chain
        - to
        - contractAddress
        - url
        - fromPrivateKey
        - feeCurrency
        - tokenId
    MintMultipleNftTron:
      type: object
      properties:
        chain:
          type: string
          example: TRON
          description: Chain to work with.
          enum:
            - TRON
        to:
          type: array
          description: Blockchain address to send NFT token to.
          example: [ "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ" ]
          items:
            maxLength: 34
            minLength: 34
            type: string
        tokenId:
          type: array
          description: ID of token to be created.
          example: [ "100000" ]
          items:
            type: string
            maxLength: 32
        url:
          description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
          type: array
          example:
            - "https://my_token_data.com"
          items:
            type: string
            maxLength: 256
        contractAddress:
          maxLength: 34
          minLength: 34
          description: Address of NFT token
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        fromPrivateKey:
          type: string
          maxLength: 64
          example: "842E09EB40D8175979EFB0071B28163E11AED0F14BDD84090A4CEFB936EF5701"
          minLength: 64
          description: Private key of sender address. Private key, or signature Id must be present.
        feeLimit:
          type: number
          description: Max limit for fee to be paid, in TRX.
          example: 600
      required:
        - chain
        - to
        - contractAddress
        - url
        - fromPrivateKey
        - feeLimit
        - tokenId
    DeployNftCelo:
      type: object
      properties:
        chain:
          type: string
          example: CELO
          description: Chain to work with.
          enum:
            - CELO
        name:
          description: Name of the NFT token
          example: My ERC721
          maxLength: 100
          minLength: 1
          type: string
        provenance:
          description: True if the contract is provenance type - each transfer of the NFT can track the provenance history of the transaction. Based on this features, percentage royalties could be enabled.
          example: true
          type: boolean
        publicMint:
          description: True if anyone will be able to mint NFTs, false by default for deployer as a default minter.
          example: true
          type: boolean
        symbol:
          description: Symbol of the NFT token
          example: ERC_SYMBOL
          maxLength: 30
          minLength: 1
          type: string
        fromPrivateKey:
          description: Private key of Ethereum account address, from which gas for deployment of ERC721 will be paid. Private key, or signature Id must be present.
          type: string
          maxLength: 66
          example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
          minLength: 66
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
        feeCurrency:
          type: string
          description: Currency to pay for transaction gas
          enum:
            - CELO
            - CUSD
            - CEUR
      required:
        - chain
        - name
        - symbol
        - feeCurrency
        - fromPrivateKey
    DeployNftTron:
      type: object
      properties:
        chain:
          type: string
          example: TRON
          description: Chain to work with.
          enum:
            - TRON
        name:
          description: Name of the NFT token
          example: My ERC721
          maxLength: 100
          minLength: 1
          type: string
        symbol:
          description: Symbol of the NFT token
          example: ERC_SYMBOL
          maxLength: 30
          minLength: 1
          type: string
        fromPrivateKey:
          description: Private key of Ethereum account address, from which gas for deployment of ERC721 will be paid. Private key, or signature Id must be present.
          type: string
          maxLength: 64
          example: "842E09EB40D8175979EFB0071B28163E11AED0F14BDD84090A4CEFB936EF5701"
          minLength: 64
        feeLimit:
          type: number
          description: Max limit for fee to be paid, in TRX. For deploy, around 580 TRX is consumed.
          example: 600
      required:
        - chain
        - name
        - symbol
        - feeLimit
        - fromPrivateKey
    DeployNftCeloKMS:
      type: object
      properties:
        chain:
          type: string
          example: CELO
          description: Chain to work with.
          enum:
            - CELO
        name:
          description: Name of the NFT token
          example: My ERC721
          maxLength: 100
          minLength: 1
          type: string
        publicMint:
          description: True if the contract is publicMint type
          example: true
          type: boolean
        symbol:
          description: Symbol of the NFT token
          example: ERC_SYMBOL
          maxLength: 30
          minLength: 1
          type: string
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
        provenance:
          description: True if the contract is provenance type
          example: true
          type: boolean
        feeCurrency:
          type: string
          description: Currency to pay for transaction gas
          enum:
            - CELO
            - CUSD
            - CEUR
      required:
        - chain
        - name
        - symbol
        - feeCurrency
        - signatureId
    DeployNftTronKMS:
      type: object
      properties:
        chain:
          type: string
          example: TRON
          description: Chain to work with.
          enum:
            - TRON
        account:
          maxLength: 34
          minLength: 34
          description: Blockchain address to perform transaction from
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        name:
          description: Name of the NFT token
          example: My ERC721
          maxLength: 100
          minLength: 1
          type: string
        symbol:
          description: Symbol of the NFT token
          example: ERC_SYMBOL
          maxLength: 30
          minLength: 1
          type: string
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        feeLimit:
          type: number
          description: Max limit for fee to be paid, in TRX. For deploy, around 580 TRX is consumed.
          example: 600
      required:
        - chain
        - name
        - account
        - symbol
        - feeLimit
        - signatureId
    MintMultipleNftKMSCelo:
      type: object
      properties:
        chain:
          type: string
          example: CELO
          description: Chain to work with.
          enum:
            - CELO
        to:
          type: array
          description: Blockchain address to send NFT token to.
          example: [ "0x687422eEA2cB73B5d3e242bA5456b782919AFc85" ]
          items:
            maxLength: 42
            minLength: 42
            type: string
        tokenId:
          type: array
          description: ID of token to be created.
          example: [ "100000" ]
          items:
            type: string
            maxLength: 32
        url:
          description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
          type: array
          example:
            - "https://my_token_data.com"
          items:
            type: string
            maxLength: 256
        authorAddresses:
          type: array
          description: List of addresses for every token, where royalty cashback for every transfer of this NFT will be send. Royalties are paid in native blockchain currency CELO.
          items:
            type: array
            items:
              type: string
              minLength: 42
              maxLength: 42
              description: Blockchain address to send royalties to
              example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
        cashbackValues:
          type: array
          description: List of values for every token, which will be paid as a royalty for author of the NFT token with every token transfer. This is exact value in native blockhain currency.
          items:
            type: array
            items:
              type: string
              description: Value of the royalty to be paid.
              example: "0.5"
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Celo transaction. If not present, last known nonce will be used.
        feeCurrency:
          type: string
          description: Currency to pay for transaction gas
          enum:
            - CELO
            - CUSD
            - CEUR
      required:
        - chain
        - to
        - contractAddress
        - feeCurrency
        - tokenId
        - url
        - signatureId
    MintMultipleNftKMSTron:
      type: object
      properties:
        chain:
          type: string
          example: TRON
          description: Chain to work with.
          enum:
            - TRON
        to:
          type: array
          description: Blockchain address to send NFT token to.
          example: [ "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ" ]
          items:
            maxLength: 34
            minLength: 34
            type: string
        account:
          maxLength: 34
          minLength: 34
          description: Blockchain address to perform transaction from
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        tokenId:
          type: array
          description: ID of token to be created.
          example: [ "100000" ]
          items:
            type: string
            maxLength: 32
        url:
          description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
          type: array
          example:
            - "https://my_token_data.com"
          items:
            type: string
            maxLength: 256
        contractAddress:
          maxLength: 34
          minLength: 34
          description: Address of NFT token
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        feeLimit:
          type: number
          description: Max limit for fee to be paid, in TRX.
          example: 600
      required:
        - chain
        - to
        - account
        - contractAddress
        - feeLimit
        - tokenId
        - url
        - signatureId
    BurnNftCelo:
      type: object
      properties:
        chain:
          type: string
          example: CELO
          description: Chain to work with.
          enum:
            - CELO
        tokenId:
          description: ID of token to be destroyed.
          example: "100000"
          type: string
          maxLength: 32
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        fromPrivateKey:
          type: string
          maxLength: 66
          example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
          minLength: 66
          description: Private key of sender address. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Celo transaction. If not present, last known nonce will be used.
        feeCurrency:
          type: string
          description: Currency to pay for transaction gas
          enum:
            - CELO
            - CUSD
            - CEUR
      required:
        - chain
        - contractAddress
        - feeCurrency
        - fromPrivateKey
        - tokenId
    BurnNftTron:
      type: object
      properties:
        chain:
          type: string
          example: TRON
          description: Chain to work with.
          enum:
            - TRON
        tokenId:
          description: ID of token to be destroyed.
          example: "100000"
          type: string
          maxLength: 32
        contractAddress:
          maxLength: 34
          minLength: 34
          description: Address of NFT token
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        fromPrivateKey:
          type: string
          maxLength: 64
          example: "842E09EB40D8175979EFB0071B28163E11AED0F14BDD84090A4CEFB936EF5701"
          minLength: 64
          description: Private key of sender address. Private key, or signature Id must be present.
        feeLimit:
          type: number
          description: Max limit for fee to be paid, in TRX.
          example: 600
      required:
        - chain
        - contractAddress
        - feeLimit
        - fromPrivateKey
        - tokenId
    BurnNftKMSCelo:
      type: object
      properties:
        chain:
          type: string
          example: CELO
          description: Chain to work with.
          enum:
            - CELO
        tokenId:
          description: ID of token to be destroyed.
          example: "100000"
          type: string
          maxLength: 32
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Celo transaction. If not present, last known nonce will be used.
        feeCurrency:
          type: string
          description: Currency to pay for transaction gas
          enum:
            - CELO
            - CUSD
            - CEUR
      required:
        - chain
        - feeCurrency
        - contractAddress
        - tokenId
        - signatureId
    BurnNftKMSTron:
      type: object
      properties:
        chain:
          type: string
          example: TRON
          description: Chain to work with.
          enum:
            - TRON
        account:
          maxLength: 34
          minLength: 34
          description: Blockchain address to perform transaction from
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        tokenId:
          description: ID of token to be destroyed.
          example: "100000"
          type: string
          maxLength: 32
        contractAddress:
          maxLength: 34
          minLength: 34
          description: Address of NFT token
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        feeLimit:
          type: number
          description: Max limit for fee to be paid, in TRX.
          example: 600
      required:
        - chain
        - feeLimit
        - contractAddress
        - tokenId
        - signatureId
        - account
    BurnNftFlowPK:
      type: object
      properties:
        chain:
          type: string
          example: FLOW
          description: Chain to work with.
          enum:
            - FLOW
        tokenId:
          description: ID of token to be destroyed.
          example: "100000"
          type: string
          maxLength: 32
        contractAddress:
          maxLength: 36
          minLength: 36
          description: Address of NFT token
          example: "17a50dad-bcb1-4f3d-ae2c-ea2bfb04419f"
          type: string
        account:
          type: string
          maxLength: 18
          example: "0xc1b45bc27b9c61c3"
          minLength: 18
          description: Blockchain address of the sender account.
        privateKey:
          type: string
          maxLength: 64
          example: "05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
          minLength: 64
          description: Private key of sender address. Private key, mnemonic and index or signature Id must be present.
      required:
        - chain
        - contractAddress
        - account
        - privateKey
        - tokenId
    BurnNftFlowMnemonic:
      type: object
      properties:
        chain:
          type: string
          example: FLOW
          description: Chain to work with.
          enum:
            - FLOW
        tokenId:
          description: ID of token to be destroyed.
          example: "100000"
          type: string
          maxLength: 32
        contractAddress:
          maxLength: 36
          minLength: 36
          description: Address of NFT token
          example: "17a50dad-bcb1-4f3d-ae2c-ea2bfb04419f"
          type: string
        account:
          type: string
          maxLength: 18
          example: "0xc1b45bc27b9c61c3"
          minLength: 18
          description: Blockchain address of the sender account.
        mnemonic:
          type: string
          maxLength: 500
          example: "urge pulp usage sister evidence arrest palm math please chief egg abuse"
          minLength: 1
          description: Mnemonic to generate private key of sender address.
        index:
          description: Derivation index of sender address.
          example: 0
          type: integer
          maximum: 2147483647
      required:
        - chain
        - contractAddress
        - account
        - mnemonic
        - index
        - tokenId
    BurnNftFlowKMS:
      type: object
      properties:
        chain:
          type: string
          example: FLOW
          description: Chain to work with.
          enum:
            - FLOW
        tokenId:
          description: ID of token to be destroyed.
          example: "100000"
          type: string
          maxLength: 32
        contractAddress:
          maxLength: 36
          minLength: 36
          description: Address of NFT token
          example: "17a50dad-bcb1-4f3d-ae2c-ea2bfb04419f"
          type: string
        account:
          type: string
          maxLength: 18
          example: "0xc1b45bc27b9c61c3"
          minLength: 18
          description: Blockchain address of the sender account.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        index:
          description: Derivation index of sender address.
          example: 0
          type: integer
          maximum: 2147483647
      required:
        - chain
        - contractAddress
        - account
        - signatureId
        - tokenId
    MintMultipleNftFlowPK:
      type: object
      properties:
        chain:
          type: string
          example: FLOW
          description: Chain to work with.
          enum:
            - FLOW
        to:
          type: array
          description: Blockchain address to send NFT token to.
          example: [ "0xc1b45bc27b9c61c3" ]
          items:
            maxLength: 18
            minLength: 18
            type: string
        url:
          type: array
          description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
          example: [ "https://my_token_data.com" ]
          items:
            type: string
            maxLength: 256
        contractAddress:
          maxLength: 36
          minLength: 36
          description: Address of NFT token
          example: "17a50dad-bcb1-4f3d-ae2c-ea2bfb04419f"
          type: string
        account:
          type: string
          maxLength: 18
          example: "0xc1b45bc27b9c61c3"
          minLength: 18
          description: Blockchain address of the sender account.
        privateKey:
          type: string
          maxLength: 64
          example: "05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
          minLength: 64
          description: Private key of sender address. Private key, mnemonic and index or signature Id must be present.
      required:
        - chain
        - contractAddress
        - account
        - privateKey
        - to
        - url
    MintMultipleNftFlowMnemonic:
      type: object
      properties:
        chain:
          type: string
          example: FLOW
          description: Chain to work with.
          enum:
            - FLOW
        to:
          type: array
          description: Blockchain address to send NFT token to.
          example: [ "0xc1b45bc27b9c61c3" ]
          items:
            maxLength: 18
            minLength: 18
            type: string
        url:
          type: array
          description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
          example: [ "https://my_token_data.com" ]
          items:
            type: string
            maxLength: 256
        contractAddress:
          maxLength: 36
          minLength: 36
          description: Address of NFT token
          example: "17a50dad-bcb1-4f3d-ae2c-ea2bfb04419f"
          type: string
        account:
          type: string
          maxLength: 18
          example: "0xc1b45bc27b9c61c3"
          minLength: 18
          description: Blockchain address of the sender account.
        mnemonic:
          type: string
          maxLength: 500
          example: "urge pulp usage sister evidence arrest palm math please chief egg abuse"
          minLength: 1
          description: Mnemonic to generate private key of sender address.
        index:
          description: Derivation index of sender address.
          example: 0
          type: integer
          maximum: 2147483647
      required:
        - chain
        - contractAddress
        - account
        - mnemonic
        - index
        - to
        - url
    MintMultipleNftFlowKMS:
      type: object
      properties:
        chain:
          type: string
          example: FLOW
          description: Chain to work with.
          enum:
            - FLOW
        to:
          type: array
          description: Blockchain address to send NFT token to.
          example: [ "0xc1b45bc27b9c61c3" ]
          items:
            maxLength: 18
            minLength: 18
            type: string
        url:
          type: array
          description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
          example: [ "https://my_token_data.com" ]
          items:
            type: string
            maxLength: 256
        contractAddress:
          maxLength: 36
          minLength: 36
          description: Address of NFT token
          example: "17a50dad-bcb1-4f3d-ae2c-ea2bfb04419f"
          type: string
        account:
          type: string
          maxLength: 18
          example: "0xc1b45bc27b9c61c3"
          minLength: 18
          description: Blockchain address of the sender account.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        index:
          description: Derivation index of sender address.
          example: 0
          type: integer
          maximum: 2147483647
      required:
        - chain
        - contractAddress
        - account
        - signatureId
        - to
        - url
    MintNftFlowPK:
      type: object
      properties:
        chain:
          type: string
          example: FLOW
          description: Chain to work with.
          enum:
            - FLOW
        to:
          type: string
          description: Blockchain address to send NFT token to.
          example: "0xc1b45bc27b9c61c3"
          maxLength: 18
          minLength: 18
        url:
          type: string
          description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
          example: "https://my_token_data.com"
          maxLength: 256
        contractAddress:
          maxLength: 36
          minLength: 36
          description: Address of NFT token
          example: "17a50dad-bcb1-4f3d-ae2c-ea2bfb04419f"
          type: string
        account:
          type: string
          maxLength: 18
          example: "0xc1b45bc27b9c61c3"
          minLength: 18
          description: Blockchain address of the sender account.
        privateKey:
          type: string
          maxLength: 64
          example: "05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
          minLength: 64
          description: Private key of sender address. Private key, mnemonic and index or signature Id must be present.
      required:
        - chain
        - contractAddress
        - account
        - privateKey
        - to
        - url
    MintNftFlowMnemonic:
      type: object
      properties:
        chain:
          type: string
          example: FLOW
          description: Chain to work with.
          enum:
            - FLOW
        to:
          type: string
          description: Blockchain address to send NFT token to.
          example: "0xc1b45bc27b9c61c3"
          maxLength: 18
          minLength: 18
        url:
          type: string
          description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
          example: "https://my_token_data.com"
          maxLength: 256
        contractAddress:
          maxLength: 36
          minLength: 36
          description: Address of NFT token
          example: "17a50dad-bcb1-4f3d-ae2c-ea2bfb04419f"
          type: string
        account:
          type: string
          maxLength: 18
          example: "0xc1b45bc27b9c61c3"
          minLength: 18
          description: Blockchain address of the sender account.
        mnemonic:
          type: string
          maxLength: 500
          example: "urge pulp usage sister evidence arrest palm math please chief egg abuse"
          minLength: 1
          description: Mnemonic to generate private key of sender address.
        index:
          description: Derivation index of sender address.
          example: 0
          type: integer
          maximum: 2147483647
      required:
        - chain
        - contractAddress
        - account
        - mnemonic
        - index
        - to
        - url
    MintNftFlowKMS:
      type: object
      properties:
        chain:
          type: string
          example: FLOW
          description: Chain to work with.
          enum:
            - FLOW
        to:
          type: string
          description: Blockchain address to send NFT token to.
          example: "0xc1b45bc27b9c61c3"
          maxLength: 18
          minLength: 18
        url:
          type: string
          description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
          example: "https://my_token_data.com"
          maxLength: 256
        contractAddress:
          maxLength: 36
          minLength: 36
          description: Address of NFT token
          example: "17a50dad-bcb1-4f3d-ae2c-ea2bfb04419f"
          type: string
        account:
          type: string
          maxLength: 18
          example: "0xc1b45bc27b9c61c3"
          minLength: 18
          description: Blockchain address of the sender account.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        index:
          description: Derivation index of sender address.
          example: 0
          type: integer
          maximum: 2147483647
      required:
        - chain
        - contractAddress
        - account
        - signatureId
        - to
        - url
    DeployNftFlowPK:
      type: object
      properties:
        chain:
          type: string
          example: FLOW
          description: Chain to work with.
          enum:
            - FLOW
        account:
          type: string
          maxLength: 18
          example: "0xc1b45bc27b9c61c3"
          minLength: 18
          description: Blockchain address of the sender account.
        privateKey:
          type: string
          maxLength: 64
          example: "05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
          minLength: 64
          description: Private key of sender address. Private key, mnemonic and index or signature Id must be present.
      required:
        - chain
        - account
        - privateKey
    DeployNftFlowMnemonic:
      type: object
      properties:
        chain:
          type: string
          example: FLOW
          description: Chain to work with.
          enum:
            - FLOW
        account:
          type: string
          maxLength: 18
          example: "0xc1b45bc27b9c61c3"
          minLength: 18
          description: Blockchain address of the sender account.
        mnemonic:
          type: string
          maxLength: 500
          example: "urge pulp usage sister evidence arrest palm math please chief egg abuse"
          minLength: 1
          description: Mnemonic to generate private key of sender address.
        index:
          description: Derivation index of sender address.
          example: 0
          type: integer
          maximum: 2147483647
      required:
        - chain
        - account
        - mnemonic
        - index
    DeployNftFlowKMS:
      type: object
      properties:
        chain:
          type: string
          example: FLOW
          description: Chain to work with.
          enum:
            - FLOW
        account:
          type: string
          maxLength: 18
          example: "0xc1b45bc27b9c61c3"
          minLength: 18
          description: Blockchain address of the sender account.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        index:
          description: Derivation index of sender address.
          example: 0
          type: integer
          maximum: 2147483647
      required:
        - chain
        - account
        - signatureId
    TransferNftFlowPK:
      type: object
      properties:
        chain:
          type: string
          example: FLOW
          description: Chain to work with.
          enum:
            - FLOW
        to:
          type: string
          description: Blockchain address to send NFT token to.
          example: "0xc1b45bc27b9c61c3"
          maxLength: 18
          minLength: 18
        tokenId:
          description: ID of token to be sent.
          example: "100000"
          type: string
          maxLength: 32
        contractAddress:
          maxLength: 36
          minLength: 36
          description: Address of NFT token
          example: "17a50dad-bcb1-4f3d-ae2c-ea2bfb04419f"
          type: string
        account:
          type: string
          maxLength: 18
          example: "0xc1b45bc27b9c61c3"
          minLength: 18
          description: Blockchain address of the sender account.
        privateKey:
          type: string
          maxLength: 64
          example: "05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
          minLength: 64
          description: Private key of sender address. Private key, mnemonic and index or signature Id must be present.
      required:
        - chain
        - contractAddress
        - account
        - privateKey
        - to
        - tokenId
    TransferNftFlowMnemonic:
      type: object
      properties:
        chain:
          type: string
          example: FLOW
          description: Chain to work with.
          enum:
            - FLOW
        to:
          type: string
          description: Blockchain address to send NFT token to.
          example: "0xc1b45bc27b9c61c3"
          maxLength: 18
          minLength: 18
        tokenId:
          description: ID of token to be sent.
          example: "100000"
          type: string
          maxLength: 32
        contractAddress:
          maxLength: 36
          minLength: 36
          description: Address of NFT token
          example: "17a50dad-bcb1-4f3d-ae2c-ea2bfb04419f"
          type: string
        account:
          type: string
          maxLength: 18
          example: "0xc1b45bc27b9c61c3"
          minLength: 18
          description: Blockchain address of the sender account.
        mnemonic:
          type: string
          maxLength: 500
          example: "urge pulp usage sister evidence arrest palm math please chief egg abuse"
          minLength: 1
          description: Mnemonic to generate private key of sender address.
        index:
          description: Derivation index of sender address.
          example: 0
          type: integer
          maximum: 2147483647
      required:
        - chain
        - contractAddress
        - account
        - mnemonic
        - index
        - to
        - tokenId
    TransferNftFlowKMS:
      type: object
      properties:
        chain:
          type: string
          example: FLOW
          description: Chain to work with.
          enum:
            - FLOW
        to:
          type: string
          description: Blockchain address to send NFT token to.
          example: "0xc1b45bc27b9c61c3"
          maxLength: 18
          minLength: 18
        tokenId:
          description: ID of token to be sent.
          example: "100000"
          type: string
          maxLength: 32
        contractAddress:
          maxLength: 36
          minLength: 36
          description: Address of NFT token
          example: "17a50dad-bcb1-4f3d-ae2c-ea2bfb04419f"
          type: string
        account:
          type: string
          maxLength: 18
          example: "0xc1b45bc27b9c61c3"
          minLength: 18
          description: Blockchain address of the sender account.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        index:
          description: Derivation index of sender address.
          example: 0
          type: integer
          maximum: 2147483647
      required:
        - chain
        - contractAddress
        - account
        - signatureId
        - to
        - tokenId
    NftTx:
      type: object
      properties:
        blockNumber:
          type: number
          example: 6541235
          description: Block number
        txId:
          type: string
          example: "0x955c1037608c7aecb6d1a3f150ce7d0a80536bcabb0deb69d62f55292cc4c372"
          description: Transaction ID
        contractAddress:
          type: string
          example: "0x4f54fAD27F7F46C102Cd49b8E75C5593397cd9c3"
          description: Contract address
        tokenId:
          type: string
          example: "1"
          description: ID of the token
        from:
          type: string
          example: "0x780c3de0aba1b51f04cfe8a5d9d277d4ad032b8d"
          description: Sender
        to:
          type: string
          example: "0x8cb76aed9c5e336ef961265c6079c14e9cd3d2ea"
          description: recipient
      required:
        - blockNumber
        - txId
        - contractAddress
        - tokenId
        - from
        - to
    UpdateCashbackValueForAuthorNftCelo:
      type: object
      properties:
        chain:
          type: string
          example: CELO
          description: Chain to work with.
          enum:
            - CELO
        tokenId:
          description: ID of token to be updated.
          example: "100000"
          type: string
          maxLength: 32
        cashbackValue:
          type: string
          description: New royalty cashback to be set for the author of token with tokenId. If set to 0, royalty is disabled for this token.
          example: "0.1"
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        fromPrivateKey:
          type: string
          maxLength: 66
          example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
          minLength: 66
          description: Private key of sender address. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Celo transaction. If not present, last known nonce will be used.
        feeCurrency:
          type: string
          description: Currency to pay for transaction gas
          enum:
            - CELO
            - CUSD
            - CEUR
      required:
        - chain
        - contractAddress
        - feeCurrency
        - fromPrivateKey
        - tokenId
        - cashbackValue
    UpdateCashbackValueForAuthorNftTron:
      type: object
      properties:
        chain:
          type: string
          example: TRON
          description: Chain to work with.
          enum:
            - TRON
        tokenId:
          description: ID of token to be updated.
          example: "100000"
          type: string
          maxLength: 32
        cashbackValue:
          type: string
          description: New royalty cashback to be set for the author of token with tokenId. If set to 0, royalty is disabled for this token.
          example: "0.1"
        contractAddress:
          maxLength: 34
          minLength: 34
          description: Address of NFT token
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        fromPrivateKey:
          type: string
          maxLength: 64
          example: "842E09EB40D8175979EFB0071B28163E11AED0F14BDD84090A4CEFB936EF5701"
          minLength: 64
          description: Private key of sender address. Private key, or signature Id must be present.
        feeLimit:
          type: number
          description: Max limit for fee to be paid, in TRX.
          example: 600
      required:
        - chain
        - contractAddress
        - feeLimit
        - fromPrivateKey
        - tokenId
        - cashbackValue
    UpdateCashbackValueForAuthorNftKMSCelo:
      type: object
      properties:
        chain:
          type: string
          example: CELO
          description: Chain to work with.
          enum:
            - CELO
        tokenId:
          description: ID of token to be updated.
          example: "100000"
          type: string
          maxLength: 32
        cashbackValue:
          type: string
          description: New royalty cashback to be set for the author of token with tokenId. If set to 0, royalty is disabled for this token.
          example: "0.1"
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Celo transaction. If not present, last known nonce will be used.
        feeCurrency:
          type: string
          description: Currency to pay for transaction gas
          enum:
            - CELO
            - CUSD
            - CEUR
      required:
        - chain
        - feeCurrency
        - contractAddress
        - tokenId
        - signatureId
        - cashbackValue
    UpdateCashbackValueForAuthorNftKMSTron:
      type: object
      properties:
        chain:
          type: string
          example: TRON
          description: Chain to work with.
          enum:
            - TRON
        account:
          maxLength: 34
          minLength: 34
          description: Blockchain address to perform transaction from
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        tokenId:
          description: ID of token to be updated.
          example: "100000"
          type: string
          maxLength: 32
        cashbackValue:
          type: string
          description: New royalty cashback to be set for the author of token with tokenId. If set to 0, royalty is disabled for this token.
          example: "0.1"
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        feeLimit:
          type: number
          description: Max limit for fee to be paid, in TRX.
          example: 600
      required:
        - chain
        - feeLimit
        - contractAddress
        - account
        - tokenId
        - signatureId
        - cashbackValue
    TransferNftKMSCelo:
      type: object
      properties:
        value:
          type: string
          description: If token to be transferred is Royalty NFT token, this is a value to be paid as a cashback to the authors of the token.
          example: "1"
        chain:
          type: string
          example: CELO
          description: Chain to work with.
          enum:
            - CELO
        to:
          maxLength: 42
          minLength: 42
          description: Blockchain address to send NFT token to
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        tokenId:
          description: ID of token.
          example: "100000"
          type: string
          maxLength: 256
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        provenance:
          description: True if the contract is provenance type
          example: true
          type: boolean
        provenanceData:
          description: data you want to store with transaction, optional and valid only if provenance contract
          example: test
          type: string
        tokenPrice:
          description: current price of the token, valid only for provenance
          example: "1"
          type: string
          maxLength: 256
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        nonce:
          type: number
          example: 1
          description: Nonce to be set to Celo transaction. If not present, last known nonce will be used.
        feeCurrency:
          type: string
          description: Currency to pay for transaction gas
          enum:
            - CELO
            - CUSD
            - CEUR
      required:
        - chain
        - to
        - contractAddress
        - feeCurrency
        - signatureId
        - tokenId
    TransferNftKMSTron:
      type: object
      properties:
        value:
          type: string
          description: If token to be transferred is Royalty NFT token, this is a value to be paid as a cashback to the authors of the token.
          example: "1"
        chain:
          type: string
          example: TRON
          description: Chain to work with.
          enum:
            - TRON
        account:
          maxLength: 34
          minLength: 34
          description: Blockchain address to perform transaction from
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        to:
          maxLength: 34
          minLength: 34
          description: Blockchain address to send NFT token to
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        tokenId:
          description: ID of token.
          example: "100000"
          type: string
          maxLength: 256
        contractAddress:
          maxLength: 34
          minLength: 34
          description: Address of NFT token
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        feeLimit:
          type: number
          description: Max limit for fee to be paid, in TRX.
          example: 600
      required:
        - chain
        - to
        - contractAddress
        - feeLimit
        - signatureId
        - tokenId
        - account
    MintNftCelo:
      type: object
      properties:
        chain:
          type: string
          example: CELO
          description: Chain to work with.
          enum:
            - CELO
        tokenId:
          description: ID of token to be created.
          example: "100000"
          type: string
          maxLength: 32
        to:
          maxLength: 42
          minLength: 42
          description: Blockchain address to send NFT token to
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        erc20:
          maxLength: 42
          minLength: 42
          description: Address of custom ERC20 token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        url:
          description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
          example: "https://my_token_data.com"
          type: string
          maxLength: 256
        authorAddresses:
          type: array
          description: List of addresses, where royalty cashback for every transfer of this NFT will be send. Royalties are paid in native blockchain currency CELO.
          items:
            type: string
            minLength: 42
            maxLength: 42
            description: Blockchain address to send royalties to
            example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
        provenance:
          description: True if the contract is provenance type
          example: true
          type: boolean
        cashbackValues:
          type: array
          description: List of values, which will be paid as a royalty for author of the NFT token with every token transfer. This is exact value in native blockhain currency and percentage value in case of provenance
          items:
            type: string
            description: Value of the royalty to be paid.
            example: "0.5"
        fixedValues:
          type: array
          description: List of fixed values, if fixed value is greater than cashback value, it will be transferred to the authors instead.This is exact value in native blockhain currency.
          items:
            type: string
            description: Value of the royalty to be paid.
            example: "0.5"
        fromPrivateKey:
          type: string
          maxLength: 66
          example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
          minLength: 66
          description: Private key of sender address. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Celo transaction. If not present, last known nonce will be used.
        feeCurrency:
          type: string
          description: Currency to pay for transaction gas
          enum:
            - CELO
            - CUSD
            - CEUR
      required:
        - chain
        - to
        - url
        - feeCurrency
    MintNftTron:
      type: object
      properties:
        chain:
          type: string
          example: TRON
          description: Chain to work with.
          enum:
            - TRON
        tokenId:
          description: ID of token to be created.
          example: "100000"
          type: string
          maxLength: 32
        to:
          maxLength: 34
          minLength: 34
          description: Blockchain address to send NFT token to
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        contractAddress:
          maxLength: 34
          minLength: 34
          description: Address of NFT token
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        url:
          description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
          example: "https://my_token_data.com"
          type: string
          maxLength: 256
        authorAddresses:
          type: array
          description: List of addresses, where royalty cashback for every transfer of this NFT will be send. Royalties are paid in native blockchain currency TRON.
          items:
            type: string
            minLength: 34
            maxLength: 34
            description: Blockchain address to send royalties to
            example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
        cashbackValues:
          type: array
          description: List of values, which will be paid as a royalty for author of the NFT token with every token transfer. This is exact value in native blockhain currency.
          items:
            type: string
            description: Value of the royalty to be paid.
            example: "0.5"
        fromPrivateKey:
          type: string
          maxLength: 64
          example: "842E09EB40D8175979EFB0071B28163E11AED0F14BDD84090A4CEFB936EF5701"
          minLength: 64
          description: Private key of sender address. Private key, or signature Id must be present.
        feeLimit:
          type: number
          description: Max limit for fee to be paid, in TRX.
          example: 600
      required:
        - chain
        - to
        - url
        - feeLimit
        - contractAddress
        - fromPrivateKey
        - tokenId
    MintNftKMSCelo:
      type: object
      properties:
        chain:
          type: string
          example: CELO
          description: Chain to work with.
          enum:
            - CELO
        tokenId:
          description: ID of token to be created.
          example: "100000"
          type: string
          maxLength: 32
        to:
          maxLength: 42
          minLength: 42
          description: Blockchain address to send NFT token to
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        erc20:
          maxLength: 42
          minLength: 42
          description: Address of custom ERC20 token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
        url:
          description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
          example: "https://my_token_data.com"
          type: string
          maxLength: 256
        authorAddresses:
          type: array
          description: List of addresses, where royalty cashback for every transfer of this NFT will be send. Royalties are paid in native blockchain currency CELO.
          items:
            type: string
            minLength: 42
            maxLength: 42
            description: Blockchain address to send royalties to
            example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
        provenance:
          description: True if the contract is provenance type
          example: true
          type: boolean
        cashbackValues:
          type: array
          description: List of values, which will be paid as a royalty for author of the NFT token with every token transfer. This is exact value in native blockhain currency and percentage value in case of provenance
          items:
            type: string
            description: Value of the royalty to be paid.
            example: "0.5"
        fixedValues:
          type: array
          description: List of fixed values, if fixed value is greater than cashback value, it will be transferred to the authors instead.This is exact value in native blockhain currency.
          items:
            type: string
            description: Value of the royalty to be paid.
            example: "0.5"
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Celo transaction. If not present, last known nonce will be used.
        feeCurrency:
          type: string
          description: Currency to pay for transaction gas
          enum:
            - CELO
            - CUSD
            - CEUR
      required:
        - chain
        - to
        - url
        - feeCurrency
        - contractAddress
        - signatureId
        - tokenId
    MintNftKMSTron:
      type: object
      properties:
        chain:
          type: string
          example: TRON
          description: Chain to work with.
          enum:
            - TRON
        account:
          maxLength: 34
          minLength: 34
          description: Blockchain address to perform transaction from
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        tokenId:
          description: ID of token to be created.
          example: "100000"
          type: string
          maxLength: 32
        to:
          maxLength: 34
          minLength: 34
          description: Blockchain address to send NFT token to
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        contractAddress:
          maxLength: 34
          minLength: 34
          description: Address of NFT token
          example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
          type: string
        url:
          description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
          example: "https://my_token_data.com"
          type: string
          maxLength: 256
        authorAddresses:
          type: array
          description: List of addresses, where royalty cashback for every transfer of this NFT will be send. Royalties are paid in native blockchain currency TRON.
          items:
            type: string
            minLength: 34
            maxLength: 34
            description: Blockchain address to send royalties to
            example: "TCrmdJmvDUPy8qSTgoVStF51yWm6VUh5yQ"
        cashbackValues:
          type: array
          description: List of values, which will be paid as a royalty for author of the NFT token with every token transfer. This is exact value in native blockhain currency.
          items:
            type: string
            description: Value of the royalty to be paid.
            example: "0.5"
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        feeLimit:
          type: number
          description: Max limit for fee to be paid, in TRX.
          example: 600
      required:
        - chain
        - account
        - to
        - url
        - feeLimit
        - contractAddress
        - signatureId
        - tokenId
    TransferNft:
      type: object
      properties:
        value:
          type: string
          description: If token to be transferred is Royalty NFT token, this is a value to be paid as a cashback to the authors of the token.
          example: "1"
        chain:
          type: string
          example: ETH
          description: Chain to work with.
          enum:
            - ETH
            - MATIC
            - KCS
            - ONE
            - BSC
            - ALGO
        to:
          maxLength: 58
          minLength: 42
          description: Blockchain address to send NFT token to
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        tokenId:
          description: ID of token.
          example: "100000"
          type: string
          maxLength: 256
        contractAddress:
          maxLength: 42
          minLength: 1
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        provenance:
          description: True if the contract is provenance type
          example: true
          type: boolean
        provenanceData:
          description: data you want to store with transaction, optional and valid only if provenance contract
          example: test
          type: string
        tokenPrice:
          description: current price of the token, valid only for provenance
          example: "1"
          type: string
          maxLength: 256
        fromPrivateKey:
          type: string
          maxLength: 103
          example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
          minLength: 66
          description: Private key of sender address. Private key, or signature Id must be present.
        nonce:
          type: number
          example: 1
          description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used. Setting nonce is not necessary in Algorand
        fee:
          description: Custom defined fee. If not present, it will be calculated automatically. Setting fee is not necessary in Algorand.
          type: object
          required:
            - gasLimit
            - gasPrice
          properties:
            gasLimit:
              type: string
              description: Gas limit for transaction in gas price.
              pattern: ^[+]?\d+$
              example: "40000"
            gasPrice:
              type: string
              description: Gas price in Gwei.
              pattern: ^[+]?\d+$
              example: "20"
      required:
        - to
        - chain
        - contractAddress
        - tokenId
        - fromPrivateKey
    TransferNftSolana:
      type: object
      properties:
        chain:
          type: string
          example: SOL
          description: Chain to work with.
          enum:
            - SOL
        from:
          maxLength: 44
          minLength: 44
          description: Blockchain address to send NFT token from. From this address, transaction fee will be paid.
          example: "FykfMwA9WNShzPJbbb9DNXsfgDgS3XZzWiFgrVXfWoPJ"
          type: string
        to:
          maxLength: 44
          minLength: 44
          description: Blockchain address to send NFT token to
          example: "FykfMwA9WNShzPJbbb9DNXsfgDgS3XZzWiFgrVXfWoPJ"
          type: string
        contractAddress:
          maxLength: 44
          minLength: 44
          description: Address of NFT token
          example: "3tzudv5KaoqmieWiBUqzWokKEtTvx1wQMapVKeH7CHaq"
          type: string
        fromPrivateKey:
          type: string
          maxLength: 128
          example: "3abc79a31093e4cfa4a724e94a44906cbbc3a32e2f75f985a28616676a5dbaf1de8d82a7e1d0561bb0e1b729c7a9b9b1708cf2803ad0ca928a332587ace391ad"
          minLength: 128
          description: Private key of sender address. Private key, or signature Id must be present.
      required:
        - to
        - from
        - chain
        - contractAddress
        - fromPrivateKey
    TransferNftSolanaKMS:
      type: object
      properties:
        chain:
          type: string
          example: SOL
          description: Chain to work with.
          enum:
            - SOL
        from:
          maxLength: 44
          minLength: 44
          description: Blockchain address to send NFT token from. From this address, transaction fee will be paid.
          example: "FykfMwA9WNShzPJbbb9DNXsfgDgS3XZzWiFgrVXfWoPJ"
          type: string
        to:
          maxLength: 44
          minLength: 44
          description: Blockchain address to send NFT token to
          example: "FykfMwA9WNShzPJbbb9DNXsfgDgS3XZzWiFgrVXfWoPJ"
          type: string
        contractAddress:
          maxLength: 44
          minLength: 44
          description: Address of NFT token
          example: "3tzudv5KaoqmieWiBUqzWokKEtTvx1wQMapVKeH7CHaq"
          type: string
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
      required:
        - to
        - from
        - chain
        - contractAddress
        - signatureId
    DeployNft:
      type: object
      properties:
        chain:
          type: string
          example: ETH
          description: Chain to work with.
          enum:
            - ETH
            - MATIC
            - KCS
            - ONE
            - BSC
            - ALGO
        name:
          description: Name of the NFT token
          example: My ERC721
          maxLength: 100
          minLength: 1
          type: string
        symbol:
          description: Symbol of the NFT token
          example: ERC_SYMBOL
          maxLength: 30
          minLength: 1
          type: string
        fromPrivateKey:
          description: Private key of Ethereum account address, from which gas for deployment of ERC721 will be paid. Private key, or signature Id must be present.
          type: string
          maxLength: 103
          example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
          minLength: 66
        provenance:
          description: True if the contract is provenance type
          example: true
          type: boolean
        publicMint:
          description: True if the contract is publicMint type
          example: true
          type: boolean
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
        fee:
          description: Custom defined fee. If not present, it will be calculated automatically.
          type: object
          required:
            - gasLimit
            - gasPrice
          properties:
            gasLimit:
              type: string
              description: Gas limit for transaction in gas price.
              pattern: ^[+]?\d+$
              example: "40000"
            gasPrice:
              type: string
              description: Gas price in Gwei.
              pattern: ^[+]?\d+$
              example: "20"
      required:
        - name
        - chain
        - symbol
        - fromPrivateKey
    DeployNftKMS:
      type: object
      properties:
        chain:
          type: string
          example: ETH
          description: Chain to work with.
          enum:
            - ETH
            - MATIC
            - KCS
            - ONE
            - BSC
        name:
          description: Name of the NFT token
          example: My ERC721
          maxLength: 100
          minLength: 1
          type: string
        provenance:
          description: True if the contract is provenance type
          example: true
          type: boolean
        publicMint:
          description: True if the contract is publicMint type
          example: true
          type: boolean
        symbol:
          description: Symbol of the NFT token
          example: ERC_SYMBOL
          maxLength: 30
          minLength: 1
          type: string
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
        fee:
          description: Custom defined fee. If not present, it will be calculated automatically.
          type: object
          required:
            - gasLimit
            - gasPrice
          properties:
            gasLimit:
              type: string
              description: Gas limit for transaction in gas price.
              pattern: ^[+]?\d+$
              example: "40000"
            gasPrice:
              type: string
              description: Gas price in Gwei.
              pattern: ^[+]?\d+$
              example: "20"
      required:
        - name
        - chain
        - symbol
        - signatureId
    TransferNftKMS:
      type: object
      properties:
        value:
          type: string
          description: If token to be transferred is Royalty NFT token, this is a value to be paid as a cashback to the authors of the token.
          example: "1"
        chain:
          type: string
          example: ETH
          description: Chain to work with.
          enum:
            - ETH
            - MATIC
            - KCS
            - ONE
            - BSC
        to:
          maxLength: 42
          minLength: 42
          description: Blockchain address to send NFT token to
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        tokenId:
          description: ID of token.
          example: "100000"
          type: string
          maxLength: 256
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        provenance:
          description: True if the contract is provenance type
          example: true
          type: boolean
        provenanceData:
          description: data you want to store with transaction, optional and valid only if provenance contract
          example: test
          type: string
        tokenPrice:
          description: current price of the token, valid only for provenance
          example: "1"
          type: string
          maxLength: 256
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        nonce:
          type: number
          example: 1
          description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
        fee:
          description: Custom defined fee. If not present, it will be calculated automatically.
          type: object
          required:
            - gasLimit
            - gasPrice
          properties:
            gasLimit:
              type: string
              description: Gas limit for transaction in gas price.
              pattern: ^[+]?\d+$
              example: "40000"
            gasPrice:
              type: string
              description: Gas price in Gwei.
              pattern: ^[+]?\d+$
              example: "20"
      required:
        - to
        - chain
        - contractAddress
        - signatureId
        - tokenId
    MintNft:
      type: object
      properties:
        chain:
          type: string
          example: ETH
          description: Chain to work with.
          enum:
            - ETH
            - MATIC
            - KCS
            - ONE
            - BSC
        tokenId:
          description: ID of token to be created.
          example: "100000"
          type: string
          maxLength: 32
        to:
          maxLength: 42
          minLength: 42
          description: Blockchain address to send NFT token to
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        erc20:
          maxLength: 42
          minLength: 42
          description: Address of custom ERC20 token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        url:
          description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
          example: "https://my_token_data.com"
          type: string
          maxLength: 256
        provenance:
          description: True if the contract is provenance type
          example: true
          type: boolean
        authorAddresses:
          type: array
          description: List of addresses, where royalty cashback for every transfer of this NFT will be send. Royalties are paid in native blockchain currency, like BSC or ETH.
          items:
            type: string
            minLength: 42
            maxLength: 42
            description: Blockchain address to send royalties to
            example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
        cashbackValues:
          type: array
          description: List of values, which will be paid as a royalty for author of the NFT token with every token transfer. This is exact value in native blockhain currency and percentage value in case of provenance
          items:
            type: string
            description: Value of the royalty to be paid.
            example: "0.5"
        fixedValues:
          type: array
          description: List of fixed values, if fixed value is greater than cashback value, it will be transferred to the authors instead.This is exact value in native blockhain currency.
          items:
            type: string
            description: Value of the royalty to be paid.
            example: "0.5"
        fromPrivateKey:
          type: string
          maxLength: 66
          example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
          minLength: 66
          description: Private key of sender address. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
        fee:
          description: Custom defined fee. If not present, it will be calculated automatically.
          type: object
          required:
            - gasLimit
            - gasPrice
          properties:
            gasLimit:
              type: string
              description: Gas limit for transaction in gas price.
              pattern: ^[+]?\d+$
              example: "40000"
            gasPrice:
              type: string
              description: Gas price in Gwei.
              pattern: ^[+]?\d+$
              example: "20"
      required:
        - to
        - chain
        - url
        - fromPrivateKey
        - tokenId
    MintNftKMS:
      type: object
      properties:
        chain:
          type: string
          example: ETH
          description: Chain to work with.
          enum:
            - ETH
            - MATIC
            - KCS
            - ONE
            - BSC
        tokenId:
          description: ID of token to be created.
          example: "100000"
          type: string
          maxLength: 32
        to:
          maxLength: 42
          minLength: 42
          description: Blockchain address to send NFT token to
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        erc20:
          maxLength: 42
          minLength: 42
          description: Address of custom ERC20 token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
        url:
          description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
          example: "https://my_token_data.com"
          type: string
          maxLength: 256
        provenance:
          description: True if the contract is provenance type
          example: true
          type: boolean
        authorAddresses:
          type: array
          description: List of addresses, where royalty cashback for every transfer of this NFT will be send. Royalties are paid in native blockchain currency, like BSC or ETH.
          items:
            type: string
            minLength: 42
            maxLength: 42
            description: Blockchain address to send royalties to
            example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
        cashbackValues:
          type: array
          description: List of values, which will be paid as a royalty for author of the NFT token with every token transfer. This is exact value in native blockhain currency and percentage value in case of provenance
          items:
            type: string
            description: Value of the royalty to be paid.
            example: "0.5"
        fixedValues:
          type: array
          description: List of fixed values, if fixed value is greater than cashback value, it will be transferred to the authors instead.This is exact value in native blockhain currency.
          items:
            type: string
            description: Value of the royalty to be paid.
            example: "0.5"
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
        fee:
          description: Custom defined fee. If not present, it will be calculated automatically.
          type: object
          required:
            - gasLimit
            - gasPrice
          properties:
            gasLimit:
              type: string
              description: Gas limit for transaction in gas price.
              pattern: ^[+]?\d+$
              example: "40000"
            gasPrice:
              type: string
              description: Gas price in Gwei.
              pattern: ^[+]?\d+$
              example: "20"
      required:
        - to
        - chain
        - url
        - contractAddress
        - signatureId
        - tokenId
    MintNftSolana:
      type: object
      properties:
        chain:
          type: string
          example: SOL
          description: Chain to work with.
          enum:
            - SOL
        to:
          maxLength: 44
          minLength: 44
          description: Blockchain address to send NFT token to
          example: "FykfMwA9WNShzPJbbb9DNXsfgDgS3XZzWiFgrVXfWoPJ"
          type: string
        from:
          maxLength: 44
          minLength: 44
          description: Blockchain address to mint NFT token from. From this account, transaction fee will be paid.
          example: "FykfMwA9WNShzPJbbb9DNXsfgDgS3XZzWiFgrVXfWoPJ"
          type: string
        fromPrivateKey:
          type: string
          maxLength: 128
          example: "3abc79a31093e4cfa4a724e94a44906cbbc3a32e2f75f985a28616676a5dbaf1de8d82a7e1d0561bb0e1b729c7a9b9b1708cf2803ad0ca928a332587ace391ad"
          minLength: 128
          description: Private key of sender address.
        metadata:
          type: object
          required:
            - name
            - symbol
            - uri
            - sellerFeeBasisPoints
          properties:
            name:
              type: string
              description: Name of the NFT token.
              example: My NFT.
              maxLength: 255
            symbol:
              type: string
              description: Symbol of the NFT token.
              example: NFT_SYMBOL
              maxLength: 255
            sellerFeeBasisPoints:
              type: number
              description: Basis points of the seller fee.
              example: 0
            uri:
              description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
              example: "https://my_token_data.com"
              type: string
              maxLength: 500
            creators:
              type: array
              description: Royalty receivers for NFT transfers.
              items:
                required:
                  - address
                  - verified
                  - share
                properties:
                  address:
                    type: string
                    description: Address of the creator.
                    maxLength: 44
                    minLength: 44
                    example: "FykfMwA9WNShzPJbbb9DNXsfgDgS3XZzWiFgrVXfWoPJ"
                  verified:
                    type: number
                    description: If the creator was verified.
                    example: 1
                  share:
                    type: number
                    description: How much percent should be sent to this creator.
                    example: 10
      required:
        - to
        - chain
        - fromPrivateKey
        - from
        - metadata
    MintNftSolanaKMS:
      type: object
      properties:
        chain:
          type: string
          example: SOL
          description: Chain to work with.
          enum:
            - SOL
        to:
          maxLength: 44
          minLength: 44
          description: Blockchain address to send NFT token to
          example: "FykfMwA9WNShzPJbbb9DNXsfgDgS3XZzWiFgrVXfWoPJ"
          type: string
        from:
          maxLength: 44
          minLength: 44
          description: Blockchain address to mint NFT token from. From this account, transaction fee will be paid.
          example: "FykfMwA9WNShzPJbbb9DNXsfgDgS3XZzWiFgrVXfWoPJ"
          type: string
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        metadata:
          type: object
          required:
            - name
            - symbol
            - uri
            - sellerFeeBasisPoints
          properties:
            name:
              type: string
              description: Name of the NFT token.
              example: My NFT.
              maxLength: 255
            symbol:
              type: string
              description: Symbol of the NFT token.
              example: NFT_SYMBOL
              maxLength: 255
            sellerFeeBasisPoints:
              type: number
              description: Basis points of the seller fee.
              example: 0
            uri:
              description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
              example: "https://my_token_data.com"
              type: string
              maxLength: 500
            creators:
              type: array
              description: Royalty receivers for NFT transfers.
              items:
                required:
                  - address
                  - verified
                  - share
                properties:
                  address:
                    type: string
                    description: Address of the creator.
                    maxLength: 44
                    minLength: 44
                    example: "FykfMwA9WNShzPJbbb9DNXsfgDgS3XZzWiFgrVXfWoPJ"
                  verified:
                    type: boolean
                    description: If the creator was verified.
                    example: 1
                  share:
                    type: number
                    description: How much percent should be sent to this creator.
                    example: 10
      required:
        - to
        - chain
        - signatureId
        - metadata
        - from
    MintMultipleNft:
      type: object
      properties:
        chain:
          type: string
          example: ETH
          description: Chain to work with.
          enum:
            - ETH
            - MATIC
            - KCS
            - ONE
            - BSC
        to:
          type: array
          description: Blockchain address to send NFT token to.
          example: [ "0x687422eEA2cB73B5d3e242bA5456b782919AFc85" ]
          items:
            maxLength: 42
            minLength: 42
            type: string
        tokenId:
          type: array
          description: ID of token to be created.
          example: [ "100000" ]
          items:
            type: string
            maxLength: 32
        url:
          type: array
          description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
          example: [ "https://my_token_data.com" ]
          items:
            type: string
            maxLength: 256
        authorAddresses:
          type: array
          description: List of addresses for every token, where royalty cashback for every transfer of this NFT will be send. Royalties are paid in native blockchain currency, ETH or BSC.
          items:
            type: array
            items:
              type: string
              minLength: 42
              maxLength: 42
              description: Blockchain address to send royalties to
              example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
        cashbackValues:
          type: array
          description: List of values for every token, which will be paid as a royalty for author of the NFT token with every token transfer. This is exact value in native blockhain currency.
          items:
            type: array
            items:
              type: string
              description: Value of the royalty to be paid.
              example: "0.5"
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        fromPrivateKey:
          type: string
          maxLength: 66
          example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
          minLength: 66
          description: Private key of sender address. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
        fee:
          description: Custom defined fee. If not present, it will be calculated automatically.
          type: object
          required:
            - gasLimit
            - gasPrice
          properties:
            gasLimit:
              type: string
              description: Gas limit for transaction in gas price.
              pattern: ^[+]?\d+$
              example: "40000"
            gasPrice:
              type: string
              description: Gas price in Gwei.
              pattern: ^[+]?\d+$
              example: "20"
      required:
        - to
        - chain
        - url
        - contractAddress
        - fromPrivateKey
        - tokenId
    MintMultipleNftKMS:
      type: object
      properties:
        chain:
          type: string
          example: ETH
          description: Chain to work with.
          enum:
            - ETH
            - MATIC
            - KCS
            - ONE
            - BSC
        to:
          type: array
          description: Blockchain address to send NFT token to.
          example: [ "0x687422eEA2cB73B5d3e242bA5456b782919AFc85" ]
          items:
            maxLength: 42
            minLength: 42
            type: string
        tokenId:
          type: array
          description: ID of token to be created.
          example: [ "100000" ]
          items:
            type: string
            maxLength: 32
        url:
          type: array
          description: Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details.
          example: [ "https://my_token_data.com" ]
          items:
            type: string
            maxLength: 256
        authorAddresses:
          type: array
          description: List of addresses for every token, where royalty cashback for every transfer of this NFT will be send. Royalties are paid in native blockchain currency, ETH or BSC.
          items:
            type: array
            items:
              type: string
              minLength: 42
              maxLength: 42
              description: Blockchain address to send royalties to
              example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
        cashbackValues:
          type: array
          description: List of values for every token, which will be paid as a royalty for author of the NFT token with every token transfer. This is exact value in native blockhain currency.
          items:
            type: array
            items:
              type: string
              description: Value of the royalty to be paid.
              example: "0.5"
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
        fee:
          description: Custom defined fee. If not present, it will be calculated automatically.
          type: object
          required:
            - gasLimit
            - gasPrice
          properties:
            gasLimit:
              type: string
              description: Gas limit for transaction in gas price.
              pattern: ^[+]?\d+$
              example: "40000"
            gasPrice:
              type: string
              description: Gas price in Gwei.
              pattern: ^[+]?\d+$
              example: "20"
      required:
        - to
        - chain
        - contractAddress
        - tokenId
        - url
        - signatureId
    BurnNft:
      type: object
      properties:
        chain:
          type: string
          example: ETH
          description: Chain to work with.
          enum:
            - ETH
            - MATIC
            - KCS
            - ONE
            - BSC
            - ALGO
        tokenId:
          description: ID of token to be destroyed.
          example: "100000"
          type: string
          maxLength: 32
        contractAddress:
          maxLength: 42
          minLength: 1
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        fromPrivateKey:
          type: string
          maxLength: 103
          example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
          minLength: 66
          description: Private key of sender address. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
        fee:
          description: Custom defined fee. If not present, it will be calculated automatically.
          type: object
          required:
            - gasLimit
            - gasPrice
          properties:
            gasLimit:
              type: string
              description: Gas limit for transaction in gas price.
              pattern: ^[+]?\d+$
              example: "40000"
            gasPrice:
              type: string
              description: Gas price in Gwei.
              pattern: ^[+]?\d+$
              example: "20"
      required:
        - to
        - chain
        - url
        - contractAddress
        - fromPrivateKey
        - tokenId
    AddNftMinter:
      type: object
      properties:
        chain:
          type: string
          example: ETH
          description: Chain to work with.
          enum:
            - ETH
            - MATIC
            - KCS
            - CELO
            - ONE
            - BSC
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        minter:
          maxLength: 42
          minLength: 42
          description: Address of NFT minter
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        fromPrivateKey:
          type: string
          maxLength: 66
          example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
          minLength: 66
          description: Private key of sender address. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
        fee:
          description: Custom defined fee. If not present, it will be calculated automatically.
          type: object
          required:
            - gasLimit
            - gasPrice
          properties:
            gasLimit:
              type: string
              description: Gas limit for transaction in gas price.
              pattern: ^[+]?\d+$
              example: "40000"
            gasPrice:
              type: string
              description: Gas price in Gwei.
              pattern: ^[+]?\d+$
              example: "20"
        feeCurrency:
          type: string
          description: Currency to pay for transaction gas, only valid for CELO chain.
          enum:
            - CELO
            - CUSD
            - CEUR
      required:
        - minter
        - chain
        - url
        - contractAddress
        - fromPrivateKey
    UpdateCashbackValueForAuthorNftKMS:
      type: object
      properties:
        chain:
          type: string
          example: ETH
          description: Chain to work with.
          enum:
            - ETH
            - MATIC
            - KCS
            - ONE
            - BSC
        tokenId:
          description: ID of token to be updated.
          example: "100000"
          type: string
          maxLength: 32
        cashbackValue:
          type: string
          description: New royalty cashback to be set for the author of token with tokenId. If set to 0, royalty is disabled for this token.
          example: "0.1"
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
        fee:
          description: Custom defined fee. If not present, it will be calculated automatically.
          type: object
          required:
            - gasLimit
            - gasPrice
          properties:
            gasLimit:
              type: string
              description: Gas limit for transaction in gas price.
              pattern: ^[+]?\d+$
              example: "40000"
            gasPrice:
              type: string
              description: Gas price in Gwei.
              pattern: ^[+]?\d+$
              example: "20"
      required:
        - to
        - chain
        - url
        - contractAddress
        - tokenId
        - cashbackValue
        - signatureId
    UpdateCashbackValueForAuthorNft:
      type: object
      properties:
        chain:
          type: string
          example: ETH
          description: Chain to work with.
          enum:
            - ETH
            - MATIC
            - KCS
            - ONE
            - BSC
        tokenId:
          description: ID of token to be updated.
          example: "100000"
          type: string
          maxLength: 32
        cashbackValue:
          type: string
          description: New royalty cashback to be set for the author of token with tokenId. If set to 0, royalty is disabled for this token.
          example: "0.1"
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        fromPrivateKey:
          type: string
          maxLength: 66
          example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
          minLength: 66
          description: Private key of sender address. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
        fee:
          description: Custom defined fee. If not present, it will be calculated automatically.
          type: object
          required:
            - gasLimit
            - gasPrice
          properties:
            gasLimit:
              type: string
              description: Gas limit for transaction in gas price.
              pattern: ^[+]?\d+$
              example: "40000"
            gasPrice:
              type: string
              description: Gas price in Gwei.
              pattern: ^[+]?\d+$
              example: "20"
      required:
        - to
        - chain
        - url
        - cashbackValue
        - contractAddress
        - fromPrivateKey
        - tokenId
    BurnNftKMS:
      type: object
      properties:
        chain:
          type: string
          example: ETH
          description: Chain to work with.
          enum:
            - ETH
            - MATIC
            - KCS
            - ONE
            - BSC
        tokenId:
          description: ID of token to be destroyed.
          example: "100000"
          type: string
          maxLength: 32
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
        fee:
          description: Custom defined fee. If not present, it will be calculated automatically.
          type: object
          required:
            - gasLimit
            - gasPrice
          properties:
            gasLimit:
              type: string
              description: Gas limit for transaction in gas price.
              pattern: ^[+]?\d+$
              example: "40000"
            gasPrice:
              type: string
              description: Gas price in Gwei.
              pattern: ^[+]?\d+$
              example: "20"
      required:
        - to
        - chain
        - url
        - contractAddress
        - tokenId
        - signatureId
    AddNftMinterKMS:
      type: object
      properties:
        chain:
          type: string
          example: ETH
          description: Chain to work with.
          enum:
            - ETH
            - MATIC
            - KCS
            - CELO
            - ONE
            - BSC
        contractAddress:
          maxLength: 42
          minLength: 42
          description: Address of NFT token
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        minter:
          maxLength: 42
          minLength: 42
          description: Address of NFT minter
          example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
          type: string
        index:
          type: number
          minimum: 0
          description: If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.
        signatureId:
          type: string
          minLength: 36
          maxLength: 36
          format: uuid
          example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
          description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
        nonce:
          type: number
          minimum: 0
          description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
        fee:
          description: Custom defined fee. If not present, it will be calculated automatically.
          type: object
          required:
            - gasLimit
            - gasPrice
          properties:
            gasLimit:
              type: string
              description: Gas limit for transaction in gas price.
              pattern: ^[+]?\d+$
              example: "40000"
            gasPrice:
              type: string
              description: Gas price in Gwei.
              pattern: ^[+]?\d+$
              example: "20"
        feeCurrency:
          type: string
          description: Currency to pay for transaction gas, only valid for CELO chain.
          enum:
            - CELO
            - CUSD
            - CEUR
      required:
        - chain
        - url
        - contractAddress
        - minter
        - signatureId

