diff --git a/changelog.d/18145.bugfix b/changelog.d/18145.bugfix
new file mode 100644
index 0000000000000000000000000000000000000000..ad9d3538344efd54c6bae6f85fc581302a2fc878
--- /dev/null
+++ b/changelog.d/18145.bugfix
@@ -0,0 +1 @@
+Add rate limit `rc_presence.per_user`. This prevents load from excessive presence updates sent by clients via sync api. Also rate limit `/_matrix/client/v3/presence` as per the spec. Contributed by @rda0.
\ No newline at end of file
diff --git a/demo/start.sh b/demo/start.sh
index 06ec6f985f35fbe9a4f6565d5b55add12e8eb1a7..7636c41f1f91c42c09193be88bee21cd79ab44d9 100755
--- a/demo/start.sh
+++ b/demo/start.sh
@@ -138,6 +138,10 @@ for port in 8080 8081 8082; do
 			  per_user:
 			    per_second: 1000
 			    burst_count: 1000
+			rc_presence:
+			  per_user:
+			    per_second: 1000
+			    burst_count: 1000
 			RC
 			)
             echo "${ratelimiting}" >> "$port.config"