Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Steem Multiple Authority Manager is a web interface for adding multiple signatory authority to a Steem account, creating, signing, and broadcasting transactions from that account.



  • Changing a Steem account's role(s)' authority to multi-signatory authority
  • Creating a signed transaction. Currently - transfer, transfer_to_vesting, withdraw_vesting, delegate_vesting_shares, and account_witness_vote.
  • Signing already created transaction.
  • Broadcasting the signed transaction.

How does it work?

When a user visits the webpage it checks if the user had logged in before if not ask them to login. Then it saves logged-in user's data to the browser's localStorage for auto-filling forms and account update data.

The logged-in user now can generate multiple authority for posting, active, or owner role of his/her account.

If he/she has multiple authority already setup, can head over to transaction generation page and generate a signed transaction with a private key. The signed transaction has 1 hour expiration time.

The signed transaction can now be sent to other keys (authority) holders for signing. They can use sign transaction page to sign the transaction with their key. After inputting JSON transaction data the interface will show who can sign and who already signed.

After signed by all required parties, the signed transaction can be broadcasted from broadcast transaction page to the blockchain.

How to use?

Step 1: Login

Log in with your Steem username. After successful login, you can use all the pages. Login is required to save your Steem username, memo key to be used in account updates and auto-filling forms.

Step 2: Generating Multiple Authority

You now can make your steem account a multiple signatory accounts for all roles. Select your desired Authority role from the dropdown, add the public key(s) and/or account(s) and desired weight for the key(s) and account(s). If you need to generate key(s), use the form at the bottom of the page.

Enter weight threshold for broadcasting any transaction. Weight threshold is the minimum required total weight of the keys that signed a transaction before it can be broadcasted to the blockchain. In the example, weight threshold is set at 100, so before broadcasting a transaction from @projectaccount that requires active authority, all key that signed the transaction should have a total weight of 100 or more.

So, in the example, the private key of public key 1 (weight 50) and 2 (weight 30) is always required, and then @projectaccount can use the private key of any of the key 3 or 4, or account @reazuliqbal or @bdcommunity to sign and broadcast a successful transaction.

Here is our example transaction on the blockchain.

Step 3: Generating Transaction

Generate a transaction for supported operation (more will come) from generate transaction page with your private key.

Select an operation from the dropdown and fill out the form, enter your private key and click Generate. Copy the generated JSON form of the transaction and send it to other parties for signing.

In the example, @projectaccount is sending 1 STEEM to @reazuliqbal.

Step 4: Signing Transaction

If you are one of the other parties, you should use the transaction signing page to sign the transaction.

Paste the JSON transaction data. You'll see who already signed and who can sign the transaction. Enter your private key and click sign. Copy the signed transaction.

If the weight threshold is met, you can broadcast the transaction or send it to other parties for signing.

Step 5: Broadcasting Transaction

After signing by all the parties or reaching to weight threshold, you can broadcast the transaction from broadcast transaction page.

Paste the signed transaction and click broadcast. If it is successful you'll see a success message else check browser console for errors.

Here is our example transaction on the blockchain.



The dSteem library is used to communicate with the Steem blockchain, jQuery for DOM manipulation, Bootstrap 4 for styling, and browserify for compiling for the browser.

Steem.js's auth module was used to sign changing to multiple authority transactions. I was having a problem with broadcasting the multiple authority transactions signed by dSteem, but after trying Steem.js it worked. I was not able to pinpoint where the problem was but it was in the signature.


  • Support for more operations.
  • Adding reset authorities features.
  • Adding summary description for operations from JSON.


Feel free to fork the repo and submit a pull request. All sources are included in the /src folder.

To compile:

npm run build

To watch your change(s):

npm run watch


Steem Multiple Authority Manager - A basic interface for doing multiple signature/authority transactions on Steem Blockchain




No releases published


No packages published