anchor.diff:        else ErrorDesc := 'Block not found: '+IntToStr(c);
         ErrorNum := CT_RPC_ErrNum_InvalidBlock;
       end;
  +    finally
  +      Node.OperationSequenceLock.Release;
  +    end;
     end else if (method='getblockoperations') then begin
       // Param "block" contains block
       // Returns a JSON array with items as "Operation resume format"
  +    FNode.OperationSequenceLock.Acquire; // Added to prevent high concurrent API calls
  +    try
       c := params.GetAsVariant('block').AsCardinal(CT_MaxBlock);
       if (c>=0) And (c<FNode.Bank.BlocksCount) then begin
         pcops := TPCOperationsComp.Create(Nil);
  
positive.code:     // Param "block" contains block. Null = Pending operation
      // Param "opblock" contains operation inside a block: (0..getblock.operations-1)
      // Returns a JSON object with operation values as "Operation resume format"
      c := params.GetAsVariant('block').AsCardinal(CT_MaxBlock);
      if (c>=0) And (c<FNode.Bank.BlocksCount) then begin
        pcops := TPCOperationsComp.Create(Nil);
  
negative.code:     end;
      TPascalCoinJSONComp.FillBlockObject(nBlock,FNode,jsonObject);
      Result := True;
      finally
        FNode.OperationSequenceLock.Release;
      end;
    end;
  
    Procedure FillOperationResumeToJSONObject(Const OPR : TOperationResume; jsonObject : TPCJSONObject);
  