diff --git a/doc/src/assets/bench_verify_dao-propose-input_iter.svg b/doc/src/assets/bench_verify_dao-propose-input_iter.svg
new file mode 100644
index 000000000..6d7fb5f42
--- /dev/null
+++ b/doc/src/assets/bench_verify_dao-propose-input_iter.svg
@@ -0,0 +1,2478 @@
+
+
diff --git a/doc/src/assets/bench_verify_dao-propose-input_pdf.svg b/doc/src/assets/bench_verify_dao-propose-input_pdf.svg
new file mode 100644
index 000000000..034cbc299
--- /dev/null
+++ b/doc/src/assets/bench_verify_dao-propose-input_pdf.svg
@@ -0,0 +1,505 @@
+
+
diff --git a/doc/src/assets/bench_verify_dao-vote-input_iter.svg b/doc/src/assets/bench_verify_dao-vote-input_iter.svg
new file mode 100644
index 000000000..aac6cc7b9
--- /dev/null
+++ b/doc/src/assets/bench_verify_dao-vote-input_iter.svg
@@ -0,0 +1,1840 @@
+
+
diff --git a/doc/src/assets/bench_verify_dao-vote-input_pdf.svg b/doc/src/assets/bench_verify_dao-vote-input_pdf.svg
new file mode 100644
index 000000000..843c09c99
--- /dev/null
+++ b/doc/src/assets/bench_verify_dao-vote-input_pdf.svg
@@ -0,0 +1,492 @@
+
+
diff --git a/doc/src/assets/zk-verif-bench.png b/doc/src/assets/zk-verif-bench.png
deleted file mode 100644
index 37531153c..000000000
Binary files a/doc/src/assets/zk-verif-bench.png and /dev/null differ
diff --git a/doc/src/dev/bench.md b/doc/src/dev/bench.md
index 071adb0a3..2916e6097 100644
--- a/doc/src/dev/bench.md
+++ b/doc/src/dev/bench.md
@@ -1,83 +1,36 @@
# ZK Circuits
-Tested with `proof/arithmetic.zk`. Graph of verification times:
+Use `make bench`. For more info, see the [Criterion docs](https://bheisler.github.io/criterion.rs/book/user_guide/command_line_options.html).
-
+## Verify `DAO::vote()` Input Proof
-Proving times graph looks the same.
+### Desktop
-```
-cargo test bench_zk --release --all-features -- --nocapture
-```
+Comparison nullifier (red) and SMT (blue)
-You may need to compile `proof/arithmetic.zk`. Run `make zkas`, then do
-`zkas proof/arithmetic.zk`.
+
+
-## Desktop
+| Test | # |
+|------------|-----------|
+| Nullifier | 9.3899 ms |
+| SMT | 14.551 ms |
+| Change (%) | +54.969% |
-```
-Benchmarking k=11
-Avg proving time: 375 ms
-Avg verification time: 3 ms
-Benchmarking k=12
-Avg proving time: 588 ms
-Avg verification time: 5 ms
-Benchmarking k=13
-Avg proving time: 965 ms
-Avg verification time: 8 ms
-Benchmarking k=14
-Avg proving time: 1688 ms
-Avg verification time: 13 ms
-Benchmarking k=15
-test bench_zk has been running for over 60 seconds
-Avg proving time: 3038 ms
-Avg verification time: 20 ms
-Benchmarking k=16
-Avg proving time: 6043 ms
-Avg verification time: 35 ms
-Benchmarking k=17
-Avg proving time: 13297 ms
-Avg verification time: 65 ms
-Benchmarking k=18
-Avg proving time: 26366 ms
-Avg verification time: 122 ms
-Benchmarking k=19
-Avg proving time: 65233 ms
-Avg verification time: 219 ms
-```
+## Verify `DAO::propose()` Input Proof
-## Laptop
+### Desktop
-```
-Benchmarking k=11
-Avg proving time: 862 ms
-Avg verification time: 14 ms
-Benchmarking k=12
-Avg proving time: 1561 ms
-Avg verification time: 21 ms
-Benchmarking k=13
-test bench_zk has been running for over 60 seconds
-Avg proving time: 2908 ms
-Avg verification time: 36 ms
-Benchmarking k=14
-Avg proving time: 5586 ms
-Avg verification time: 64 ms
-Benchmarking k=15
-Avg proving time: 10855 ms
-Avg verification time: 114 ms
-Benchmarking k=16
-Avg proving time: 22996 ms
-Avg verification time: 205 ms
-Benchmarking k=17
-Avg proving time: 52829 ms
-Avg verification time: 369 ms
-Benchmarking k=18
-Avg proving time: 116140 ms
-Avg verification time: 708 ms
-Benchmarking k=19
-Avg proving time: 245032 ms
-Avg verification time: 1310 ms
-```
+Comparison nullifier (red) and SMT (blue)
+
+
+
+
+| Test | # |
+|------------|-----------|
+| Nullifier | 9.0842 ms |
+| SMT | 14.274 ms |
+| Change (%) | +57.126% |
# WASM