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:     output := jsonresponse.GetAsArray('result');
  
      // Search by name
      if ((accountName <> '') AND (exactMatch=true)) then begin
         accountNumber := FNode.Bank.SafeBox.FindAccountByName(accountName);
         if accountNumber >= 0 then begin
            account := FNode.Operations.SafeBoxTransaction.Account(accountNumber);
  