diff --git a/substrate/primitives/src/block.rs b/substrate/primitives/src/block.rs
index 41d684f70dd7b441efb0e6b598892ec4d78cb3a6..41844b5d732af7301b6e256a3666ebc2db179fb6 100644
--- a/substrate/primitives/src/block.rs
+++ b/substrate/primitives/src/block.rs
@@ -24,12 +24,12 @@ pub type HeaderHash = H256;
 
 /// A relay chain block header.
 #[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
+#[serde(rename_all = "camelCase")]
+#[serde(deny_unknown_fields)]
 pub struct Header {
 	/// Block parent's hash.
-	#[serde(rename="parentHash")]
 	pub parent_hash: HeaderHash,
 	/// State root after this transition.
-	#[serde(rename="stateRoot")]
 	pub state_root: H256,
 	/// Unix time at which this header was produced.
 	pub timestamp: u64,
@@ -42,9 +42,10 @@ pub struct Header {
 /// Included candidates should be sorted by parachain ID, and without duplicate
 /// IDs.
 #[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
+#[serde(rename_all = "camelCase")]
+#[serde(deny_unknown_fields)]
 pub struct Body {
 	/// Parachain proposal blocks.
-	#[serde(rename="paraBlocks")]
 	pub para_blocks: Vec<parachain::Proposal>,
 }
 
diff --git a/substrate/primitives/src/parachain.rs b/substrate/primitives/src/parachain.rs
index 567225acfeeb95d9af902329a706ce33e8add62d..5d80ffcf1f7d481bb480e403f7745b944aec1fad 100644
--- a/substrate/primitives/src/parachain.rs
+++ b/substrate/primitives/src/parachain.rs
@@ -32,13 +32,14 @@ impl From<u64> for Id {
 
 /// A parachain block proposal.
 #[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
+#[serde(rename_all = "camelCase")]
+#[serde(deny_unknown_fields)]
 pub struct Proposal {
 	/// The ID of the parachain this is a proposal for.
 	pub parachain: Id,
 	/// Parachain block header bytes.
 	pub header: Header,
 	/// Hash of data necessary to prove validity of the header.
-	#[serde(rename="proofHash")]
 	pub proof_hash: ProofHash,
 }
 
diff --git a/substrate/primitives/src/validator.rs b/substrate/primitives/src/validator.rs
index 3ae18fe2709c32b152f15f8f1579fe91b7537b87..afdff7e20f31e888a0dd159d7770fde48d742015 100644
--- a/substrate/primitives/src/validator.rs
+++ b/substrate/primitives/src/validator.rs
@@ -33,11 +33,11 @@ pub struct EgressPosts(#[serde(with="bytes")] pub Vec<u8>);
 /// Validity result of particular proof and ingress queue.
 #[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
 #[serde(tag="type", content="data")]
+#[serde(rename_all = "camelCase")]
+#[serde(deny_unknown_fields)]
 pub enum ProofValidity {
 	/// The proof is invalid.
-	#[serde(rename="invalid")]
 	Invalid,
-	#[serde(rename="valid")]
 	/// The proof is processed and new egress queue is created.
 	/// Also includes current ingress queue delta.
 	Valid(IngressPostsDelta, EgressPosts),