diff --git a/src/index.ts b/src/index.ts
index 66a1771..35f8f26 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -22,6 +22,7 @@ import { getPlatforms } from './notifications/utils/get-platforms.util';
 import { redisClient } from './redis';
 import { evmRouter } from './routers/evm';
 import { adRulesRouter } from './routers/slise-ad-rules';
+import { getTkeyStats } from './tkey-stats';
 import { getABData } from './utils/ab-test';
 import { cancelAliceBobOrder } from './utils/alice-bob/cancel-alice-bob-order';
 import { createAliceBobOrder } from './utils/alice-bob/create-alice-bob-order';
@@ -105,6 +106,10 @@ app.get('/api/top-coins', (_req, res) => {
   res.status(200).send(coinGeckoTokens);
 });
 
+app.get('/api/tkey', async (_req, res) => {
+  res.send(await getTkeyStats());
+});
+
 app.get('/api/notifications', async (_req, res) => {
   try {
     const { platform, startFromTime } = _req.query;
diff --git a/src/tkey-stats.ts b/src/tkey-stats.ts
new file mode 100644
index 0000000..bbcc38c
--- /dev/null
+++ b/src/tkey-stats.ts
@@ -0,0 +1,52 @@
+import axios from 'axios';
+import memoizee from 'memoizee';
+
+const BURN_ADDRESS = 'tz1burnburnburnburnburnburnburjAYjjX';
+const INCENTIVES_ADDRESS = 'tz1Ntpk55Q6AVJHVrCs1uN4HyTTxBbVMFZcb';
+const INVESTMENT_ADDRESS = 'tz1imUX3aTc4HX6KygaQUe8e1sQqYvGs6eCF';
+const DEVELOPER_REWARDS_ADDRESS = 'tz1bxHEHAtKubVy44vBDFVEZ1iqYPYdJVS9U';
+const CONTRACT = 'KT1VaEsVNiBoA56eToEK6n6BcPgh1tdx9eXi';
+const DECIMALS = 18n;
+const TOTAL_SUPPLY = 14_000_000_000_000_000_000_000_000n;
+const TOTAL_SUPPLY_WITH_DECIMALS = TOTAL_SUPPLY / 10n ** DECIMALS;
+
+const getTkeyBalance = memoizee(
+  async (holder: string) => {
+    const response = await axios.get(
+      `https://api.tzkt.io/v1/tokens/balances?account=${holder}&token.contract=${CONTRACT}`
+    );
+
+    return BigInt(response.data[0].balance) / 10n ** DECIMALS;
+  },
+  {
+    maxAge: 1000 * 60 * 60 // 1 hour
+  }
+);
+
+const getBurnedTokens = () => getTkeyBalance(BURN_ADDRESS);
+const getInvestmentFund = () => getTkeyBalance(INVESTMENT_ADDRESS);
+const getIncentivesFund = () => getTkeyBalance(INCENTIVES_ADDRESS);
+const getDeveloperRewardsFund = () => getTkeyBalance(DEVELOPER_REWARDS_ADDRESS);
+
+export const getTkeyStats = memoizee(
+  async () => {
+    const burned = await getBurnedTokens();
+    const incentives = await getIncentivesFund();
+    const investment = await getInvestmentFund();
+    const developerRewards = await getDeveloperRewardsFund();
+
+    const circulating = TOTAL_SUPPLY_WITH_DECIMALS - incentives - developerRewards - investment - burned;
+
+    return {
+      incentivesFund: incentives.toString(),
+      investmentFund: investment.toString(),
+      developerRewardsFund: developerRewards.toString(),
+      totalSupply: TOTAL_SUPPLY_WITH_DECIMALS.toString(),
+      circulating: circulating.toString(),
+      burned: burned.toString()
+    };
+  },
+  {
+    maxAge: 1000 * 60 * 60 // 1 hour
+  }
+);
diff --git a/tsconfig.json b/tsconfig.json
index 87d512f..aa0ae21 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,7 +1,7 @@
 {
   "compilerOptions": {
     /* Basic Options */
-    "target": "ES2019",
+    "target": "ES2020",
     "module": "commonjs",
     "lib": ["esnext"],
     "allowJs": true,