diff --git a/roles/ecosystem/tasks/main.yml b/roles/ecosystem/tasks/main.yml
index ef4cb5f11d3a62b11c136fff07cb349c6d06cf53..86ba8854d5e1d2e1a70beab37d05e17b3af2a39c 100644
--- a/roles/ecosystem/tasks/main.yml
+++ b/roles/ecosystem/tasks/main.yml
@@ -39,6 +39,14 @@
     group: "root"
     mode: 0644
 
+- name: Write .npmrc from template
+  ansible.builtin.shell:
+    cmd: "cat .npmrc.template | envsubst > .npmrc"
+    chdir: "{{ wallet_ecosystem_dir }}"
+    creates: "{{ wallet_ecosystem_dir }}/.npmrc"
+  environment:
+    GITHUB_AUTH_TOKEN: "{{ github_token }}"
+
 - name: Touch files
   ansible.builtin.file:
     path: "{{ item }}"