diff --git a/Client/mods/deathmatch/logic/CNetAPI.cpp b/Client/mods/deathmatch/logic/CNetAPI.cpp
index 42e30f25c64..049b9e89089 100644
--- a/Client/mods/deathmatch/logic/CNetAPI.cpp
+++ b/Client/mods/deathmatch/logic/CNetAPI.cpp
@@ -1777,6 +1777,9 @@ void CNetAPI::WriteVehiclePuresync(CClientPed* pPlayerModel, CClientVehicle* pVe
 
     // Write the sent position to the interpolator
     AddInterpolation(vecPosition);
+
+    if (BitStream.Can(eBitStreamVersion::IsVehicleNitroActivated_Serverside))
+        BitStream.Write(pVehicle->GetNitroLevel());
 }
 
 bool CNetAPI::ReadSmallKeysync(CControllerState& ControllerState, NetBitStreamInterface& BitStream)
diff --git a/Server/mods/deathmatch/logic/CVehicle.cpp b/Server/mods/deathmatch/logic/CVehicle.cpp
index 23c388b0208..f30742b5ec2 100644
--- a/Server/mods/deathmatch/logic/CVehicle.cpp
+++ b/Server/mods/deathmatch/logic/CVehicle.cpp
@@ -1013,3 +1013,16 @@ void CVehicle::SetRespawnEnabled(bool bEnabled)
         m_bRespawnEnabled = bEnabled;
     }
 }
+
+bool CVehicle::IsNitroInstalled() const noexcept
+{
+   return this->m_pUpgrades->GetSlotState(8) != 0;
+}
+
+bool CVehicle::IsNitroActivated() const noexcept
+{
+    if (!IsNitroInstalled())
+        return false;
+
+     return m_nitroLevel < 0;
+}
diff --git a/Server/mods/deathmatch/logic/CVehicle.h b/Server/mods/deathmatch/logic/CVehicle.h
index 01aa83d3b48..2e11b8b2b4c 100644
--- a/Server/mods/deathmatch/logic/CVehicle.h
+++ b/Server/mods/deathmatch/logic/CVehicle.h
@@ -400,6 +400,11 @@ class CVehicle final : public CElement
     bool IsOnFire() const noexcept override { return m_onFire; }
     void SetOnFire(bool onFire) noexcept override { m_onFire = onFire; }
 
+    void SetNitroLevel(float level) noexcept { m_nitroLevel = level; }
+    float GetNitroLevel() const noexcept { return m_nitroLevel; }
+    bool  IsNitroActivated() const noexcept;
+    bool  IsNitroInstalled() const noexcept;
+
     void StopIdleTimer();
     void RestartIdleTimer();
     bool IsIdleTimerRunning();
@@ -495,6 +500,7 @@ class CVehicle final : public CElement
     unsigned char m_ucVariant2;
 
     bool m_onFire;
+    float m_nitroLevel {0.0f};
 
     CTickCount m_LastPushedTime;
     CVector    m_vecStationaryCheckPosition;
diff --git a/Server/mods/deathmatch/logic/luadefs/CLuaVehicleDefs.cpp b/Server/mods/deathmatch/logic/luadefs/CLuaVehicleDefs.cpp
index b1352f2e9eb..f21dd919ca3 100644
--- a/Server/mods/deathmatch/logic/luadefs/CLuaVehicleDefs.cpp
+++ b/Server/mods/deathmatch/logic/luadefs/CLuaVehicleDefs.cpp
@@ -128,6 +128,8 @@ void CLuaVehicleDefs::LoadFunctions()
         {"getVehicleSirenParams", GetVehicleSirenParams},
         {"setVehiclePlateText", SetVehiclePlateText},
         {"setVehicleNitroActivated", ArgumentParser<SetVehicleNitroActivated>},
+        {"isVehicleNitroActivated", ArgumentParser<IsVehicleNitroActivated>},
+        {"getVehicleNitroLevel", ArgumentParser<GetVehicleNitroLevel>},
     };
 
     // Add functions
@@ -3059,4 +3061,23 @@ bool CLuaVehicleDefs::SetVehicleNitroActivated(CVehicle* vehicle, bool state) no
 
     m_pPlayerManager->BroadcastOnlyJoined(CElementRPCPacket(vehicle, SET_VEHICLE_NITRO_ACTIVATED, *BitStream.pBitStream));
     return true;
-}
\ No newline at end of file
+}
+
+ bool CLuaVehicleDefs::IsVehicleNitroActivated(CVehicle* vehicle) noexcept
+{
+   return vehicle->IsNitroActivated();
+}
+
+std::variant<float, bool> CLuaVehicleDefs::GetVehicleNitroLevel(CVehicle* vehicle) noexcept
+{
+
+    if (!vehicle->IsNitroInstalled())
+        return false;
+
+    float level = vehicle->GetNitroLevel();
+
+    if (level < 0)
+        level = 1 + level;
+
+    return level;
+}
diff --git a/Server/mods/deathmatch/logic/luadefs/CLuaVehicleDefs.h b/Server/mods/deathmatch/logic/luadefs/CLuaVehicleDefs.h
index 11b23691dcb..0eb4513f599 100644
--- a/Server/mods/deathmatch/logic/luadefs/CLuaVehicleDefs.h
+++ b/Server/mods/deathmatch/logic/luadefs/CLuaVehicleDefs.h
@@ -128,4 +128,6 @@ class CLuaVehicleDefs : public CLuaDefs
     
     static bool SpawnVehicleFlyingComponent(CVehicle* const vehicle, std::uint8_t nodeIndex, std::optional<std::uint8_t> componentCollisionType, std::optional<std::uint32_t> removalTime);
     static bool SetVehicleNitroActivated(CVehicle* vehicle, bool state) noexcept;
+    static bool IsVehicleNitroActivated(CVehicle* vehicle) noexcept;
+    static std::variant<float, bool> GetVehicleNitroLevel(CVehicle* vehicle) noexcept;
 };
diff --git a/Server/mods/deathmatch/logic/net/CSimVehiclePuresyncPacket.cpp b/Server/mods/deathmatch/logic/net/CSimVehiclePuresyncPacket.cpp
index dbfb098cf94..9d133d8b512 100644
--- a/Server/mods/deathmatch/logic/net/CSimVehiclePuresyncPacket.cpp
+++ b/Server/mods/deathmatch/logic/net/CSimVehiclePuresyncPacket.cpp
@@ -254,6 +254,16 @@ bool CSimVehiclePuresyncPacket::Read(NetBitStreamInterface& BitStream)
         if (BitStream.Can(eBitStreamVersion::SetElementOnFire))
             m_Cache.isOnFire = BitStream.ReadBit();
 
+        if (BitStream.Can(eBitStreamVersion::IsVehicleNitroActivated_Serverside))
+        {
+             float vehicleNitro;
+             if (!BitStream.Read(vehicleNitro))
+                 return false;
+
+             m_Cache.vehNitroLevel = vehicleNitro;
+        }
+         
+
         // Success
         return true;
     }
@@ -424,6 +434,10 @@ bool CSimVehiclePuresyncPacket::Write(NetBitStreamInterface& BitStream) const
         if (BitStream.Can(eBitStreamVersion::SetElementOnFire))
             BitStream.WriteBit(m_Cache.isOnFire);
 
+
+        if (BitStream.Can(eBitStreamVersion::IsVehicleNitroActivated_Serverside))
+            BitStream.Write(m_Cache.vehNitroLevel);
+
         // Success
         return true;
     }
diff --git a/Server/mods/deathmatch/logic/net/CSimVehiclePuresyncPacket.h b/Server/mods/deathmatch/logic/net/CSimVehiclePuresyncPacket.h
index 16ebe3eb907..23bbc170428 100644
--- a/Server/mods/deathmatch/logic/net/CSimVehiclePuresyncPacket.h
+++ b/Server/mods/deathmatch/logic/net/CSimVehiclePuresyncPacket.h
@@ -75,6 +75,7 @@ class CSimVehiclePuresyncPacket : public CSimPacket
         CVector VehTurnSpeed;
 
         float fVehHealth;
+        float vehNitroLevel {0.0f};
 
         std::vector<STrailerInfo> TrailerList;
 
diff --git a/Server/mods/deathmatch/logic/packets/CVehiclePuresyncPacket.cpp b/Server/mods/deathmatch/logic/packets/CVehiclePuresyncPacket.cpp
index bfab30f952e..b58992b4865 100644
--- a/Server/mods/deathmatch/logic/packets/CVehiclePuresyncPacket.cpp
+++ b/Server/mods/deathmatch/logic/packets/CVehiclePuresyncPacket.cpp
@@ -454,6 +454,15 @@ bool CVehiclePuresyncPacket::Read(NetBitStreamInterface& BitStream)
             if (BitStream.Can(eBitStreamVersion::SetElementOnFire))
                 pVehicle->SetOnFire(BitStream.ReadBit());
 
+            if (BitStream.Can(eBitStreamVersion::IsVehicleNitroActivated_Serverside))
+            {
+                float vehicleNitro;
+                if (!BitStream.Read(vehicleNitro))
+                    return false;
+
+                pVehicle->SetNitroLevel(vehicleNitro);
+            }
+
             // Success
             return true;
         }
@@ -682,6 +691,9 @@ bool CVehiclePuresyncPacket::Write(NetBitStreamInterface& BitStream) const
             if (BitStream.Can(eBitStreamVersion::SetElementOnFire))
                 BitStream.WriteBit(pVehicle->IsOnFire());
 
+            if (BitStream.Can(eBitStreamVersion::IsVehicleNitroActivated_Serverside))
+                BitStream.Write(pVehicle->GetNitroLevel());
+
             // Success
             return true;
         }
diff --git a/Shared/sdk/net/bitstream.h b/Shared/sdk/net/bitstream.h
index f0a61b66667..99a6ae05375 100644
--- a/Shared/sdk/net/bitstream.h
+++ b/Shared/sdk/net/bitstream.h
@@ -608,6 +608,10 @@ enum class eBitStreamVersion : unsigned short
     // 2025-01-10
     WorldSpecialProperty_FlyingComponents,
 
+    // Add isVehicleNitroActivated and getVehicleNitroLevel Server side
+    // 2025-01-16
+    IsVehicleNitroActivated_Serverside,
+    
     // Ped's camera synchronization
     // 2025-01-29
     PedSync_CameraRotation,