diff --git a/manifest.dhall b/manifest.dhall
index 9e08617e4ee922758a5a25d3cdf7361021f4c4a6..2dd5e276785a525ee2936fef424b40f8432825ba 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -378,6 +378,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "validity-path" "0.4.0.1"
     , callHackage "validity-persistent" "0.0.0.0"
     , callHackage "validity-primitive" "0.0.0.1"
+    , callHackage "validity-scientific" "0.2.0.3"
     , callHackage "vault" "0.3.1.5"
     , callHackage "vector" "0.13.0.0"
     , callHackage "vector-algorithms" "0.9.0.1"
diff --git a/overlay.nix b/overlay.nix
index c57ca2cc380598c2e1a4c94a2a5af09e2b2e1807..e491dd7fd0339b172139436e9e81ee811d12bc80 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -493,6 +493,8 @@ final: prev: with pkgs.haskell.lib; {
 
     validity-primitive = prev.callPackage (./pkgs/validity-primitive.nix) { };
 
+    validity-scientific = prev.callPackage (./pkgs/validity-scientific.nix) { };
+
     vault = prev.callPackage (./pkgs/vault.nix) { };
 
     vector = prev.callPackage (./pkgs/vector.nix) { };
diff --git a/pkgs/validity-scientific.nix b/pkgs/validity-scientific.nix
new file mode 100644
index 0000000000000000000000000000000000000000..635477507c0707a61ee3a0080f3904168c712148
--- /dev/null
+++ b/pkgs/validity-scientific.nix
@@ -0,0 +1,14 @@
+{ mkDerivation, base, lib, scientific, validity }:
+mkDerivation {
+  pname = "validity-scientific";
+  version = "0.2.0.3";
+  sha256 = "773a4a35933637d0bade859dd0e8acadc781d9ccd3b057d60e7ffaaa20e5186f";
+  libraryHaskellDepends = [ base scientific validity ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Validity instances for scientific";
+  license = lib.licenses.mit;
+}
\ No newline at end of file