diff --git a/kwant/system.py b/kwant/system.py
index a670d773f221ceb65b2381ec3f64af4fd767cc52..d725359764ee4e2299743a3a3dd08de2461e45e1 100644
--- a/kwant/system.py
+++ b/kwant/system.py
@@ -31,6 +31,9 @@ class System(metaclass=abc.ABCMeta):
         range.  In addition, the final triple should have the form
         ``(len(graph.num_nodes), 0, tot_norbs)`` where ``tot_norbs`` is the
         total number of orbitals in the system.
+    parameters : frozenset of strings
+        The names of the parameters on which the system depends. This attribute
+        is provisional and may be changed in a future version of Kwant
 
     Notes
     -----
@@ -79,7 +82,11 @@ class FiniteSystem(System, metaclass=abc.ABCMeta):
     leads : sequence of leads
         Each lead has to provide a method ``selfenergy`` that has
         the same signature as `InfiniteSystem.selfenergy` (without the
-        ``self`` parameter). It may also provide ``modes`` that has the
+        ``self`` parameter), and must have property ``parameters``:
+        a collection of strings that name the system parameters (
+        though this requirement is provisional and may be removed in
+        a future version of Kwant).
+        It may also provide ``modes`` that has the
         same signature as `InfiniteSystem.modes` (without the ``self``
         parameter).
     lead_interfaces : sequence of sequences of integers
@@ -89,6 +96,10 @@ class FiniteSystem(System, metaclass=abc.ABCMeta):
         Each sub-sequence contains the indices of the system sites
         that belong to the lead, and therefore have the same onsite as the lead
         sites, and are connected by the same hoppings as the lead sites.
+    parameters : frozenset of strings
+        The names of the parameters on which the system depends. This does
+        not include the parameters for any leads. This attribute
+        is provisional and may be changed in a future version of Kwant
 
     Notes
     -----