diff --git a/README.md b/README.md
index 844346cf0f7f527bd051e7e366db63d137dbdc73..e0f90e8b379a7cf4ffa0faef05677e90e4d97cae 100644
--- a/README.md
+++ b/README.md
@@ -56,8 +56,7 @@ To go further, read [How to deploy a permanent mirror node on ÄžDev network](./d
 
 ### Create your local blockchain
 
-It can be useful to deploy your local blockchain, for instance to have a controlled environement
-to develop/test an application that interacts with the blockchain.
+It can be useful to deploy your local blockchain, for instance to have a controlled environment to develop/test an application that interacts with the blockchain.
 
 ```docker
 docker run -it -p9944:9944 duniter/duniter-v2s:v0.4.0 --tmp
diff --git a/docs/dev/beginner-walkthrough.md b/docs/dev/beginner-walkthrough.md
index 341be1e587b144e743e86b3aeffb4d2adcb1ffb1..fc1a8bed267b29537211c52d14c77ede638c93d2 100644
--- a/docs/dev/beginner-walkthrough.md
+++ b/docs/dev/beginner-walkthrough.md
@@ -2,7 +2,7 @@
 
 This is a beginner tutorial for those who do not have a previous experience with Rust ecosystem or need guidance to get familiar with Duniter v2s project. You'll need a development machine with an internet connection, at least **20 GB of free storage**, and **an hour or two** depending on your computing power.
 
-This walkthrough is based on the following video (french), don't hesitate to record an english voicecover if you feel so.
+This walkthrough is based on the following video (french), don't hesitate to record an english voiceover if you feel so.
 
 [![preview](https://tube.p2p.legal/lazy-static/previews/654006dc-66c0-4e37-a32f-b7b5a1c13213.jpg)](https://tube.p2p.legal/w/n4TXxQ4SqxzpHPY4TNMXFu)
 
diff --git a/docs/user/autocompletion.md b/docs/user/autocompletion.md
index 6454542aeba79f7433f209b2c431933982a20a84..a0b70c5f2485b946f678ad61c8a3ca205207400a 100644
--- a/docs/user/autocompletion.md
+++ b/docs/user/autocompletion.md
@@ -1,6 +1,6 @@
 # Autocompletion
 
-One can generate autocompletion for its favorite shell using the following option:
+You can generate autocompletion for your favorite shell using the following option:
 
 ```sh
 cargo run -- completion --generator <GENERATOR>
diff --git a/end2end-tests/README.md b/end2end-tests/README.md
index 79da56e7fded4010bf8fd29abdc05109db261538..5e298eb7509e62817f3f6f86637ae0bb00faf3c4 100644
--- a/end2end-tests/README.md
+++ b/end2end-tests/README.md
@@ -134,7 +134,7 @@ To run all the scenarios (there are many) use the command: `cargo cucumber`
 You can filter the `.feature` files to run with the option `i`, for instance:
 
 ```
-cargo cucumber -i monetary*
+cargo cucumber -i 'monetary*'
 ```
 
 will only run `.feature` files that start with `"monetary"`.
diff --git a/node/src/command.rs b/node/src/command.rs
index 14825ec7978b0bf741dc42274c529d78c13eabf6..10473a1e8507391b7d9c2ffc1f8e6beb453c1634 100644
--- a/node/src/command.rs
+++ b/node/src/command.rs
@@ -96,7 +96,7 @@ impl SubstrateCli for Cli {
     fn load_spec(&self, id: &str) -> Result<Box<dyn sc_service::ChainSpec>, String> {
         Ok(match id {
             // === GDEV ===
-            // developement chainspec with generated genesis and Alice validator
+            // development chainspec with generated genesis and Alice validator
             #[cfg(feature = "gdev")]
             "dev" => Box::new(chain_spec::gdev::local_testnet_config(1, 3, 4)?),
             // local testnet with g1 data, gdev configuration (parameters & smiths) and Alice validator
diff --git a/pallets/quota/README.md b/pallets/quota/README.md
index 6ed526208db7b13ab2ebda4983c76778aeaff853..485460de592face6a99597fef19eb952df5936d4 100644
--- a/pallets/quota/README.md
+++ b/pallets/quota/README.md
@@ -5,7 +5,7 @@ Duniter identity system allows to allocate quota and refund transaction fees whe
 ## General behavior
 
 Quota system is plugged to transactions fees which is a rather critical aspect of substrate.
-That's why in `duniter-account` pallet `OnChargeTransaction` implementation, the default behavior is preserved, and refunds are added to a queue handeled in `on_idle`.
+That's why in `duniter-account` pallet `OnChargeTransaction` implementation, the default behavior is preserved, and refunds are added to a queue handled in `on_idle`.
 
 ## Path for a refund
 
diff --git a/pallets/universal-dividend/src/lib.rs b/pallets/universal-dividend/src/lib.rs
index d475f974ca82f1a7d397a019ab3b531fe1078e5c..7a446c483d96c9a92fd1eb31031ad93d5941c9e4 100644
--- a/pallets/universal-dividend/src/lib.rs
+++ b/pallets/universal-dividend/src/lib.rs
@@ -303,7 +303,7 @@ pub mod pallet {
                         let _ = core::mem::replace(
                             first_ud_index,
                             core::num::NonZeroU16::new(current_ud_index)
-                                .expect("unrechable because current_ud_index is never zero."),
+                                .expect("unreachable because current_ud_index is never zero."),
                         );
                         T::Currency::deposit_creating(who, uds_total);
                         Self::deposit_event(Event::UdsClaimed {