• User Guide
    • Security Notes
      Security Notes
    • Online/Desktop Apps
      • Account Management
        • Create Account
          Create Account
        • Sign in to Account
          Sign in to Account
        • Recover Account
          Recover Account
        • Find Out Your Waves.Exchange Address
          Find Out Your Waves.Exchange Address
        • Create Personal Alias
          Create Personal Alias
        • Import From Waves Keeper
          Import From Waves Keeper
        • Use Ledger Nano Devices With Waves.Exchange
          Use Ledger Nano Devices With Waves.Exchange
        Account Management
      • Asset Management
        • Transfer Cryptocurrency
          • Transactions Tab
            Transactions Tab
          Transfer Cryptocurrency
        • Buy Cryptocurrency with a Bank Card
          • How to Use Advanced Cash
            How to Use Advanced Cash
          Buy Cryptocurrency with a Bank Card
        • Neutrino Governance
          Neutrino Governance
        • Stake Asset
          • OTC Service
            OTC Service
          • Swap WAVES/USDN
            Swap WAVES/USDN
          • How to Get USDN (Quick Guide)
            How to Get USDN (Quick Guide)
          • How to Get USDT (Quick Guide)
            How to Get USDT (Quick Guide)
          Stake Asset
        • Swap DeFo
          Swap DeFo
        • Neutrino Pools
          Neutrino Pools
        • Create Asset
          Create Asset
        • Distribute Asset
          Distribute Asset
        • Reissue Asset
          Reissue Asset
        • Change Reissuable to Not Reissuable
          Change Reissuable to Not Reissuable
        • Burn Asset
          Burn Asset
        • Sponsored Transaction
          Sponsored Transaction
        • Sponsored Fee
          Sponsored Fee
        Asset Management
      • Advanced Features
        • Script Transaction
          Script Transaction
        • JSON Confirmation
          JSON Confirmation
        Advanced Features
      • Start Trading on Waves.Exchange
        Start Trading on Waves.Exchange
      • Leverage
        Leverage
      Online/Desktop Apps
    • Mobile Apps
      • Account Management
        • Create Account
          Create Account
        • Sign in to Account
          Sign in to Account
        • Recover Account
          Recover Account
        • Find Out Your Waves.Exchange Address
          Find Out Your Waves.Exchange Address
        • Create Personal Alias
          Create Personal Alias
        Account Management
      • Asset Management
        • Transfer Cryptocyrrency
          Transfer Cryptocyrrency
        • Buy Cryptocurrency with a Bank Card
          Buy Cryptocurrency with a Bank Card
        • Stake WAVES
          Stake WAVES
        • Stake USDN
          Stake USDN
        • Burn Asset
          Burn Asset
        Asset Management
      • Start Trading on Waves.Exchange
        Start Trading on Waves.Exchange
      Mobile Apps
    User Guide
  • API and Library
    • CCXT
      CCXT
    • Fees
      Fees
    • Payment API
      Payment API
    • Web Auth API
      Web Auth API
    • Gateway API
      • Access Token
        • Get Access Token in Waves.Exchange App
          Get Access Token in Waves.Exchange App
        • POST /v1/oauth2/token
          POST /v1/oauth2/token
        Access Token
      • Deposit
        • GET /v1/deposit/addresses/{currency}
          GET /v1/deposit/addresses/{currency}
        • GET /v1/deposit/currencies
          GET /v1/deposit/currencies
        • GET /v1/deposit/currencies/{currency}
          GET /v1/deposit/currencies/{currency}
        • Terms of Deposit
          Terms of Deposit
        Deposit
      • Withdraw
        • GET /v1/withdraw/addresses/{currency}/{address}
          GET /v1/withdraw/addresses/{currency}/{address}
        • GET /v1/withdraw/currencies
          GET /v1/withdraw/currencies
        • GET /v1/withdraw/currencies/{currency}
          GET /v1/withdraw/currencies/{currency}
        • Terms of Withdrawal
          Terms of Withdrawal
        Withdraw
      • Movements History
        Movements History
      • Platforms List
        Platforms List
      • Crosschain Supply Consistency
        Crosschain Supply Consistency
      • Error Codes
        Error Codes
      Gateway API
    • Matcher
      • Waves.Exchange Protocol
        Waves.Exchange Protocol
      • Matcher Fee
        Matcher Fee
      • Install Matcher on Ubuntu From Deb-package
        Install Matcher on Ubuntu From Deb-package
      • Matcher Settings
        Matcher Settings
      • Matcher API
        • Order Validation
          Order Validation
        • Exchange Transation Validation
          Exchange Transation Validation
        Matcher API
      Matcher
    API and Library
  • Glossary
    Glossary
      • English
      • Русский
      On this page

          # Matcher settings

          The settings described below are being applied in /etc/waves/waves.conf file.

          Configuration section matcher can be used to configure Waves.Exchange matcher.

          Use enable parameter to enable Waves.Exchange matcher. By default, it’s disabled.

          With account parameter you can provide the address of the matcher. The address is used to receive orders and pay or collect fees.

          bind-address parameter allows to set the IP address of local network interface to bind matcher’s REST API.

          port parameter is used to set the port number on which the matcher’s REST API will accept incoming connections.

          min-order-fee parameter allows to set the minimum required fee to process orders. For now, matcher accepts fee only in WAVES. The fee should be given in minimal units (WAVELETS).

          Use order-match-tx-fee parameter to set the transaction fee of the order match transactions created by the matcher.

          matcher-direcotory parameter can be used to set the location of matcher’s files.

          With the data-directory, journal-directory and snapshots-directory parameters, you can set the location of the matcher’s data. Matcher has its own LevelDB database.

          leveldb-cache-size parameter allows to set the size of cache for Matcher’s LevelDB database. By default it’s the same as for the node.

          Use snapshots-interval parameter to change the period of time between snapshots of matcher’s state.

          Use order-cleanup-interval parameter to adjust how often the clean up of expired orders occurs.

          Use max-open-orders parameter to limit the number of unmatched orders stored in the matcher.

          Use parameters price-assets and predefined-pairs to define rules of asset pairs creation for the matcher. Inside the matcher a trading pair consists of an "amount" asset and a "price" asset. The "amount" asset is used to specify the amount in order. The "price" asset is used to specify the price in order.

          Parameter price-assets is the list of assets IDs that will be used as price asset (second one) in a pair with any unknown asset. If both assets in the pair are "price" assets you have to use parameter predefined-pairs to define the correct order of assets in the pair.

          In case of no definition given, assets will be sorted by their IDs and the first one will be selected as "price" asset and the second one will be selected as "amount" asset.

          To specify Waves as a side of a pair, use special asset ID "WAVES".

          Below you can find an example of setting up asset pairs.

          price-assets = [
               "WAVES",
               "Fmg13HEHJHuZYbtJq8Da8wifJENq8uBxDuWoP9pVe2Qe",
               "HyFJ3rrq5m7FxdkWtQXkZrDat1F7LjVVGfpSkUuEXQHj",
               "2xnE3EdpqXtFgCP156qt1AbyjpqdZ5jGjWo3CwTawcux",
               "6pmDivReTLikwYqQtJTv6dTcE59knriaodB3AK8T9cF8"
             ]
          predefined-pairs = [
               {amountAsset = "WAVES", priceAsset = "Fmg13HEHJHuZYbtJq8Da8wifJENq8uBxDuWoP9pVe2Qe"},
               {amountAsset = "WAVES", priceAsset = "HyFJ3rrq5m7FxdkWtQXkZrDat1F7LjVVGfpSkUuEXQHj"},
               {amountAsset = "WAVES", priceAsset = "2xnE3EdpqXtFgCP156qt1AbyjpqdZ5jGjWo3CwTawcux"},
               {amountAsset = "WAVES", priceAsset = "6pmDivReTLikwYqQtJTv6dTcE59knriaodB3AK8T9cF8"},
               {amountAsset = "Fmg13HEHJHuZYbtJq8Da8wifJENq8uBxDuWoP9pVe2Qe", priceAsset = "2aSqCbvCTgvCpwkGsk4mea4tCLG4Zgp69aQDhHNvRUZv"},
               {amountAsset = "Fmg13HEHJHuZYbtJq8Da8wifJENq8uBxDuWoP9pVe2Qe", priceAsset = "8zEZuJcKPQmFuYgVe5ZMpxgiPLu5zBhjA6xgdGomQDaP"},
               {amountAsset = "Fmg13HEHJHuZYbtJq8Da8wifJENq8uBxDuWoP9pVe2Qe", priceAsset = "D2MNuUyA38pSKoV7F7vpS15Uhw9nw5qfbrGUfCLRNuRo"},
               {amountAsset = "2xnE3EdpqXtFgCP156qt1AbyjpqdZ5jGjWo3CwTawcux", priceAsset = "HyFJ3rrq5m7FxdkWtQXkZrDat1F7LjVVGfpSkUuEXQHj"}
             ]
          

          Parameter max-timestamp-diff is used to set the maximum allowed time difference between order and local matcher’s time.

          Parameters blacklisted-assets and blacklisted-names can be used to blacklist assets from Waves.Exchange.

          To deny operations in Waves.Exchange for the specified addresses use blacklisted-addresses parameter.

          Install Matcher on Ubuntu From Deb-package
          Matcher API
          Install Matcher on Ubuntu From Deb-package
          Matcher API