diff --git a/gso/products/product_blocks/commercial_peer.py b/gso/products/product_blocks/commercial_peer.py
index 61891dd8add5174890fe71530a0d55bafcc99ccb..9cb8878bb11f5609a6fdb7c1c4a255eb22696406 100644
--- a/gso/products/product_blocks/commercial_peer.py
+++ b/gso/products/product_blocks/commercial_peer.py
@@ -2,6 +2,7 @@
 
 from orchestrator.domain.base import ProductBlockModel
 from orchestrator.types import SubscriptionLifecycle
+from pydantic import NonNegativeInt
 from pydantic_forms.types import strEnum
 
 from gso.products.product_blocks.bgp_session import BGPSession, BGPSessionInactive, BGPSessionProvisioning
@@ -52,16 +53,19 @@ class CommercialPeerBlockInactive(
 ):
     """A Commercial Peer that's not yet provisioned. See ``CommercialPeerBlock``."""
 
-    peering_connection: list[PeeringConnectionInactive]
+    peering_connection: list[PeeringConnectionInactive]  # type: ignore[assignment]
+    prefix_limit: NonNegativeInt | None = None
 
 
 class CommercialPeerBlockProvisioning(CommercialPeerBlockInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]):
     """An CommercialPeer that's being provisioned. See ``CommercialPeerBlock``."""
 
-    peering_connection: list[PeeringConnectionProvisioning]
+    peering_connection: list[PeeringConnectionProvisioning]  # type: ignore[assignment]
+    prefix_limit: NonNegativeInt | None = None
 
 
 class CommercialPeerBlock(CommercialPeerBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]):
     """An Internet Exchange Port that's active."""
 
-    peering_connection: list[PeeringConnection]
+    peering_connection: list[PeeringConnection]  # type: ignore[assignment]
+    prefix_limit: NonNegativeInt | None = None