diff --git a/README.md b/README.md
index 0fe302f..70380e4 100644
--- a/README.md
+++ b/README.md
@@ -29,3 +29,50 @@ GLOBAL OPTIONS:
--help, -h show help (default: false)
--version, -v print the version (default: false)
```
+
+## Workflows
+
+### `prepare` command
+
+![prepare diagram](workflows/prepare_diagram.svg)
+
+
+```
+digraph G {
+ label = "prepare diagram"
+ "init" -> "is_multisig"
+ "is_multisig" -> "push_prepare_multisig" [label="no"]
+ "is_multisig" -> "done" [label="yes"]
+ "push_prepare_multisig" -> "wait_peers_prepare_multisig"
+ "wait_peers_prepare_multisig" -> "push_make_multisig"
+ "push_make_multisig" -> "wait_peers_make_multisig"
+ "wait_peers_make_multisig" -> "push_multisig_address"
+ "push_multisig_address" -> "wait_peers_multisig_address"
+ "wait_peers_multisig_address" -> "done"
+}
+```
+
+### `transfer` command
+
+![prepare diagram](workflows/transfer_diagram.svg)
+
+
+```
+digraph G {
+ label = "transfer diagram"
+ subgraph cluster_0 {
+ label = "sync_multisig_wallet";
+ color = "blue";
+ "push_export_multisig_info" -> "wait_peers_export_multisig_info";
+ "wait_peers_export_multisig_info" -> "import_multisig_info";
+ }
+ "init" -> "is_multisig";
+ "is_multisig" -> "push_export_multisig_info" [label="yes"];
+ "is_multisig" -> "done" [label="no"];
+
+ "import_multisig_info" -> "push_transfer";
+ "push_transfer" -> "wait_peer_sign_transfer";
+ "wait_peer_sign_transfer" -> "push_submit_transfer";
+ "push_submit_transfer" -> "done";
+}
+```