A 'how to' guide for getting started deploying web apps and web pages to Arweave's permaweb.
Arweave Deploy is a small and very simple CLI tool for uploading data to the Arweave network. It's built on Node so can simply be installed as a global Node package or you can just download the latest binary.
npm install -g arweave-deploy
-g flag installs the package globally so you can access it from any directory.
Use this to update the Arweave Deploy software.
npm update -g arweave-deploy
If you prefer or are running an older version of Node, instead of using NPM you can simply download one of the precompiled, self-contained binaries.
Simply download the binary for your OS below. The application is self-contained and has Node.js embedded, so it doesn't matter which (if any) version of Node you may have installed on your system.
Make sure the file is executable, but if it isn't you should be able to simply do this on a *nix system using the following:
chmod +x arweave-deploy
If you want to be able to run Arweave Deploy from any directory on your system, assuming a *nix system, you can move the binary file to
As the binary files are self-contained and unmanaged, to update them you simply need to download the latest binary and replace the previous file.
Instructions for using the Arweave Deploy tool.
arweave deploy [file path to upload] --key-file [path to arweave key file]
arweave deploy index.html --key-file keyfile.jsonFile: index.htmlType: text/htmlSize: 284.00 BytesWallet address: pEbU_SLfRzEseum0_hMB1Ie-hqvpeHWypRhZiPoioDIPrice: 0.000349612332 ARCurrent balance: 0.747511899891 ARBalance after uploading: 0.747162287559 ARCarefully check the above details are correct, then Type CONFIRM to complete this upload
You'll be asked to confirm the transaction, so simply type CONFIRM and hit enter to continue.
Your file is deploying! 🚀Once your file is mined into a block it'll be available on the following URLhttp://arweave.net/r7Ao2z4a1nCOlmIZjZVJHSMa1QACGcQDw6Bg6xwx88Q
Use this to check the remaining token balance of your key file.
arweave balance --key-file [path to arweave key file]
arweave balance --key-file keyfile.jsonAddress: pEbU_SLfRzEseum0_hMB1Ie-hqvpeHWypRhZiPoioDIBalance: 0.747511899891 AR
Show balances and upload prices in Winston instead of AR.
0.000636904150 ARWinston format:
The content type will be automatically detected and the data will be tagged with it, when nodes serve the data they will serve it with this content type header. Incorrect content types can cause some file types to load incorrectly in web browsers.
The following will render the HTML document in browsers as a normal webpage:
arweave deploy index.html --key-file test.jsonFile: test.htmlType: text/htmlSize: 3.08 kB
The following will not render the HTML document in browsers, it will simply display the source as plain text:
arweave deploy index.html --content-type text/plain --key-file test.jsonFile: index.htmlType: text/plainSize: 3.08 kB
This option will skip the upload confirmation step. This can be useful for unattended and automated usages however this should be used with extreme caution as transactions can't be cancelled or reversed in any way.
This is the usual confirmation step that will be skipped with this command:
Carefully check the above details are correct, then Type CONFIRM to complete this upload
By default, Arweave Deploy will check the contents of the file to be uploaded for key fragments, if the data looks like it might contain parts of an RSA key it'll warn you and ask for confirmation to proceed.
This is the usual warning that will be skipped with this command:
The data you're uploading looks like it might be a key file, are you sure you want to continue? Y/N (default: N)