diff --git a/modules/net/dap_chain_net_bugreport.c b/modules/net/dap_chain_net_bugreport.c
index 63b00ba2db583f225e8a43544ec5283ac7257eec..3c284980b6282a707852367cf79caf3495d1d2d1 100644
--- a/modules/net/dap_chain_net_bugreport.c
+++ b/modules/net/dap_chain_net_bugreport.c
@@ -33,6 +33,7 @@
 #include "dap_strfuncs.h"
 #include "dap_file_utils.h"
 #include "dap_config.h"
+#include "rand/dap_rand.h"
 
 #include "http_status_code.h"
 #include "dap_http_simple.h"
@@ -43,9 +44,9 @@
 
 #define BUGREPORT_URL "/bugreport"
 
-static int bugreport_write_to_file(byte_t *a_request_byte, size_t a_request_size)
+static int64_t bugreport_write_to_file(byte_t *a_request_byte, size_t a_request_size)
 {
-    int l_ret = -2;
+    int64_t l_report_number = -2;
     if(!a_request_byte || !a_request_size)
         return -1;
     char *l_dir_str = dap_strdup_printf("%s/var/bugreport", g_sys_dir_path);
@@ -54,20 +55,30 @@ static int bugreport_write_to_file(byte_t *a_request_byte, size_t a_request_size
     const time_t l_timer = time(NULL);
     struct tm l_tm;
     localtime_r(&l_timer, &l_tm);
-    char *l_filename_str = dap_strdup_printf("%s/%02d-%02d-%02d_%02d:%02d:%02d.brt", l_dir_str,
+    randombytes(&l_report_number, sizeof(int64_t));
+    if(l_report_number<0)
+        l_report_number = -l_report_number;
+    // create unique number for bugreport
+    l_report_number -= l_report_number%1000000000000ll;
+    l_report_number+=(int64_t)(l_tm.tm_year - 100)*10000000000;
+    l_report_number+=(int64_t)(l_tm.tm_mon)*100000000;
+    l_report_number+=(int64_t)(l_tm.tm_mday)*1000000;
+    l_report_number+=(int64_t)(l_tm.tm_hour)*10000;
+    l_report_number+=(int64_t)(l_tm.tm_min)*100;
+    l_report_number+=(int64_t)(l_tm.tm_sec);
+    char *l_filename_str = dap_strdup_printf("%s/%02d-%02d-%02d_%02d:%02d:%02d_%08lld.brt", l_dir_str,
             l_tm.tm_year - 100, l_tm.tm_mon, l_tm.tm_mday,
-            l_tm.tm_hour, l_tm.tm_min, l_tm.tm_sec);
+            l_tm.tm_hour, l_tm.tm_min, l_tm.tm_sec,
+            l_report_number);
     FILE *l_fp;
     if((l_fp = fopen(l_filename_str, "wb")) != NULL) {
-        if(fwrite(a_request_byte, 1, a_request_size, l_fp) == a_request_size)
-            l_ret = 0;
-        else
-            l_ret = -3;
+        if(fwrite(a_request_byte, 1, a_request_size, l_fp) != a_request_size)
+            l_report_number = -3;
         fclose(l_fp);
     }
     DAP_DELETE(l_filename_str);
     DAP_DELETE(l_dir_str);
-    return l_ret;
+    return l_report_number;
 }
 
 /**
@@ -82,16 +93,29 @@ static void bugreport_http_proc(struct dap_http_simple *a_http_simple, void * a_
     log_it(L_DEBUG, "bugreport_http_proc request");
     http_status_code_t * return_code = (http_status_code_t*) a_arg;
     //if(dap_strcmp(cl_st->http->url_path, BUGREPORT_URL) == 0 )
+    if(dap_strcmp(a_http_simple->http->action, "GET") == 0) {
+        size_t l_url_len = dap_strlen(a_http_simple->http->url_path);
+        if(!l_url_len) {
+                    a_http_simple->reply = dap_strdup_printf("Unique Bug Report number required)");
+                    *return_code = Http_Status_NotFound;
+                }
+        else{
+            *return_code = Http_Status_OK;
+        }
+        a_http_simple->reply_size = strlen(a_http_simple->reply);
+        *return_code = Http_Status_NotFound;
+    }
     if(dap_strcmp(a_http_simple->http->action, "POST") == 0) {
         //a_http_simple->request_byte;
         //a_http_simple->request_size;
         //a_http_simple->http->in_content_length;
 
-        if(!bugreport_write_to_file(a_http_simple->request_byte, a_http_simple->request_size)) {
-            a_http_simple->reply = dap_strdup_printf("Bug Report saved successfully)");
+        int64_t l_bugreport_number = bugreport_write_to_file(a_http_simple->request_byte, a_http_simple->request_size);
+        if(l_bugreport_number >= 0) {
+            a_http_simple->reply = dap_strdup_printf("Bug Report #%020lld saved successfully)", l_bugreport_number);
         }
         else {
-            a_http_simple->reply = dap_strdup_printf("Bug Report not saved(");
+            a_http_simple->reply = dap_strdup_printf("Bug Report not saved( code=%lld", l_bugreport_number);
         }
         a_http_simple->reply_size = strlen(a_http_simple->reply);
         *return_code = Http_Status_OK;