Cookbook Community Meetup - 12pm ET / 5pm GMT every week on Wednesdays



Contributors: Dan MacDonald, Luke Cassady-Dorion, PBillingsby
Last Updated:



An Arweave wallet is required to deploy using arkb for covering the data transaction costs.


To install arkb run

npm install -g arkb
yarn add ar-gql


When uploading a directory of files or a Permaweb application, by default arkb deploys each file separately as an L1 transaction, with the option to bundle the transactions using Bundlr.

Static Build

Permaweb applications are statically generated, meaning that the code and content are generated ahead of time and stored on the network.

Below is an example of a static site. To deploy this to the Permaweb, the build directory will be passed in as the argument for the deploy flag.

|- build
    |- index.html
    |- styles.css
    |- index.js

Default Deployment

Deploying as an L1 transaction can take longer to confirm as it is directly uploaded to the Arweave network.

arkb deploy [folder] --wallet [path to wallet]

Bundled Deployment

To deploy using Bundlr you will need to fund a Bundlr node.

Bundlr node2 allows free transactions under 100kb.

You can add custom identifiable tags to the deployment using tag-name/tag-value syntax.

arkb deploy [folder] --use-bundler [bundlr node] --wallet [path to wallet] --tag-name [tag name] --tag-value [tag value]

Other Commands

Fund Bundlr

arkb fund-bundler [amount] --use-bundler [bundlr node]

* Funding a Bundlr instance can take up to 30 minutes to process

Saving Keyfile

arkb wallet-save [path to wallet]

After saving your key you can now run commands without the --wallet-file option, like this

arkb deploy [path to directory]

Check Wallet Balance

arkb balance