diff --git a/db/btracker_app.sql b/db/btracker_app.sql
index cfb177b0ac38702aaae4fb8c10562bf2a50a8648..b5fb42cfcad6a63e1a7a2a61610eb189a06f050e 100644
--- a/db/btracker_app.sql
+++ b/db/btracker_app.sql
@@ -40,6 +40,11 @@ VALUES
 (True, False)
 ;
 
+CREATE TABLE IF NOT EXISTS version(
+  git_hash TEXT
+);
+
+INSERT INTO version VALUES('unspecified (generate and apply set_version_in_sql.pgsql)');
 --ACCOUNT BALANCES
 
 CREATE TABLE IF NOT EXISTS current_account_balances
diff --git a/endpoints/endpoint_schema.sql b/endpoints/endpoint_schema.sql
index ca391ef5b3734fcbe66f84088095b7cc2d79990e..2a2687bfe19fd4463eaec66abfdc518a9c270608 100644
--- a/endpoints/endpoint_schema.sql
+++ b/endpoints/endpoint_schema.sql
@@ -17,7 +17,8 @@ externalDocs:
 tags:
   - name: Accounts
     description: Informations about account balances
-
+  - name: Other
+    description: General API information
 servers:
   - url: /balance-api
  */
@@ -58,6 +59,10 @@ declare
     {
       "name": "Accounts",
       "description": "Informations about account balances"
+    },
+    {
+      "name": "Other",
+      "description": "General API information"
     }
   ],
   "servers": [
@@ -213,7 +218,7 @@ declare
           }
         }
       },
-      "btracker_backend.balance_history_type": {
+      "btracker_backend.balance_history": {
         "type": "object",
         "properties": {
           "block_num": {
@@ -261,7 +266,7 @@ declare
           "operations_result": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/btracker_backend.balance_history_type"
+              "$ref": "#/components/schemas/btracker_backend.balance_history"
             },
             "description": "List of operation results"
           }
@@ -648,6 +653,58 @@ declare
           }
         }
       }
+    },
+    "/version": {
+      "get": {
+        "tags": [
+          "Other"
+        ],
+        "summary": "Get Balance tracker''s version",
+        "description": "Get Balance tracker''s last commit hash (versions set by by hash value).\n\nSQL example\n* `SELECT * FROM btracker_endpoints.get_btracker_version();`\n\nREST call example\n* `GET ''https://%1$s/balance-api/version''`\n",
+        "operationId": "btracker_endpoints.get_btracker_version",
+        "responses": {
+          "200": {
+            "description": "Balance tracker version\n\n* Returns `TEXT`\n",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "type": "string"
+                },
+                "example": "c2fed8958584511ef1a66dab3dbac8c40f3518f0"
+              }
+            }
+          },
+          "404": {
+            "description": "App not installed"
+          }
+        }
+      }
+    },
+    "/last-synced-block": {
+      "get": {
+        "tags": [
+          "Other"
+        ],
+        "summary": "Get last block number synced by balance tracker",
+        "description": "Get the block number of the last block synced by balance tracker.\n\nSQL example\n* `SELECT * FROM btracker_endpoints.get_btracker_last_synced_block();`\n\nREST call example\n* `GET ''https://%1$s/balance-api/last-synced-block''`\n",
+        "operationId": "btracker_endpoints.get_btracker_last_synced_block",
+        "responses": {
+          "200": {
+            "description": "Last synced block by balance tracker\n\n* Returns `INT`\n",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "type": "integer"
+                },
+                "example": 5000000
+              }
+            }
+          },
+          "404": {
+            "description": "No blocks synced"
+          }
+        }
+      }
     }
   }
 }
diff --git a/rewrite_rules.conf b/rewrite_rules.conf
index 26577451bf5ee07d1126b8a4bc51915c6e4b7582..82b3b03314c89a8aa818a62964b879f85eed15a5 100644
--- a/rewrite_rules.conf
+++ b/rewrite_rules.conf
@@ -1,3 +1,9 @@
+rewrite ^/last-synced-block /rpc/get_btracker_last_synced_block break;
+# endpoint for get /last-synced-block
+
+rewrite ^/version /rpc/get_btracker_version break;
+# endpoint for get /version
+
 rewrite ^/accounts/([^/]+)/delegations /rpc/get_balance_delegations?account-name=$1 break;
 # endpoint for get /accounts/{account-name}/delegations
 
diff --git a/scripts/install_app.sh b/scripts/install_app.sh
index ad9eb8a643890ea8f13bca3fb5572de37f3a3400..69bb4fb8a93ee67d3af76494445d7ba3e15634e4 100755
--- a/scripts/install_app.sh
+++ b/scripts/install_app.sh
@@ -1,4 +1,4 @@
-#! /bin/sh -e
+#! /bin/bash -e
 
 SCRIPTPATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 || exit 1; pwd -P )"
 
@@ -99,10 +99,13 @@ psql "$POSTGRES_ACCESS" -v ON_ERROR_STOP=on  -c "SET SEARCH_PATH TO ${BTRACKER_S
 psql "$POSTGRES_ACCESS" -v ON_ERROR_STOP=on  -c "SET SEARCH_PATH TO ${BTRACKER_SCHEMA};" -f "$SCRIPTPATH/../endpoints/account-balances/get_account_balances.sql"
 psql "$POSTGRES_ACCESS" -v ON_ERROR_STOP=on  -c "SET SEARCH_PATH TO ${BTRACKER_SCHEMA};" -f "$SCRIPTPATH/../endpoints/account-balances/get_history_aggregation.sql"
 psql "$POSTGRES_ACCESS" -v ON_ERROR_STOP=on  -c "SET SEARCH_PATH TO ${BTRACKER_SCHEMA};" -f "$SCRIPTPATH/../endpoints/account-balances/get_account_delegations.sql"
+psql "$POSTGRES_ACCESS" -v ON_ERROR_STOP=on  -c "SET SEARCH_PATH TO ${BTRACKER_SCHEMA};" -f "$SCRIPTPATH/../endpoints/other/get_btracker_last_synced_block.sql"
+psql "$POSTGRES_ACCESS" -v ON_ERROR_STOP=on  -c "SET SEARCH_PATH TO ${BTRACKER_SCHEMA};" -f "$SCRIPTPATH/../endpoints/other/get_btracker_version.sql"
 
 psql "$POSTGRES_ACCESS" -v ON_ERROR_STOP=on  -c "SET SEARCH_PATH TO ${BTRACKER_SCHEMA};" -f "$SCRIPTPATH/../dump_accounts/account_dump_schema.sql"
 psql "$POSTGRES_ACCESS" -v ON_ERROR_STOP=on  -c "SET SEARCH_PATH TO ${BTRACKER_SCHEMA};" -f "$SCRIPTPATH/../dump_accounts/account_stats_btracker.sql"
 psql "$POSTGRES_ACCESS" -v ON_ERROR_STOP=on  -c "SET SEARCH_PATH TO ${BTRACKER_SCHEMA};" -f "$SCRIPTPATH/../dump_accounts/compare_accounts.sql"
+psql "$POSTGRES_ACCESS" -v ON_ERROR_STOP=on  -c "SET SEARCH_PATH TO ${BTRACKER_SCHEMA};" -f "$SCRIPTPATH/set_version_in_sql.pgsql"
 psql "$POSTGRES_ACCESS" -v ON_ERROR_STOP=on  -c "SET ROLE btracker_owner;GRANT USAGE ON SCHEMA ${BTRACKER_SCHEMA} to btracker_user;"
 psql "$POSTGRES_ACCESS" -v ON_ERROR_STOP=on  -c "SET ROLE btracker_owner;GRANT USAGE ON SCHEMA btracker_endpoints to btracker_user;"
 psql "$POSTGRES_ACCESS" -v ON_ERROR_STOP=on  -c "SET ROLE btracker_owner;GRANT USAGE ON SCHEMA btracker_backend to btracker_user;"
diff --git a/scripts/openapi_rewrite.sh b/scripts/openapi_rewrite.sh
index 8066b02388afb4ffff0635c1bb033b27674f1ed6..e99f371a9ef96d1e1545bdf6738f14bbff9621ce 100755
--- a/scripts/openapi_rewrite.sh
+++ b/scripts/openapi_rewrite.sh
@@ -23,7 +23,10 @@ ENDPOINTS_IN_ORDER="
 ../$endpoints/account-balances/get_account_balances.sql
 ../$endpoints/account-balances/get_balance_history.sql
 ../$endpoints/account-balances/get_history_aggregation.sql
-../$endpoints/account-balances/get_account_delegations.sql"
+../$endpoints/account-balances/get_account_delegations.sql
+../$endpoints/other/get_btracker_version.sql
+../$endpoints/other/get_btracker_last_synced_block.sql"
+
 
 # Function to reverse the lines
 reverse_lines() {