anchor.diff:      accountType := params.AsInteger('type', -1);
       start := params.AsInteger('start', 0);
       max := params.AsInteger('max', 100);
  -
  +    accountForSale := params.AsBoolean('listed',false);
  +    exactMatch := params.AsBoolean('exact',true);
  +    accountBalanceMin := ToPascalCoins(params.AsDouble('min_balance',-1));
  +    accountBalanceMax := ToPascalCoins(params.AsDouble('max_balance',-1));
       // Validate Parameters
       if accountName <> '' then begin
         if not FNode.Bank.SafeBox.ValidAccountName(accountName, errors) then begin
  
positive.code:              TPascalCoinJSONComp.FillAccountObject(account,output.GetAsObject(output.Count));
         end;
      end else begin
        // Search by type
        for i := start to FNode.Bank.AccountsCount - 1 do begin
          account := FNode.Operations.SafeBoxTransaction.Account(i);
          if (accountType = -1) OR (Integer(account.account_type) = accountType) then begin
            // Found a match
            TPascalCoinJSONComp.FillAccountObject(account,output.GetAsObject(output.Count));
            if output.Count>=max then break;
          end;
        end;
      end;
      Result := True;
  
negative.code:     accountName : TRawBytes;
      accountType : Integer;
      accountNumber : Integer;
      accountBalanceMin : Int64;
      accountBalanceMax : Int64;
      accountForSale : Boolean;
      exactMatch : Boolean;
      start, max : Integer;
      account : TAccount;
      i : Cardinal;
      errors : AnsiString;
      addToResult : Boolean;
    begin
      // Get Parameters
      Result := False;
  