diff --git a/ucoin/hdc/amendments/__init__.py b/ucoin/hdc/amendments/__init__.py
index 6bbe031f0a9fcd3c2368db684b6ebfb3132b4847..00136dc1db6b4bccd2604c5e25a3fc5b7c1efcd2 100644
--- a/ucoin/hdc/amendments/__init__.py
+++ b/ucoin/hdc/amendments/__init__.py
@@ -92,6 +92,9 @@ class Votes(Base):
         return self.merkle_easy_parser('/votes/%s' % self.amendment_id)
 
     def __post__(self, **kwargs):
-        pass
+        assert 'amendment' in kwargs
+        assert 'signature' in kwargs
+
+        return self.requests_post('/votes', **kwargs).json()
 
 from . import view
diff --git a/ucoin/hdc/transactions/__init__.py b/ucoin/hdc/transactions/__init__.py
index ffe8f5ccd2f53572e4a29d411349d232d2803cf5..36a94582a006e5d99fef9e6935696a5a7e630b2d 100644
--- a/ucoin/hdc/transactions/__init__.py
+++ b/ucoin/hdc/transactions/__init__.py
@@ -40,7 +40,10 @@ class Process(Base):
         self.signature = signature
 
     def __post__(self):
-        pass
+        assert 'transaction' in kwargs
+        assert 'signature' in kwargs
+
+        return self.requests_post('/process', **kwargs).json()
 
 class All(Base):
     """GET all the transactions stored by this node."""
diff --git a/ucoin/pks/__init__.py b/ucoin/pks/__init__.py
index 949714cd31679999de0cc851532415628f5cfccc..0fae04c314c305b6857e21a1227227e07705e345 100644
--- a/ucoin/pks/__init__.py
+++ b/ucoin/pks/__init__.py
@@ -24,6 +24,24 @@ class PKS(API):
     def __init__(self, module='pks'):
         super().__init__(module)
 
+class Add(PKS):
+    """POST ASCII-armored OpenPGP certificates."""
+
+    def __post__(self, **kwargs):
+        assert 'keytext' in kwargs
+        assert 'keysign' in kwargs
+
+        return self.requests_post('/add', **kwargs)
+
+class Lookup(PKS):
+    """Allows to search for OpenPGP certificates, according to HKP draft."""
+
+    def __get__(self, **kwargs):
+        assert 'search' in kwargs
+        assert 'op' in kwargs
+
+        return self.requests_get('/lookup', **kwargs)
+
 class All(PKS):
     """GET all the received public keys."""
 
diff --git a/ucoin/ucg/__init__.py b/ucoin/ucg/__init__.py
index 125dbeb9dc46d214dd2142fa67d61082e4bda40a..54da5ad4c5da69a2865bae05b9481b1f6d6f5a94 100644
--- a/ucoin/ucg/__init__.py
+++ b/ucoin/ucg/__init__.py
@@ -58,6 +58,9 @@ class THT(UCG):
         return self.merkle_easy_parser('/tht/%s' % self.pgp_fingerprint).json()
 
     def __post__(self, **kwargs):
-        pass
+        assert 'entry' in kwargs
+        assert 'signature' in kwargs
+
+        return self.requests_post('/tht', **kwargs)
 
 from . import peering
diff --git a/ucoin/ucg/peering/__init__.py b/ucoin/ucg/peering/__init__.py
index f74d48b77146c2a97e0c65709c7909d6f385b6c4..77534303dbe76fd1550076699944bfd3232160c1 100644
--- a/ucoin/ucg/peering/__init__.py
+++ b/ucoin/ucg/peering/__init__.py
@@ -49,18 +49,27 @@ class Peers(Base):
         return self.merkle_easy_parser('/peers')
 
     def __post__(self, **kwargs):
-        pass
+        assert 'entry' in kwargs
+        assert 'signature' in kwargs
+
+        return self.requests_post('/peers', **kwargs).json()
 
 class Forward(Base):
     """POST a UCG forward document to this node in order to be sent back incoming transactions."""
 
     def __post__(self, **kwargs):
-        pass
+        assert 'forward' in kwargs
+        assert 'signature' in kwargs
+
+        return self.requests_post('/forward', **kwargs).json()
 
 class Status(Base):
     """POST a UCG status document to this node in order notify of its status."""
 
     def __post__(self, **kwargs):
-        pass
+        assert 'status' in kwargs
+        assert 'signature' in kwargs
+
+        return self.requests_post('/status', **kwargs).json()
 
 from . import peers