diff --git a/packages/contracts-periphery/contracts/foundry-tests/AttestationStation.t.sol b/packages/contracts-periphery/contracts/foundry-tests/AttestationStation.t.sol
index 78e8eb69b379b9808942a2f66b55864a5819f11f..237041be46f4703aa491480f71478921f528048b 100644
--- a/packages/contracts-periphery/contracts/foundry-tests/AttestationStation.t.sol
+++ b/packages/contracts-periphery/contracts/foundry-tests/AttestationStation.t.sol
@@ -31,6 +31,9 @@ contract AssetReceiverTest is AssetReceiver_Initializer {
     function test_attest_single() external {
         AttestationStation attestationStation = new AttestationStation();
 
+        AttestationStation.AttestationData[]
+            memory attestationDataArr = new AttestationStation.AttestationData[](1);
+
         // alice is going to attest about bob
         AttestationStation.AttestationData memory attestationData = AttestationStation
             .AttestationData({
@@ -44,7 +47,8 @@ contract AssetReceiverTest is AssetReceiver_Initializer {
 
         // make attestation
         vm.prank(alice_attestor);
-        attestationStation.attest(attestationData.about, attestationData.key, attestationData.val);
+        attestationDataArr[0] = attestationData;
+        attestationStation.attest(attestationDataArr);
 
         // assert the attestation is there
         assertEq(
@@ -65,7 +69,8 @@ contract AssetReceiverTest is AssetReceiver_Initializer {
         });
 
         vm.prank(alice_attestor);
-        attestationStation.attest(attestationData.about, attestationData.key, attestationData.val);
+        attestationDataArr[0] = attestationData;
+        attestationStation.attest(attestationDataArr);
 
         // assert the attestation is updated
         assertEq(
@@ -77,4 +82,58 @@ contract AssetReceiverTest is AssetReceiver_Initializer {
             attestationData.val
         );
     }
+
+    function test_attest_bulk() external {
+        AttestationStation attestationStation = new AttestationStation();
+
+        vm.prank(alice_attestor);
+
+        AttestationStation.AttestationData[]
+            memory attestationData = new AttestationStation.AttestationData[](3);
+        attestationData[0] = AttestationStation.AttestationData({
+            about: bob,
+            key: bytes32("test-key:string"),
+            val: bytes("test-value")
+        });
+
+        attestationData[1] = AttestationStation.AttestationData({
+            about: bob,
+            key: bytes32("test-key2"),
+            val: bytes("test-value2")
+        });
+
+        attestationData[2] = AttestationStation.AttestationData({
+            about: sally,
+            key: bytes32("test-key:string"),
+            val: bytes("test-value3")
+        });
+
+        attestationStation.attest(attestationData);
+
+        // assert the attestations are there
+        assertEq(
+            attestationStation.attestations(
+                alice_attestor,
+                attestationData[0].about,
+                attestationData[0].key
+            ),
+            attestationData[0].val
+        );
+        assertEq(
+            attestationStation.attestations(
+                alice_attestor,
+                attestationData[1].about,
+                attestationData[1].key
+            ),
+            attestationData[1].val
+        );
+        assertEq(
+            attestationStation.attestations(
+                alice_attestor,
+                attestationData[2].about,
+                attestationData[2].key
+            ),
+            attestationData[2].val
+        );
+    }
 }