Broadcast reference (steem.broadcast)

Write operations. These sign a transaction and broadcast it to the network — they cause permanent changes on the blockchain. Generated from src/broadcast/operations.js.

Every method accepts a trailing callback or returns a Promise if you omit it (an Async suffix variant also exists). The first argument is the signing key (wif); the Roles line lists which key roles may authorize the operation — pass a WIF for one of them.

Total operations: 63 (plus 4 auth helpers at the end).

Operations

accountCreate

steem.broadcast.accountCreate(wif, fee, creator, new_account_name, owner, active, posting, memo_key, json_metadata, callback)

Roles: active, owner

Creates a new account, paying the creation fee.

Parameters

Name Type Description
fee string Creation fee, e.g. '3.000 STEEM'
creator string Paying account
new_account_name string New account name
owner object Owner authority object
active object Active authority object
posting object Posting authority object
memo_key string Public memo key
json_metadata object|string Account metadata

Example

steem.broadcast.accountCreate(wif, '3.000 STEEM', 'creator', 'newbie',
  ownerAuth, activeAuth, postingAuth, memoPubKey, {}, (err, r) => console.log(r));

Operation: account_create

accountCreateWithDelegation

steem.broadcast.accountCreateWithDelegation(wif, fee, delegation, creator, new_account_name, owner, active, posting, memo_key, json_metadata, extensions, callback)

Roles: active, owner

Creates a new account using a fee plus a VESTS delegation to cover bandwidth.

Parameters

Name Type Description
fee string Creation fee
delegation string VESTS to delegate to the new account
creator string Paying account
new_account_name string New account name
owner object Owner authority
active object Active authority
posting object Posting authority
memo_key string Public memo key
json_metadata object|string Account metadata
extensions array Operation extensions

Example

steem.broadcast.accountCreateWithDelegation(wif, '0.000 STEEM', '5000000.000000 VESTS',
  'creator', 'newbie', ownerAuth, activeAuth, postingAuth, memoPubKey, {}, [], (err, r) => console.log(r));

Operation: account_create_with_delegation

accountUpdate

steem.broadcast.accountUpdate(wif, account, owner, active, posting, memo_key, json_metadata, callback)

Roles: active, owner

Updates an account’s authorities, memo key, and/or json_metadata. Pass undefined for any authority you don’t want to change.

Parameters

Name Type Description
account string Account to update
owner object New owner authority (or undefined)
active object New active authority (or undefined)
posting object New posting authority (or undefined)
memo_key string Public memo key
json_metadata object|string Account metadata

Example

steem.broadcast.accountUpdate(wif, 'alice', undefined, undefined, newPosting, memoKey, {}, (err, r) => console.log(r));

Operation: account_update

accountUpdate2

steem.broadcast.accountUpdate2(wif, account, owner, active, posting, memo_key, json_metadata, posting_json_metadata, extensions, callback)

Roles: posting, active, owner

Like accountUpdate but also supports posting_json_metadata and extensions (HF21+).

Parameters

Name Type Description
account string Account to update
owner object New owner authority (or undefined)
active object New active authority (or undefined)
posting object New posting authority (or undefined)
memo_key string Public memo key
json_metadata object|string Account metadata
posting_json_metadata object|string Posting-level metadata (profile)
extensions array Operation extensions

Example

steem.broadcast.accountUpdate2(wif, 'alice', undefined, undefined, undefined, '', '',
  { profile: { name: 'Alice' } }, [], (err, r) => console.log(r));

Operation: account_update2

accountWitnessProxy

steem.broadcast.accountWitnessProxy(wif, account, proxy, callback)

Roles: active, owner

Delegates the account’s witness voting to a proxy account. Pass '' to clear the proxy.

Parameters

Name Type Description
account string Account setting a proxy
proxy string Proxy account ('' to clear)

Example

steem.broadcast.accountWitnessProxy(wif, 'alice', 'trusted-proxy', (err, r) => console.log(r));

Operation: account_witness_proxy

accountWitnessVote

steem.broadcast.accountWitnessVote(wif, account, witness, approve, callback)

Roles: active, owner

Approves or unapproves a witness for the account’s witness votes (max 30 approvals).

Parameters

Name Type Description
account string Voting account
witness string Witness account
approve boolean true to approve, false to remove

Example

steem.broadcast.accountWitnessVote(wif, 'alice', 'good-witness', true, (err, r) => console.log(r));

Operation: account_witness_vote

cancelTransferFromSavings

steem.broadcast.cancelTransferFromSavings(wif, from, request_id, callback)

Roles: active, owner

Cancels a pending savings withdrawal by id.

Parameters

Name Type Description
from string Savings owner
request_id number The id used for the withdrawal

Example

steem.broadcast.cancelTransferFromSavings(wif, 'alice', 1, (err, r) => console.log(r));

Operation: cancel_transfer_from_savings

changeRecoveryAccount

steem.broadcast.changeRecoveryAccount(wif, account_to_recover, new_recovery_account, extensions, callback)

Roles: owner

Sets a new recovery account. Takes effect after a 30-day delay. Signed with owner.

Parameters

Name Type Description
account_to_recover string Account whose recovery agent changes
new_recovery_account string New recovery agent
extensions array Operation extensions

Example

steem.broadcast.changeRecoveryAccount(ownerWif, 'alice', 'trusted', [], (err, r) => console.log(r));

Operation: change_recovery_account

claimAccount

steem.broadcast.claimAccount(wif, creator, fee, extensions, callback)

Roles: active, owner

Claims an account-creation token (pays the fee up front) to mint a discounted account later with createClaimedAccount.

Parameters

Name Type Description
creator string Account claiming the token
fee string Fee, or '0.000 STEEM' to use RC
extensions array Operation extensions

Example

steem.broadcast.claimAccount(wif, 'creator', '0.000 STEEM', [], (err, r) => console.log(r));

Operation: claim_account

claimRewardBalance

steem.broadcast.claimRewardBalance(wif, account, reward_steem, reward_sbd, reward_vests, callback)

Roles: posting, active, owner

Claims pending author/curation rewards into the liquid/vesting balances.

Parameters

Name Type Description
account string Account claiming
reward_steem string e.g. '0.000 STEEM'
reward_sbd string e.g. '0.000 SBD'
reward_vests string e.g. '0.000006 VESTS'

Example

steem.broadcast.claimRewardBalance(wif, 'alice', '0.000 STEEM', '1.234 SBD', '500.000000 VESTS', (err, r) => console.log(r));

Operation: claim_reward_balance

claimRewardBalance2

steem.broadcast.claimRewardBalance2(wif, account, reward_tokens, extensions, callback)

Roles: posting, active, owner

Generalized reward claim that takes a list of reward tokens (supports SMT rewards) plus extensions.

Parameters

Name Type Description
account string Account claiming
reward_tokens string[] Asset amounts to claim
extensions array Operation extensions

Example

steem.broadcast.claimRewardBalance2(wif, 'alice', ['1.234 SBD', '500.000000 VESTS'], [], (err, r) => console.log(r));

Operation: claim_reward_balance2

comment

steem.broadcast.comment(wif, parent_author, parent_permlink, author, permlink, title, body, json_metadata, callback)

Roles: posting, active, owner

Creates or edits a post or comment. Leave parentAuthor/parentPermlink empty for a top-level post; for a reply, omit permlink to have one derived from the parent.

Parameters

Name Type Description
parentAuthor string Parent author ('' for a root post)
parentPermlink string Parent permlink, or the main tag for a root post
author string Comment author
permlink string Unique permlink for this comment
title string Title (root posts only)
body string Markdown body
jsonMetadata object|string Tags/app metadata

Example

steem.broadcast.comment(wif, '', 'photography', 'alice', 'my-post',
  'My Post', 'Hello **world**', { tags: ['photography'] }, (err, r) => console.log(r));

Operation: comment

commentOptions

steem.broadcast.commentOptions(wif, author, permlink, max_accepted_payout, percent_steem_dollars, allow_votes, allow_curation_rewards, extensions, callback)

Roles: posting, active, owner

Sets payout options for a comment (must be set before it receives votes).

Parameters

Name Type Description
author string Comment author
permlink string Comment permlink
maxAcceptedPayout string Cap, e.g. '1000000.000 SBD'; '0.000 SBD' declines payout
percentSteemDollars number 0..10000 share paid in SBD
allowVotes boolean Whether votes are allowed
allowCurationRewards boolean Whether curation rewards are paid
extensions array Extensions (e.g. beneficiaries)

Example

steem.broadcast.commentOptions(wif, 'alice', 'my-post', '1000000.000 SBD', 10000, true, true, [], (err, r) => console.log(r));

Operation: comment_options

commentReward

steem.broadcast.commentReward(wif, author, permlink, payout, callback)

Roles: posting, active, owner

Virtual operation — emitted when a comment pays out.

Parameters

Name Type Description
author string Comment author
permlink string Comment permlink
payout string Payout value

Example

// Observed via getAccountHistory / streamOperations.

Operation: comment_reward

convert

steem.broadcast.convert(wif, owner, requestid, amount, callback)

Roles: active, owner

Requests conversion of SBD to STEEM. Settles after the conversion delay at the median feed price.

Parameters

Name Type Description
owner string Account converting
requestid number Client-chosen id for the request
amount string SBD amount, e.g. '10.000 SBD'

Example

steem.broadcast.convert(wif, 'alice', 1, '10.000 SBD', (err, r) => console.log(r));

Operation: convert

createClaimedAccount

steem.broadcast.createClaimedAccount(wif, creator, new_account_name, owner, active, posting, memo_key, json_metadata, extensions, callback)

Roles: active, owner

Creates an account using a previously claimed account-creation token (no fee at creation time).

Parameters

Name Type Description
creator string Account holding the token
new_account_name string New account name
owner object Owner authority
active object Active authority
posting object Posting authority
memo_key string Public memo key
json_metadata object|string Account metadata
extensions array Operation extensions

Example

steem.broadcast.createClaimedAccount(wif, 'creator', 'newbie',
  ownerAuth, activeAuth, postingAuth, memoPubKey, {}, [], (err, r) => console.log(r));

Operation: create_claimed_account

createProposal

steem.broadcast.createProposal(wif, creator, receiver, start_date, end_date, daily_pay, subject, permlink, extensions, callback)

Roles: active, owner

Creates an SPS/DHF (proposal system) funding proposal.

Parameters

Name Type Description
creator string Account creating (and paying for) the proposal
receiver string Account that receives funding
start_date string ISO datetime funding starts
end_date string ISO datetime funding ends
daily_pay string SBD per day, e.g. '10.000 SBD'
subject string Short title
permlink string Permlink of the post describing the proposal
extensions array Operation extensions

Example

steem.broadcast.createProposal(wif, 'alice', 'alice',
  '2025-01-01T00:00:00', '2025-02-01T00:00:00', '10.000 SBD',
  'My proposal', 'my-proposal-post', [], (err, r) => console.log(r));

Operation: create_proposal

custom

steem.broadcast.custom(wif, required_auths, id, data, callback)

Roles: active, owner

Posts arbitrary binary custom data requiring the given active auths. App-specific.

Parameters

Name Type Description
required_auths string[] Accounts whose active auth is required
id number Custom operation id
data string Hex/binary payload

Example

steem.broadcast.custom(wif, ['alice'], 777, '<hex>', (err, r) => console.log(r));

Operation: custom

customBinary

steem.broadcast.customBinary(wif, id, data, callback)

Roles: posting, active, owner

Posts arbitrary binary custom data at posting level.

Parameters

Name Type Description
id string Custom id
data string Hex/binary payload

Example

steem.broadcast.customBinary(postingWif, 'myapp', '<hex>', (err, r) => console.log(r));

Operation: custom_binary

customJson

steem.broadcast.customJson(wif, required_auths, required_posting_auths, id, json, callback)

Roles: posting, active, owner

Posts a custom JSON operation — the basis for most second-layer apps.

Parameters

Name Type Description
required_auths string[] Accounts whose active auth is required
required_posting_auths string[] Accounts whose posting auth is required
id string App id, e.g. 'follow'
json string JSON-encoded payload

Example

steem.broadcast.customJson(wif, [], ['alice'], 'follow',
  JSON.stringify(['follow', { follower: 'alice', following: 'bob', what: ['blog'] }]), (err, r) => console.log(r));

Operation: custom_json

declineVotingRights

steem.broadcast.declineVotingRights(wif, account, decline, callback)

Roles: owner

Irreversibly declines the account’s voting rights. Requires owner and takes effect after a delay.

Parameters

Name Type Description
account string Account declining rights
decline boolean true to decline

Example

steem.broadcast.declineVotingRights(ownerWif, 'alice', true, (err, r) => console.log(r));

Operation: decline_voting_rights

delegateVestingShares

steem.broadcast.delegateVestingShares(wif, delegator, delegatee, vesting_shares, callback)

Roles: active, owner

Delegates STEEM POWER (VESTS) from delegator to delegatee. Set to '0.000000 VESTS' to undelegate.

Parameters

Name Type Description
delegator string Account delegating
delegatee string Account receiving the delegation
vesting_shares string VESTS to delegate

Example

steem.broadcast.delegateVestingShares(wif, 'alice', 'bob', '500000.000000 VESTS', (err, r) => console.log(r));

Operation: delegate_vesting_shares

deleteComment

steem.broadcast.deleteComment(wif, author, permlink, callback)

Roles: posting, active, owner

Deletes a post or comment that has no votes and no replies.

Parameters

Name Type Description
author string Comment author
permlink string Comment permlink

Example

steem.broadcast.deleteComment(wif, 'alice', 'my-post', (err, r) => console.log(r));

Operation: delete_comment

escrowApprove

steem.broadcast.escrowApprove(wif, from, to, agent, who, escrow_id, approve, callback)

Roles: active, owner

The agent and recipient approve (or reject) an escrow. Both must approve to activate it.

Parameters

Name Type Description
from string Escrow sender
to string Escrow recipient
agent string Escrow agent
who string The approving party (to or agent)
escrow_id number Escrow id
approve boolean true to approve, false to reject

Example

steem.broadcast.escrowApprove(wif, 'alice', 'bob', 'agent', 'agent', 1, true, (err, r) => console.log(r));

Operation: escrow_approve

escrowDispute

steem.broadcast.escrowDispute(wif, from, to, agent, who, escrow_id, callback)

Roles: active, owner

Raises a dispute on an escrow, handing release control to the agent.

Parameters

Name Type Description
from string Escrow sender
to string Escrow recipient
agent string Escrow agent
who string The party raising the dispute
escrow_id number Escrow id

Example

steem.broadcast.escrowDispute(wif, 'alice', 'bob', 'agent', 'alice', 1, (err, r) => console.log(r));

Operation: escrow_dispute

escrowRelease

steem.broadcast.escrowRelease(wif, from, to, agent, who, receiver, escrow_id, sbd_amount, steem_amount, callback)

Roles: active, owner

Releases escrowed funds to a receiver.

Parameters

Name Type Description
from string Escrow sender
to string Escrow recipient
agent string Escrow agent
who string The party releasing funds
receiver string Who receives the released funds
escrow_id number Escrow id
sbd_amount string SBD to release
steem_amount string STEEM to release

Example

steem.broadcast.escrowRelease(wif, 'alice', 'bob', 'agent', 'alice', 'bob', 1, '0.000 SBD', '10.000 STEEM', (err, r) => console.log(r));

Operation: escrow_release

escrowTransfer

steem.broadcast.escrowTransfer(wif, from, to, agent, escrow_id, sbd_amount, steem_amount, fee, ratification_deadline, escrow_expiration, json_meta, callback)

Roles: active, owner

Creates an escrow between two accounts with an agent, fee, and ratification/expiration deadlines.

Parameters

Name Type Description
from string Sender
to string Recipient
agent string Escrow agent (arbiter)
escrow_id number Client-chosen escrow id
sbd_amount string SBD held, e.g. '0.000 SBD'
steem_amount string STEEM held, e.g. '10.000 STEEM'
fee string Agent fee
ratification_deadline string ISO datetime to ratify by
escrow_expiration string ISO datetime the escrow expires
json_meta object|string Arbitrary metadata

Example

steem.broadcast.escrowTransfer(wif, 'alice', 'bob', 'agent', 1,
  '0.000 SBD', '10.000 STEEM', '0.100 STEEM',
  '2025-01-01T00:00:00', '2025-02-01T00:00:00', {}, (err, r) => console.log(r));

Operation: escrow_transfer

feedPublish

steem.broadcast.feedPublish(wif, publisher, exchange_rate, callback)

Roles: active, owner

Witness operation: publishes a STEEM/SBD price feed.

Parameters

Name Type Description
publisher string Witness account
exchange_rate object { base: 'X SBD', quote: 'Y STEEM' }

Example

steem.broadcast.feedPublish(wif, 'witness', { base: '0.900 SBD', quote: '1.000 STEEM' }, (err, r) => console.log(r));

Operation: feed_publish

fillConvertRequest

steem.broadcast.fillConvertRequest(wif, owner, requestid, amount_in, amount_out, callback)

Roles: active, owner

Virtual operation — emitted by the chain when an SBD→STEEM conversion settles. You normally read it from history rather than broadcasting it.

Parameters

Name Type Description
owner string Account that converted
requestid number The conversion request id
amount_in string SBD converted
amount_out string STEEM produced

Example

// Observed via getAccountHistory / streamOperations, not broadcast directly.

Operation: fill_convert_request

fillOrder

steem.broadcast.fillOrder(wif, current_owner, current_orderid, current_pays, open_owner, open_orderid, open_pays, callback)

Roles: posting, active, owner

Virtual operation — emitted when an internal-market order is (partially) filled.

Parameters

Name Type Description
current_owner string Taker account
current_orderid number Taker order id
current_pays string Amount the taker pays
open_owner string Maker account
open_orderid number Maker order id
open_pays string Amount the maker pays

Example

// Observed via getAccountHistory / streamOperations.

Operation: fill_order

fillTransferFromSavings

steem.broadcast.fillTransferFromSavings(wif, from, to, amount, request_id, memo, callback)

Roles: posting, active, owner

Virtual operation — emitted when a savings withdrawal completes.

Parameters

Name Type Description
from string Savings owner
to string Destination account
amount string Asset amount delivered
request_id number The withdrawal request id
memo string Memo

Example

// Observed via getAccountHistory / streamOperations.

Operation: fill_transfer_from_savings

fillVestingWithdraw

steem.broadcast.fillVestingWithdraw(wif, from_account, to_account, withdrawn, deposited, callback)

Roles: active, owner

Virtual operation — emitted on each scheduled power-down payment.

Parameters

Name Type Description
from_account string Account powering down
to_account string Destination account
withdrawn string VESTS withdrawn
deposited string STEEM (or VESTS) deposited

Example

// Observed via getAccountHistory / streamOperations.

Operation: fill_vesting_withdraw

interest

steem.broadcast.interest(wif, owner, interest, callback)

Roles: active, owner

Virtual operation — emitted when SBD interest is paid to a balance.

Parameters

Name Type Description
owner string Account paid interest
interest string SBD interest amount

Example

// Observed via getAccountHistory / streamOperations.

Operation: interest

limitOrderCancel

steem.broadcast.limitOrderCancel(wif, owner, orderid, callback)

Roles: active, owner

Cancels an open limit order by id. The order may fill before cancellation completes.

Parameters

Name Type Description
owner string Order owner
orderid number The id used when creating the order

Example

steem.broadcast.limitOrderCancel(wif, 'alice', 1, (err, r) => console.log(r));

Operation: limit_order_cancel

limitOrderCreate

steem.broadcast.limitOrderCreate(wif, owner, orderid, amount_to_sell, min_to_receive, fill_or_kill, expiration, callback)

Roles: active, owner

Creates an internal-market limit order using a minimum-to-receive amount. expiration must be in the future.

Parameters

Name Type Description
owner string Order owner
orderid number Client-chosen id (used to cancel)
amount_to_sell string e.g. '10.000 STEEM'
min_to_receive string e.g. '9.000 SBD'
fill_or_kill boolean If true, fill from the book now or cancel
expiration string|Date When the order expires

Example

steem.broadcast.limitOrderCreate(wif, 'alice', 1, '10.000 STEEM', '9.000 SBD', false, '2025-01-01T00:00:00', (err, r) => console.log(r));

Operation: limit_order_create

limitOrderCreate2

steem.broadcast.limitOrderCreate2(wif, owner, orderid, amount_to_sell, exchange_rate, fill_or_kill, expiration, callback)

Roles: active, owner

Like limitOrderCreate but priced with an explicit exchange-rate object instead of a min-to-receive amount.

Parameters

Name Type Description
owner string Order owner
orderid number Client-chosen id
amount_to_sell string Asset amount to sell
exchange_rate object { base, quote } price
fill_or_kill boolean Fill-or-kill flag
expiration string|Date Expiration time

Example

steem.broadcast.limitOrderCreate2(wif, 'alice', 2, '10.000 STEEM',
  { base: '1.000 STEEM', quote: '0.900 SBD' }, false, '2025-01-01T00:00:00', (err, r) => console.log(r));

Operation: limit_order_create2

liquidityReward

steem.broadcast.liquidityReward(wif, owner, payout, callback)

Roles: active, owner

Virtual operation — emitted when a legacy liquidity reward is paid.

Parameters

Name Type Description
owner string Reward recipient
payout string Reward amount

Example

// Observed via getAccountHistory / streamOperations.

Operation: liquidity_reward

pow

steem.broadcast.pow(wif, worker, input, signature, work, callback)

Roles: active, owner

Legacy proof-of-work account registration (pre-HF17). No longer accepted on the live chain; documented for completeness.

Parameters

Name Type Description
worker object Worker public key/account
input object PoW input
signature string PoW signature
work object PoW solution

Example

// Historical only — mining is disabled.
steem.broadcast.pow(wif, worker, input, signature, work, (err, r) => console.log(err));

Operation: pow

pow2

steem.broadcast.pow2(wif, input, pow_summary, callback)

Roles: active, owner

Legacy proof-of-work v2 registration (pre-HF17). No longer accepted on the live chain.

Parameters

Name Type Description
input object PoW input
pow_summary object PoW summary/solution

Example

// Historical only — mining is disabled.
steem.broadcast.pow2(wif, input, powSummary, (err, r) => console.log(err));

Operation: pow2

price

steem.broadcast.price(wif, base, quote, callback)

Roles: active, owner

A price type ({ base, quote }), not a normal standalone broadcast operation. It appears as a serializable building block used inside other operations (e.g. exchange rates). Listed here for completeness.

Parameters

Name Type Description
base string Base asset amount
quote string Quote asset amount

Example

const price = { base: '1.000 STEEM', quote: '0.900 SBD' };

Operation: price

recoverAccount

steem.broadcast.recoverAccount(wif, account_to_recover, new_owner_authority, recent_owner_authority, extensions, callback)

Roles: owner

The account owner completes recovery using a recent owner authority and the newly proposed one. Signed with owner.

Parameters

Name Type Description
account_to_recover string Account being recovered
new_owner_authority object The proposed new owner authority
recent_owner_authority object An owner authority used in the last 30 days
extensions array Operation extensions

Example

steem.broadcast.recoverAccount(ownerWif, 'alice', newOwnerAuth, recentOwnerAuth, [], (err, r) => console.log(r));

Operation: recover_account

removeProposal

steem.broadcast.removeProposal(wif, proposal_owner, proposal_ids, extensions, callback)

Roles: active, owner

Removes proposals owned by the account.

Parameters

Name Type Description
proposal_owner string Owner of the proposals
proposal_ids number[] Proposal ids to remove
extensions array Operation extensions

Example

steem.broadcast.removeProposal(wif, 'alice', [5], [], (err, r) => console.log(r));

Operation: remove_proposal

requestAccountRecovery

steem.broadcast.requestAccountRecovery(wif, recovery_account, account_to_recover, new_owner_authority, extensions, callback)

Roles: active, owner

The recovery agent proposes a new owner authority for an account that asked to be recovered. Valid for 24 hours.

Parameters

Name Type Description
recovery_account string The account’s recovery agent
account_to_recover string Account being recovered
new_owner_authority object Proposed new owner authority
extensions array Operation extensions

Example

steem.broadcast.requestAccountRecovery(wif, 'steem', 'alice', newOwnerAuth, [], (err, r) => console.log(r));

Operation: request_account_recovery

resetAccount

steem.broadcast.resetAccount(wif, reset_account, account_to_reset, new_owner_authority, callback)

Roles: active, owner

Reset-account operation. Currently disabled on chain (broadcasting returns an assertion error).

Parameters

Name Type Description
reset_account string Account performing the reset
account_to_reset string Account being reset
new_owner_authority object New owner authority

Example

steem.broadcast.resetAccount(wif, 'resetter', 'alice', newOwnerAuth, (err, r) => console.log(err));

Operation: reset_account

setResetAccount

steem.broadcast.setResetAccount(wif, account, current_reset_account, reset_account, callback)

Roles: owner, posting

Sets an account’s reset account. Currently disabled on chain.

Parameters

Name Type Description
account string Account being configured
current_reset_account string Current reset account
reset_account string New reset account

Example

steem.broadcast.setResetAccount(wif, 'alice', '', 'resetter', (err, r) => console.log(err));

Operation: set_reset_account

setWithdrawVestingRoute

steem.broadcast.setWithdrawVestingRoute(wif, from_account, to_account, percent, auto_vest, callback)

Roles: active, owner

Routes a percentage of a power-down to another account, optionally re-vesting it there.

Parameters

Name Type Description
from_account string Account powering down
to_account string Destination account
percent number 0..10000 (100% = 10000)
auto_vest boolean Re-vest at the destination if true

Example

steem.broadcast.setWithdrawVestingRoute(wif, 'alice', 'bob', 10000, true, (err, r) => console.log(r));

Operation: set_withdraw_vesting_route

smtContribute

steem.broadcast.smtContribute(wif, contributor, symbol, contribution_id, contribution, extensions, callback)

Roles: active, owner

Contributes STEEM to an SMT’s ICO.

Parameters

Name Type Description
contributor string Contributing account
symbol object SMT asset symbol
contribution_id number Client-chosen id
contribution string STEEM amount
extensions array Operation extensions

Example

steem.broadcast.smtContribute(wif, 'alice', symbol, 1, '10.000 STEEM', [], (err, r) => console.log(r));

Operation: smt_contribute

smtCreate

steem.broadcast.smtCreate(wif, control_account, symbol, smt_creation_fee, precision, extensions, callback)

Roles: active, owner

Creates a Smart Media Token under a control account.

Parameters

Name Type Description
control_account string Account controlling the SMT
symbol object Asset symbol (NAI + precision)
smt_creation_fee string Creation fee
precision number Token decimal precision
extensions array Operation extensions

Example

steem.broadcast.smtCreate(wif, 'alice', symbol, '1000.000 STEEM', 3, [], (err, r) => console.log(r));

Operation: smt_create

smtSetRuntimeParameters

steem.broadcast.smtSetRuntimeParameters(wif, control_account, symbol, runtime_parameters, extensions, callback)

Roles: active, owner

Sets SMT runtime parameters (reward curves, windows, percentages).

Parameters

Name Type Description
control_account string Controlling account
symbol object SMT asset symbol
runtime_parameters array Runtime parameter set
extensions array Operation extensions

Example

steem.broadcast.smtSetRuntimeParameters(wif, 'alice', symbol, runtimeParams, [], (err, r) => console.log(r));

Operation: smt_set_runtime_parameters

smtSetSetupParameters

steem.broadcast.smtSetSetupParameters(wif, control_account, symbol, setup_parameters, extensions, callback)

Roles: active, owner

Sets SMT setup-phase parameters (e.g. whether contributions are allowed).

Parameters

Name Type Description
control_account string Controlling account
symbol object SMT asset symbol
setup_parameters array Setup parameter set
extensions array Operation extensions

Example

steem.broadcast.smtSetSetupParameters(wif, 'alice', symbol, setupParams, [], (err, r) => console.log(r));

Operation: smt_set_setup_parameters

smtSetup

steem.broadcast.smtSetup(wif, control_account, symbol, max_supply, contribution_begin_time, contribution_end_time, launch_time, steem_units_min, min_unit_ratio, max_unit_ratio, extensions, callback)

Roles: active, owner

Configures an SMT’s supply, contribution window, launch time, and unit ratios.

Parameters

Name Type Description
control_account string Controlling account
symbol object SMT asset symbol
max_supply number Maximum token supply
contribution_begin_time string ISO datetime
contribution_end_time string ISO datetime
launch_time string ISO datetime
steem_units_min number Minimum STEEM units to launch
min_unit_ratio number Minimum generation unit ratio
max_unit_ratio number Maximum generation unit ratio
extensions array Operation extensions

Example

steem.broadcast.smtSetup(wif, 'alice', symbol, 1000000,
  '2025-01-01T00:00:00', '2025-02-01T00:00:00', '2025-02-02T00:00:00',
  0, 0, 100, [], (err, r) => console.log(r));

Operation: smt_setup

smtSetupEmissions

steem.broadcast.smtSetupEmissions(wif, control_account, symbol, schedule_time, emissions_unit, interval_seconds, interval_coount, lep_time, rep_time, lep_abs_amount, rep_abs_amount, lep_rel_amount_numerator, rep_rel_amount_numerator, rel_amount_denom_bits, remove, floor_emissions, extensions, callback)

Roles: active, owner

Defines an SMT’s token emission schedule.

Parameters

Name Type Description
control_account string Controlling account
symbol object SMT asset symbol
schedule_time string ISO datetime emissions start
emissions_unit object Emission distribution unit
interval_seconds number Seconds between emissions
interval_coount number Number of intervals (note: param name is misspelled in source)
lep_time string Left-endpoint time
rep_time string Right-endpoint time
lep_abs_amount string Left-endpoint absolute amount
rep_abs_amount string Right-endpoint absolute amount
lep_rel_amount_numerator number Left relative numerator
rep_rel_amount_numerator number Right relative numerator
rel_amount_denom_bits number Relative denominator bits
remove boolean Remove this schedule
floor_emissions boolean Floor emissions flag
extensions array Operation extensions

Example

steem.broadcast.smtSetupEmissions(wif, 'alice', symbol, '2025-01-01T00:00:00',
  emissionsUnit, 86400, 30, lepTime, repTime, '0', '0', 0, 0, 0, false, false, [], (err, r) => console.log(r));

Operation: smt_setup_emissions

smtSetupIcoTier

steem.broadcast.smtSetupIcoTier(wif, control_account, symbol, steem_units_cap, generation_policy, remove, extensions, callback)

Roles: active, owner

Adds or removes an ICO contribution tier for an SMT.

Parameters

Name Type Description
control_account string Controlling account
symbol object SMT asset symbol
steem_units_cap number STEEM units cap for this tier
generation_policy object Token generation policy
remove boolean true to remove the tier
extensions array Operation extensions

Example

steem.broadcast.smtSetupIcoTier(wif, 'alice', symbol, 10000, generationPolicy, false, [], (err, r) => console.log(r));

Operation: smt_setup_ico_tier

transfer

steem.broadcast.transfer(wif, from, to, amount, memo, callback)

Roles: active, owner

Transfers liquid assets between accounts.

Parameters

Name Type Description
from string Sending account
to string Receiving account
amount string e.g. '5.150 SBD' — exactly 3 decimals
memo string Memo (prefix with # to encrypt — see Memo)

Example

const wif = steem.auth.toWif(user, pass, 'active');
steem.broadcast.transfer(wif, 'alice', 'bob', '5.000 STEEM', 'thanks', (err, r) => console.log(r));

Operation: transfer

transferFromSavings

steem.broadcast.transferFromSavings(wif, from, request_id, to, amount, memo, callback)

Roles: active, owner

Requests a withdrawal from savings (subject to the 3-day delay). Identified by request_id.

Parameters

Name Type Description
from string Savings owner
request_id number Client-chosen id
to string Destination account
amount string Asset amount
memo string Optional memo

Example

steem.broadcast.transferFromSavings(wif, 'alice', 1, 'alice', '10.000 STEEM', '', (err, r) => console.log(r));

Operation: transfer_from_savings

transferToSavings

steem.broadcast.transferToSavings(wif, from, to, amount, memo, callback)

Roles: active, owner

Moves assets into the 3-day savings balance.

Parameters

Name Type Description
from string Source account
to string Savings owner (may equal from)
amount string Asset amount
memo string Optional memo

Example

steem.broadcast.transferToSavings(wif, 'alice', 'alice', '10.000 STEEM', '', (err, r) => console.log(r));

Operation: transfer_to_savings

transferToVesting

steem.broadcast.transferToVesting(wif, from, to, amount, callback)

Roles: active, owner

Powers up STEEM into STEEM POWER (VESTS). to may differ from from to power up another account.

Parameters

Name Type Description
from string Account providing STEEM
to string Account to receive STEEM POWER (may equal from)
amount string STEEM amount, e.g. '10.000 STEEM'

Example

steem.broadcast.transferToVesting(wif, 'alice', 'alice', '10.000 STEEM', (err, r) => console.log(r));

Operation: transfer_to_vesting

updateProposalVotes

steem.broadcast.updateProposalVotes(wif, voter, proposal_ids, approve, extensions, callback)

Roles: active, owner

Approves or removes the voter’s approval for one or more proposals.

Parameters

Name Type Description
voter string Voting account
proposal_ids number[] Proposal ids
approve boolean true to approve, false to unapprove
extensions array Operation extensions

Example

steem.broadcast.updateProposalVotes(wif, 'alice', [0, 5], true, [], (err, r) => console.log(r));

Operation: update_proposal_votes

vote

steem.broadcast.vote(wif, voter, author, permlink, weight, callback)

Roles: posting, active, owner

Casts a vote on a post or comment. Re-voting changes the existing vote.

Parameters

Name Type Description
voter string Voting account
author string Post author
permlink string Post permlink
weight number -10000..10000 (100% = 10000)

Example

const wif = steem.auth.toWif(user, pass, 'posting');
steem.broadcast.vote(wif, 'alice', 'bob', 'a-post', 10000, (err, result) => console.log(result));

Operation: vote

vote2

steem.broadcast.vote2(wif, voter, author, permlink, rshares, extensions, callback)

Roles: posting, active, owner

Extended vote operation that specifies rshares directly plus extensions (HF-specific). Most clients use vote.

Parameters

Name Type Description
voter string Voting account
author string Post author
permlink string Post permlink
rshares number Reward shares to apply
extensions array Operation extensions

Example

steem.broadcast.vote2(wif, 'alice', 'bob', 'a-post', 1000000, [], (err, r) => console.log(r));

Operation: vote2

withdrawVesting

steem.broadcast.withdrawVesting(wif, account, vesting_shares, callback)

Roles: active, owner

Starts a power-down of the given VESTS (paid out in 13 weekly installments). Pass '0.000000 VESTS' to stop an active power-down.

Parameters

Name Type Description
account string Account powering down
vesting_shares string VESTS to withdraw, e.g. '1000000.000000 VESTS'

Example

steem.broadcast.withdrawVesting(wif, 'alice', '1000000.000000 VESTS', (err, r) => console.log(r));

Operation: withdraw_vesting

witnessSetProperties

steem.broadcast.witnessSetProperties(wif, owner, props, extensions, callback)

Roles: active, owner

Sets witness-controlled chain properties via a typed props map (HF20+ replacement for parts of witnessUpdate).

Parameters

Name Type Description
owner string Witness account
props object Map of serialized witness properties
extensions array Operation extensions

Example

steem.broadcast.witnessSetProperties(wif, 'witness', { key: '...', account_creation_fee: '...' }, [], (err, r) => console.log(r));

Operation: witness_set_properties

witnessUpdate

steem.broadcast.witnessUpdate(wif, owner, url, block_signing_key, props, fee, callback)

Roles: active, owner

Registers or updates a witness. An empty block_signing_key resigns the witness.

Parameters

Name Type Description
owner string Witness account
url string Witness info URL
block_signing_key string Public signing key (STM1111... to resign)
props object { account_creation_fee, maximum_block_size, sbd_interest_rate }
fee string Legacy fee, usually '0.000 STEEM'

Example

steem.broadcast.witnessUpdate(wif, 'witness', 'https://...', 'STM8...',
  { account_creation_fee: '3.000 STEEM', maximum_block_size: 65536, sbd_interest_rate: 0 }, '0.000 STEEM', (err, r) => console.log(r));

Operation: witness_update

Account auth helpers

Convenience methods (from src/broadcast/helpers.js) that read an account, mutate one of its authorities, and broadcast an accountUpdate for you. Each takes a single options object.

addAccountAuth

steem.broadcast.addAccountAuth({ signingKey, username, authorizedUsername, role, weight }, cb)

Grants another account authority over username for the given role (defaults to posting). Reads the account, adds the authorized account to that role’s account_auths, and broadcasts an accountUpdate. No-ops if the authority already exists.

Parameters

Name Type Description
signingKey string WIF that can sign an account update for username
username string Account being modified
authorizedUsername string Account to grant authority to
role string posting (default), active, or owner
weight number Optional; defaults to the role’s weight_threshold

Example

steem.broadcast.addAccountAuth(
  { signingKey, username: 'alice', authorizedUsername: 'someapp', role: 'posting' },
  (err, r) => console.log(r)
);

removeAccountAuth

steem.broadcast.removeAccountAuth({ signingKey, username, authorizedUsername, role }, cb)

Revokes a previously granted account authority for the given role and broadcasts an accountUpdate. No-ops if the account was not present in account_auths.

Parameters

Name Type Description
signingKey string WIF that can sign an account update for username
username string Account being modified
authorizedUsername string Account to revoke
role string posting (default), active, or owner

Example

steem.broadcast.removeAccountAuth(
  { signingKey, username: 'alice', authorizedUsername: 'someapp', role: 'posting' },
  (err, r) => console.log(r)
);

addKeyAuth

steem.broadcast.addKeyAuth({ signingKey, username, authorizedKey, role, weight }, cb)

Adds a public key to the given role’s key_auths for username and broadcasts an accountUpdate. No-ops if the key is already authorized.

Parameters

Name Type Description
signingKey string WIF that can sign an account update for username
username string Account being modified
authorizedKey string Public key (STM...) to authorize
role string posting (default), active, or owner
weight number Optional; defaults to the role’s weight_threshold

Example

steem.broadcast.addKeyAuth(
  { signingKey, username: 'alice', authorizedKey: 'STM8...', role: 'posting' },
  (err, r) => console.log(r)
);

removeKeyAuth

steem.broadcast.removeKeyAuth({ signingKey, username, authorizedKey, role }, cb)

Removes a public key from the given role’s key_auths and broadcasts an accountUpdate. No-ops if the key was not authorized.

Parameters

Name Type Description
signingKey string WIF that can sign an account update for username
username string Account being modified
authorizedKey string Public key (STM...) to remove
role string posting (default), active, or owner

Example

steem.broadcast.removeKeyAuth(
  { signingKey, username: 'alice', authorizedKey: 'STM8...', role: 'posting' },
  (err, r) => console.log(r)
);

This site uses Just the Docs, a documentation theme for Jekyll.