diff --git a/horizon.dhall b/horizon.dhall
index 469e423a3e540258229b2e807ac68e1aaa9318ec..3fc182fefbdbc84ed14681488479319595b5a5fa 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -638,6 +638,7 @@ let packages =
       , pipes = H.callHackage "pipes" "4.3.16"
       , pipes-safe = H.callHackage "pipes-safe" "2.3.4"
       , pointed = H.callHackage "pointed" "5.0.4"
+      , poolboy = H.callHackage "poolboy" "0.2.2.0"
       , polyparse = H.callHackage "polyparse" "1.13"
       , polysemy = H.callHackage "polysemy" "1.9.1.0"
       , polysemy-extra = H.callHackage "polysemy-extra" "0.2.1.0"
diff --git a/horizon.lock b/horizon.lock
index d21df4fab90a0a4a49eb83cdae5ddd1dd5fff98b..0d81562a8d7fc29e3d0309025526e3a425c50cf6 100644
--- a/horizon.lock
+++ b/horizon.lock
@@ -2038,6 +2038,10 @@
   , mapValue =
       "b9d76db4394f047042da4241be91548e97e0bf9b917eaec52e685fa560a15060"
   }
+, { mapKey = "poolboy"
+  , mapValue =
+      "7e4fbac7b05a8e2a1985b14e6db283ff0d52f9ddb35996a2ea160dace9b8f378"
+  }
 , { mapKey = "port-utils"
   , mapValue =
       "6e2cece7ccb0cc9610f61952f329ee215f3d9c7e47cf5a20d4e0bb33d9dee84f"
diff --git a/overlay.nix b/overlay.nix
index 3a2045111026bbcdb7d0a44d67f2df0fb9490ad3..b145ac2da13833c88ad87caf2c60699e744895a8 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -1021,6 +1021,8 @@ final: prev: with pkgs.haskell.lib; {
 
   polysemy-zoo = final.callPackage (./pkgs/polysemy-zoo.nix) { };
 
+  poolboy = final.callPackage (./pkgs/poolboy.nix) { };
+
   port-utils = final.callPackage (./pkgs/port-utils.nix) { };
 
   postgres-options = final.callPackage (./pkgs/postgres-options.nix) { };
diff --git a/pkgs/poolboy.nix b/pkgs/poolboy.nix
new file mode 100644
index 0000000000000000000000000000000000000000..8f19a66ad2f2701385e779b35d2ccb39c5972e08
--- /dev/null
+++ b/pkgs/poolboy.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, async, base, hspec, hspec-core, lib, stm, unliftio
+}:
+mkDerivation {
+  pname = "poolboy";
+  version = "0.2.2.0";
+  sha256 = "c36dd0e6c4edfb6e161dad6934a1781fb0ff4532fbade6dfb6878fe33cee1434";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ async base stm unliftio ];
+  testHaskellDepends = [ base hspec hspec-core ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/blackheaven/poolboy";
+  description = "Simple work queue for bounded concurrency";
+  license = lib.licenses.isc;
+  broken = false;
+}
\ No newline at end of file