Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
182 lines (114 sloc) 5.73 KB
A 'how to' guide for getting started deploying web apps and web pages to Arweave's permaweb.

User Guide

{% hint style="warning" %} For any questions and support queries regarding Arweave Deploy, we strongly recommend that you join our Discord server as this is the hub of our developer community. Here you will find plenty of community devs and Arweave team members available to help you out 🤖 {% endhint %}


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.

{% hint style="info" %} Wait a moment: If you don't have any tokens to deploy with yet we'd love to give you some for free to welcome you to the permaweb! Claim your free tokens here. {% endhint %}


Install with NPM

Arweave Deploy is a Node.js CLI application, so it can be installed and updated using NPM. Node 10+ is required as this is the first version to support more native RSA functions.

npm install -g arweave-deploy

Note: the -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.

Platform Link
Mac OS Download (1.0.3-BETA)
Windows x64 Download (1.0.3-BETA)
Windows x86 Download (1.0.3-BETA)
Linux Download (1.0.3-BETA)


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 /usr/local/bin.


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.

Upload a file

arweave deploy [file path to upload] --key-file [path to arweave key file]


arweave deploy index.html --key-file keyfile.json 

File: index.html
Type: text/html
Size: 284.00 Bytes
Wallet address: pEbU_SLfRzEseum0_hMB1Ie-hqvpeHWypRhZiPoioDI
Price: 0.000349612332 AR
Current balance: 0.747511899891 AR
Balance after uploading: 0.747162287559 AR

Carefully 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 URL

Check your balance

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.json

Address: pEbU_SLfRzEseum0_hMB1Ie-hqvpeHWypRhZiPoioDI
Balance: 0.747511899891 AR



Show balances and upload prices in Winston instead of AR.

Default format: 0.000636904150 ARWinston format: 636904150 Winston


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.json

File: test.html
Type: text/html
Size: 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.json

File: index.html
Type: text/plain
Size: 3.08 kB

{% hint style="danger" %} WARNING: ADVANCED OPTIONS {% endhint %}


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)