diff --git a/Assets/Scenes/Level01.unity b/Assets/Scenes/Level01.unity
index 9e6ac9bc8937e864cd37051842b0d54dc30c2f74..274f697666ec76b3a2f89138663b51b16ecedf62 100644
--- a/Assets/Scenes/Level01.unity
+++ b/Assets/Scenes/Level01.unity
@@ -1527,8 +1527,8 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: c32067ea884548644b13cf9baddd4573, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  startingHealth: 300
-  currentHealth: 0
+  startingHealth: 100
+  currentHealth: 100
   healthSlider: {fileID: 1027680864}
   damageImage: {fileID: 582750447}
   healImage: {fileID: 955711586}
@@ -1558,6 +1558,19 @@ MonoBehaviour:
   shotsText: {fileID: 2138422232}
   distanceText: {fileID: 4488739}
   timeText: {fileID: 1202986}
+--- !u!114 &109216541
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 109216528}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9adbdf112ddf4d643bcaaa58f2ac6256, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  coin: 50
 --- !u!1001 &178220267
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -11739,8 +11752,8 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 7162618932881966347, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: coins
-      value: 0
-      objectReference: {fileID: 0}
+      value: 
+      objectReference: {fileID: 109216541}
     - target: {fileID: 7162618932881966347, guid: ce41f0f1776a2c341b1fb70e0cb568f2, type: 3}
       propertyPath: player
       value: 
@@ -11842,6 +11855,7 @@ Transform:
   - {fileID: 14871712}
   - {fileID: 636207316}
   - {fileID: 756133771}
+  - {fileID: 1656483646}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1212966710
@@ -16017,6 +16031,9 @@ PrefabInstance:
     - targetCorrespondingSourceObject: {fileID: 100078, guid: f1d84cc28597f5641a3d9cbc4df7e306, type: 3}
       insertIndex: -1
       addedObject: {fileID: 109216539}
+    - targetCorrespondingSourceObject: {fileID: 100078, guid: f1d84cc28597f5641a3d9cbc4df7e306, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 109216541}
   m_SourcePrefab: {fileID: 100100000, guid: f1d84cc28597f5641a3d9cbc4df7e306, type: 3}
 --- !u!1 &1965662091
 GameObject:
diff --git a/Assets/Scripts/Cheats/Cheats.cs b/Assets/Scripts/Cheats/Cheats.cs
index 04e1fb5796a10803df7b6f30302fa6cd54d07d40..893ce129b7be00709be49912b6b30bc08b845423 100644
--- a/Assets/Scripts/Cheats/Cheats.cs
+++ b/Assets/Scripts/Cheats/Cheats.cs
@@ -73,12 +73,12 @@ public class Cheats : MonoBehaviour
     {
         if (!isCheatCoins)
         {
-            shopManager.coins += cheatCoins;
+            shopManager.coins.coin += cheatCoins;
             isCheatCoins = true;
         }
         else
         {
-            shopManager.coins = 0;
+            shopManager.coins.coin = 0;
             isCheatCoins = false;
         }
         shopManager.changeCoinsValue();
diff --git a/Assets/Scripts/Player/PlayerCoin.cs b/Assets/Scripts/Player/PlayerCoin.cs
new file mode 100644
index 0000000000000000000000000000000000000000..dcbe00bb04a9a0a52dafffb21d1b2b422692e255
--- /dev/null
+++ b/Assets/Scripts/Player/PlayerCoin.cs
@@ -0,0 +1,25 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class PlayerCoin : MonoBehaviour
+{
+    public float coin = 0;
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        coin = 0;
+    }
+
+    public void AddCoins(float coins)
+    {
+        coin += coins;
+    }
+
+    public void SpendCoins(float coins)
+    {
+        coin -= coins;
+        if (coin < 0) coin = 0;
+    }
+}
diff --git a/Assets/Scripts/Player/PlayerCoin.cs.meta b/Assets/Scripts/Player/PlayerCoin.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..44585a9969f733ba9942905603ff35972b97bd45
--- /dev/null
+++ b/Assets/Scripts/Player/PlayerCoin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9adbdf112ddf4d643bcaaa58f2ac6256
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/ShopKeeper/ShopManager.cs b/Assets/Scripts/ShopKeeper/ShopManager.cs
index c3d30e10153affd9af4250f0b2d98ab640b03ca4..38209e62e7a44ca4ad8d0c8098ccb00997672018 100644
--- a/Assets/Scripts/ShopKeeper/ShopManager.cs
+++ b/Assets/Scripts/ShopKeeper/ShopManager.cs
@@ -7,7 +7,7 @@ using Nightmare;
 
 public class ShopManager : MonoBehaviour, IDataPersistence
 {
-    public float coins = 50;
+    public PlayerCoin coins;
     public float increment = 50;
     public int currentReward = 1;
     public TMP_Text coinUI;
@@ -20,7 +20,6 @@ public class ShopManager : MonoBehaviour, IDataPersistence
     // Start is called before the first frame update
     void Start()
     {
-        coins = 50;
         UpdateCoinsUI();
 
         for (int i = 0; i < shopItemsSO.Length; i++)
@@ -34,19 +33,19 @@ public class ShopManager : MonoBehaviour, IDataPersistence
 
     public void LoadData(GameData gameData)
     {
-        this.coins = gameData.coin;
+        this.coins.coin = gameData.coin;
     }
 
     public void SaveData(ref GameData gameData)
     {
-        gameData.coin = this.coins;
+        gameData.coin = this.coins.coin;
     }
 
     public void CheckPurchaseable()
     {
         for (int i = 0; i < shopItemsSO.Length; i++)
         {
-            if (coins >= shopItemsSO[i].price)
+            if (coins.coin >= shopItemsSO[i].price)
             {
                 buyButton[i].interactable = true;
                 buyButton[i].GetComponentInChildren<TextMeshProUGUI>().text = "Buy";
@@ -65,10 +64,10 @@ public class ShopManager : MonoBehaviour, IDataPersistence
 
     public void PurchaseItem(int index)
     {
-        if (coins >= shopItemsSO[index].price)
+        if (coins.coin >= shopItemsSO[index].price)
         {
-            coins -= shopItemsSO[index].price;
-            coinUI.text = coins.ToString();
+            coins.coin -= shopItemsSO[index].price;
+            coinUI.text = coins.coin.ToString();
             GameObject instantiatedItem = Instantiate(shopItemsSO[index].itemPrefab, player.transform.position, Quaternion.identity);
         }
         CheckPurchaseable();
@@ -90,7 +89,7 @@ public class ShopManager : MonoBehaviour, IDataPersistence
 
     public void changeCoinsValue()
     {
-        coinUI.text = coins.ToString();
+        coinUI.text = coins.coin.ToString();
         CheckPurchaseable();
     }
 
@@ -98,7 +97,7 @@ public class ShopManager : MonoBehaviour, IDataPersistence
     {
         if (LevelManager.Instance.currentQuest >= currentReward)
         {
-            coins += increment;
+            coins.coin += increment;
             increment += 50;
 
             UpdateCoinsUI();
@@ -110,6 +109,6 @@ public class ShopManager : MonoBehaviour, IDataPersistence
 
     void UpdateCoinsUI()
     {
-        coinUI.text = coins.ToString();
+        coinUI.text = coins.coin.ToString();
     }
 }