diff --git a/gateway/fields.py b/gateway/fields.py
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..4a207e424b718e4ea086e5b9696b70514ad399f6 100644
--- a/gateway/fields.py
+++ b/gateway/fields.py
@@ -0,0 +1,8 @@
+from django.db.models.fields import CharField
+from gateway.validators import validate_address
+
+
+class AddressField(CharField):
+    def __init__(self, *args, **kwargs):
+        self.default_validators.append(validate_address)
+        super().__init__(*args, **kwargs)
diff --git a/gateway/validators.py b/gateway/validators.py
new file mode 100644
index 0000000000000000000000000000000000000000..1e662bb0c2460c90e1b83de878c79aee6ebfcd0f
--- /dev/null
+++ b/gateway/validators.py
@@ -0,0 +1,9 @@
+from django.core.exceptions import ValidationError
+from django.utils.translation import gettext_lazy as _
+from gateway.gateway import AddressValidation
+
+
+def validate_address(value):
+    validator = AddressValidation()
+    if not validator.is_valid(value):
+        raise ValidationError(_('%(value)s is not a valid address'), params={'value': value})