# Steem Developer Portal - API Definitions

> While the `condenser_api.*` calls are ready for use, all other appbase methods are currently works in progress and may change, or be unsuitable for production use.

### Condenser Api

To help with this transition, we created `condenser_api`, which contains all of the API methods that currently exist and uses the existing argument formatting. The easiest way to get your app to work with Appbase is to change the api to `condenser_api`.

All calls in `condenser_api` will return `[]` as the argument, as the array argument passing is opaque and implemented in the API calls themselves. They follow the current argument formatting. Existing apps should only need to skip using login_api and send all of their calls to condenser_api without any other changes required to use Appbase.

For example, calling `get_dynamic_global_properties` with `condenser_api` vs `database_api`:

    {"jsonrpc":"2.0", "method":"condenser_api.get_dynamic_global_properties", "params":[], "id":1}

    {"jsonrpc":"2.0", "method":"database_api.get_dynamic_global_properties", "id":1}

Because the method has no arguments, the params field can be omitted when not using `condenser_api`. However, it can optionally be included as the void type (e.g. `"params":{}`) but it is not required.

- Working on mainnet
- Working on testnet

#### condenser_api.broadcast_block

Used to broadcast a block.

##### Query Parameters JSON

    [
      {
        "previous": "0000000000000000000000000000000000000000",
        "timestamp": "1970-01-01T00:00:00",
        "witness": "",
        "transaction_merkle_root": "0000000000000000000000000000000000000000",
        "extensions": [],
        "witness_signature": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
        "transactions": []
      }
    ]

##### Expected Response JSON

    {}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.broadcast_block", "params":[{"previous":"0000000000000000000000000000000000000000","timestamp":"1970-01-01T00:00:00","witness":"","transaction_merkle_root":"0000000000000000000000000000000000000000","extensions":[],"witness_signature":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","transactions":[]}], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.broadcast_transaction

Used to broadcast a transaction.

##### Query Parameters JSON

    [
      {
        "ref_block_num": 0,
        "ref_block_prefix": 0,
        "expiration": "1970-01-01T00:00:00",
        "operations": [],
        "extensions": [],
        "signatures": []
      }
    ]

##### Expected Response JSON

    {}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.broadcast_transaction", "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["vote",{"voter":"steemit","author":"alice","permlink":"a-post-by-alice","weight":10000}]],"extensions":[],"signatures":[]}], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.broadcast_transaction", "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["pow",{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":"100.000 STEEM","maximum_block_size":131072,"sbd_interest_rate":1000}}]],"extensions":[],"signatures":[]}], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.broadcast_transaction_synchronous

Used to broadcast a transaction and waits for it to be processed synchronously.

##### Query Parameters JSON

    [
      {
        "ref_block_num": 0,
        "ref_block_prefix": 0,
        "expiration": "1970-01-01T00:00:00",
        "operations": [],
        "extensions": [],
        "signatures": []
      }
    ]

##### Expected Response JSON

    {
      "id": "0000000000000000000000000000000000000000",
      "block_num": 0,
      "trx_num": 0,
      "expired": false
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.broadcast_transaction_synchronous", "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["vote",{"voter":"steemit","author":"alice","permlink":"a-post-by-alice","weight":10000}]],"extensions":[],"signatures":[]}], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.broadcast_transaction_synchronous", "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["pow",{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":"100.000 STEEM","maximum_block_size":131072,"sbd_interest_rate":1000}}]],"extensions":[],"signatures":[]}], "id":1}' https://api.steemit.com

- Disabled
- Working on mainnet
- Working on testnet

#### condenser_api.get_account_bandwidth

Disabled since 0.20.6, see: #3029

Returns the available bandwidth of an account. Parameters: `account:string`; `type:string`, e.g.: `forum` or `market`

`account` (string) | `type` (string) |
--- | --- | ---
`"steemit"` | `"forum"` | Query the available forum bandwidth for the account named “steemit”.
`"alice"` | `"market"` | Query the available market bandwidth for the account named “alice”.

See: Forum/Market Bandwidth

##### Query Parameters JSON

    ["steemit", "forum"]

##### Expected Response JSON

    {
      "id": 8,
      "account": "steemit",
      "type": "forum",
      "average_bandwidth": 214996934,
      "lifetime_bandwidth": "48395000000",
      "last_bandwidth_update": "2018-02-16T03:11:00"
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_account_bandwidth", "params":["steemit","forum"], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_account_bandwidth", "params":["alice","market"], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_account_count

Returns the number of accounts.

##### Query Parameters JSON

    []

##### Expected Response JSON

    0

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_account_count", "params":[], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_account_history

Returns a history of all operations for a given account. Parameters: `account:string`; `start:int`. e.g.: -1 for reverse history or any positive numeric; `limit:int` up to 10000

`account` (string) | `start` (int) | `limit` (int) |
--- | --- | --- | ---
`"steemit"` | `1000` | `1000` | Queries the account named `steemit` starting on the latest item in history, up to 1,000 results.
`"alice"` | `-1` | `10000` | Queries the account named `alice` starting on the oldest item in history, up to 10,000 results.

##### Query Parameters JSON

    ["", 0, 1000]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_account_history", "params":["steemit", 1000, 1000], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_account_history", "params":["steemit", -1, 10000], "id":1}' https://api.steemit.com

- Since: HF13
- Working on mainnet
- Working on testnet

#### condenser_api.get_account_reputations

Returns a list of account reputations. Parameters: `account_lower_bound:string`; `limit:int` up to 1000

`account_lower_bound` (string) | `limit` (int) |
--- | --- | ---
`"steemit"` | `1` | Queries for accounts that start with “steemit”, only one result.
`"a"` | `10` | Queries for accounts that start with “a”, up to 10 results.

##### Query Parameters JSON

    ["", 1000]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_account_reputations", "params":["steemit", 1], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_account_reputations", "params":["a", 10], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_account_votes

Returns all votes by an account. Parameters: `account:string`

`account` (string) |
--- | ---
`"steemit"` | Queries for votes by “steemit”.
`"alice"` | Queries for votes by “alice”.

##### Query Parameters JSON

    [""]

##### Expected Response JSON

    [
      {
        "authorperm": "",
        "weight": "",
        "rshares": "",
        "percent": null,
        "time": "2016-04-29T22:27:42"
      }
    ]

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_account_votes", "params":["steemit"], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_account_votes", "params":["alice"], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_accounts

Returns accounts, queried by name. Parameters: `account:string array`

`account` (string array) |
--- | ---
`["steemit"]` | Queries for account named “steemit”.
`["steemit", "alice"]` | Queries for accounts named “steemit” and “alice”.

##### Query Parameters JSON

    [[""]]

##### Expected Response JSON

    [
      {
        "id": 0,
        "name": "",
        "owner": {
          "weight_threshold": 0,
          "account_auths": [],
          "key_auths": [["", 0], ["", 0], ["", 0]]
        },
        "active": {
          "weight_threshold": 0,
          "account_auths": [],
          "key_auths": [["", 0], ["", 0]]
        },
        "posting": {
          "weight_threshold": 0,
          "account_auths": [],
          "key_auths": [["", 0], ["", 0], ["", 0]]
        },
        "memo_key": "",
        "json_metadata": "",
        "proxy": "",
        "last_owner_update": "2017-03-16T21:17:51",
        "last_account_update": "2017-03-16T23:10:36",
        "created": "2016-03-24T17:00:21",
        "mined": false,
        "recovery_account": "",
        "last_account_recovery": "1970-01-01T00:00:00",
        "reset_account": "null",
        "comment_count": 0,
        "lifetime_vote_count": 0,
        "post_count": 0,
        "can_vote": false,
        "voting_power": 0,
        "last_vote_time": "2016-12-04T23:10:57",
        "balance": "0.000 STEEM",
        "savings_balance": "0.0 STEEM",
        "sbd_balance": "0.0 SBD",
        "sbd_seconds": "",
        "sbd_seconds_last_update": "2018-04-10T04:08:36",
        "sbd_last_interest_payment": "2018-03-15T17:58:24",
        "savings_sbd_balance": "0.000 SBD",
        "savings_sbd_seconds": "",
        "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
        "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
        "savings_withdraw_requests": 0,
        "reward_sbd_balance": "0.000 SBD",
        "reward_steem_balance": "0.000 STEEM",
        "reward_vesting_balance": "0.000000 VESTS",
        "reward_vesting_steem": "0.000 STEEM",
        "vesting_shares": "0.000 VESTS",
        "delegated_vesting_shares": "0.000000 VESTS",
        "received_vesting_shares": "0.000000 VESTS",
        "vesting_withdraw_rate": "0.000000 VESTS",
        "next_vesting_withdrawal": "1969-12-31T23:59:59",
        "withdrawn": 0,
        "to_withdraw": 0,
        "withdraw_routes": 0,
        "curation_rewards": 0,
        "posting_rewards": 0,
        "proxied_vsf_votes": [0, 0, 0, 0],
        "witnesses_voted_for": 0,
        "last_post": "2016-03-30T18:30:18",
        "last_root_post": "2016-03-30T18:30:18",
        "vesting_balance": "0.000 STEEM",
        "reputation": "",
        "transfer_history": [],
        "market_history": [],
        "post_history": [],
        "vote_history": [],
        "other_history": [],
        "witness_votes": [],
        "tags_usage": [],
        "guest_bloggers": []
      }
    ]

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_accounts", "params":[["steemit"]], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_accounts", "params":[["steemit", "alice"]], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_active_votes

Returns all votes for the given post. Parameters: `author:string`; `permlink:string`

`author` (string) | `permlink` (string) |
--- | --- | ---
`"steemit"` | `"firstpost"` | Queries votes for content with a slug `@steemit/firstpost`
`"alice"` | `"a-post-by-alice"` | Queries votes for content with a slug `@alice/a-post-by-alice`

##### Query Parameters JSON

    ["", ""]

##### Expected Response JSON

    [
      {
        "voter": "",
        "weight": "",
        "rshares": 0,
        "percent": 0,
        "reputation": "",
        "time": "1970-01-01T00:00:00"
      }
    ]

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_active_votes", "params":["steemit", "firstpost"], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_active_votes", "params":["alice", "a-post-by-alice"], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_active_witnesses

Returns the list of active witnesses.

##### Query Parameters JSON

    []

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_active_witnesses", "params":[], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_block

Returns a block. Parameters: `block_num:int`

`block_num` (int) |
--- | ---
`1` | Queries the very first block.
`8675309` | Queries block number 8,675,309.
`62396745` | Queries block number 62,396,745.

##### Query Parameters JSON

    [1]

##### Expected Response JSON

    {
      "previous": "0000000000000000000000000000000000000000",
      "timestamp": "2016-03-24T16:05:00",
      "witness": "initminer",
      "transaction_merkle_root": "0000000000000000000000000000000000000000",
      "extensions": [],
      "witness_signature": "204f8ad56a8f5cf722a02b035a61b500aa59b9519b2c33c77a80c0a714680a5a5a7a340d909d19996613c5e4ae92146b9add8a7a663eef37d837ef881477313043",
      "transactions": [],
      "block_id": "0000000109833ce528d5bbfb3f6225b39ee10086",
      "signing_key": "STM8GC13uCZbP44HzMLV6zPZGwVQ8Nt4Kji8PapsPiNq1BK153XTX",
      "transaction_ids": []
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_block", "params":[1], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_block", "params":[8675309], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_block", "params":[62396745], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_block_header

Returns a block header. Parameters: `block_num:int`

`block_num` (int) |
--- | ---
`1` | Queries the block headers for the very first block.
`8675309` | Queries block headers for block number 8,675,309.
`62396745` | Queries block headers for block number 62,396,745.

##### Query Parameters JSON

    [1]

##### Expected Response JSON

    {
      "previous": "0000000000000000000000000000000000000000",
      "timestamp": "2016-03-24T16:05:00",
      "witness": "initminer",
      "transaction_merkle_root": "0000000000000000000000000000000000000000",
      "extensions": []
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_block_header", "params":[1], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_block_header", "params":[8675309], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_block_header", "params":[62396745], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_blog

Returns the list of blog entries for an account. Parameters: `account:string`; `start_entry_id:int`; `limit:int` up to 500

`account` (string) | `start_entry_id` (int) | `limit` (int) |
--- | --- | --- | ---
“steemit” | `0` | `1` | Queries the blog for the account named “steemit”, up to one result.
“alice” | `0` | `50` | Queries the blog for the account named “alice”, up to 50 results.

##### Query Parameters JSON

    ["steemit", 0, 1]

##### Expected Response JSON

    [
      {
        "comment": {
          "id": 0,
          "author": "steemit",
          "permlink": "firstpost",
          "category": "meta",
          "parent_author": "",
          "parent_permlink": "meta",
          "title": "Welcome to Steem!",
          "body": "Steemit is a social media platform where anyone can earn STEEM points by posting. The more people who like a post, the more STEEM the poster earns. Anyone can sell their STEEM for cash or vest it to boost their voting power.",
          "json_metadata": "",
          "last_update": "2016-03-30T18:30:18",
          "created": "2016-03-30T18:30:18",
          "active": "2018-04-09T12:00:42",
          "last_payout": "2016-08-24T19:59:42",
          "depth": 0,
          "children": 336,
          "net_rshares": 0,
          "abs_rshares": 0,
          "vote_rshares": 0,
          "children_abs_rshares": "26169324897669",
          "cashout_time": "1969-12-31T23:59:59",
          "max_cashout_time": "1969-12-31T23:59:59",
          "total_vote_weight": 0,
          "reward_weight": 10000,
          "total_payout_value": {
            "amount": "942",
            "precision": 3,
            "nai": "@@000000013"
          },
          "curator_payout_value": {
            "amount": "756",
            "precision": 3,
            "nai": "@@000000013"
          },
          "author_rewards": 3548,
          "net_votes": 90,
          "root_author": "steemit",
          "root_permlink": "firstpost",
          "max_accepted_payout": {
            "amount": "1000000000",
            "pecision": 3,
            "nai": "@@000000013"
          },
          "percent_steem_dollars": 10000,
          "allow_replies": true,
          "allow_votes": true,
          "allow_curation_rewards": true,
          "beneficiaries": []
        },
        "blog": "steemit",
        "reblog_on": "1970-01-01T00:00:00",
        "entry_id": 0
      }
    ]

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_blog", "params":["steemit",0,1], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_blog", "params":["alice",0,50], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_blog_authors

Returns a list of authors that have had their content reblogged on a given blog account. Parameters: `account:string`

`account` (string) |
--- | ---
`"steemit"` | Queries for account named “steemit”.
`"alice"` | Queries for accounts named alice”.

##### Query Parameters JSON

    [""]

##### Expected Response JSON

    [{"author": "", "count": 0}]

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_blog_authors", "params":["steemit"], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_blog_authors", "params":["alice"], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_blog_entries

Returns a list of blog entries for an account. Parameters: `account:string`; `start_entry_id:int`; `limit:int` up to 500

`account` (string) | `start_entry_id` (int) | `limit` (int) |
--- | --- | --- | ---
“steemit” | `0` | `1` | Queries the blog entries for the account named “steemit”, up to one result.
“alice” | `0` | `50` | Queries the blog entries for the account named “alice”, up to 50 results.

##### Query Parameters JSON

    ["steemit", 0, 1]

##### Expected Response JSON

    [
      {
        "author": "steemit",
        "permlink": "firstpost",
        "blog": "steemit",
        "reblog_on": "1970-01-01T00:00:00",
        "entry_id": 0
      }
    ]

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_blog_entries", "params":["steemit",0,1], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_blog_entries", "params":["alice",0,50], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_chain_properties

Returns the chain properties.

##### Query Parameters JSON

    []

##### Expected Response JSON

    {
      "account_creation_fee": "0.100 STEEM",
      "maximum_block_size": 131072,
      "sbd_interest_rate": 1000,
      "account_subsidy_limit": 0
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_chain_properties", "params":[], "id":1}' https://api.steemit.com

- Since: HF17
- Working on mainnet
- Working on testnet

#### condenser_api.get_comment_discussions_by_payout

Returns a list of discussions based on payout.

##### Query Parameters JSON

    [
      {
        "tag": "",
        "limit": 0,
        "filter_tags": [],
        "select_authors": [],
        "select_tags": [],
        "truncate_body": 0
      }
    ]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_comment_discussions_by_payout", "params":[{"tag":"steem","limit":1}], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_comment_discussions_by_payout", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_config

Returns information about compile-time constants. See: Understanding Configuration Values

##### Query Parameters JSON

    []

##### Expected Response JSON

    {}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_config", "params":[], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_content

Returns the content (post or comment). Parameters: `author:string`; `permlink:string`

`author` (string) | `permlink` (string) |
--- | --- | ---
`"steemit"` | `"firstpost"` | Queries content with a slug `@steemit/firstpost`
`"alice"` | `"a-post-by-alice"` | Queries content with a slug `@alice/a-post-by-alice`

##### Query Parameters JSON

    ["", ""]

##### Expected Response JSON

    {
      "id": 0,
      "author": "",
      "permlink": "",
      "category": "",
      "parent_author": "",
      "parent_permlink": "",
      "title": "",
      "body": "",
      "json_metadata": "",
      "last_update": "1970-01-01T00:00:00",
      "created": "1970-01-01T00:00:00",
      "active": "1970-01-01T00:00:00",
      "last_payout": "1970-01-01T00:00:00",
      "depth": 0,
      "children": 0,
      "net_rshares": 0,
      "abs_rshares": 0,
      "vote_rshares": 0,
      "children_abs_rshares": 0,
      "cashout_time": "1970-01-01T00:00:00",
      "max_cashout_time": "1970-01-01T00:00:00",
      "total_vote_weight": 0,
      "reward_weight": 0,
      "total_payout_value": "0.000 STEEM",
      "curator_payout_value": "0.000 STEEM",
      "author_rewards": 0,
      "net_votes": 0,
      "root_author": "",
      "root_permlink": "",
      "max_accepted_payout": "0.000 STEEM",
      "percent_steem_dollars": 0,
      "allow_replies": false,
      "allow_votes": false,
      "allow_curation_rewards": false,
      "beneficiaries": [],
      "url": "",
      "root_title": "",
      "pending_payout_value": "0.000 STEEM",
      "total_pending_payout_value": "0.000 STEEM",
      "active_votes": [],
      "replies": [],
      "author_reputation": 0,
      "promoted": "0.000 STEEM",
      "body_length": 0,
      "reblogged_by": []
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_content", "params":["steemit", "firstpost"], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_content", "params":["alice", "a-post-by-alice"], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_content_replies

Returns a list of replies. Parameters: `author:string`; `permlink:string`

`author` (string) | `permlink` (string) |
--- | --- | ---
`"steemit"` | `"firstpost"` | Queries replies for a slug `@steemit/firstpost`
`"alice"` | `"a-post-by-alice"` | Queries replies for a slug `@alice/a-post-by-alice`

##### Query Parameters JSON

    ["", ""]

##### Expected Response JSON

    {
      "id": 0,
      "author": "",
      "permlink": "",
      "category": "",
      "parent_author": "",
      "parent_permlink": "",
      "title": "",
      "body": "",
      "json_metadata": "",
      "last_update": "1970-01-01T00:00:00",
      "created": "1970-01-01T00:00:00",
      "active": "1970-01-01T00:00:00",
      "last_payout": "1970-01-01T00:00:00",
      "depth": 0,
      "children": 0,
      "net_rshares": 0,
      "abs_rshares": 0,
      "vote_rshares": 0,
      "children_abs_rshares": 0,
      "cashout_time": "1970-01-01T00:00:00",
      "max_cashout_time": "1970-01-01T00:00:00",
      "total_vote_weight": 0,
      "reward_weight": 0,
      "total_payout_value": "0.000 STEEM",
      "curator_payout_value": "0.000 STEEM",
      "author_rewards": 0,
      "net_votes": 0,
      "root_author": "",
      "root_permlink": "",
      "max_accepted_payout": "0.000 STEEM",
      "percent_steem_dollars": 0,
      "allow_replies": false,
      "allow_votes": false,
      "allow_curation_rewards": false,
      "beneficiaries": [],
      "url": "",
      "root_title": "",
      "pending_payout_value": "0.000 STEEM",
      "total_pending_payout_value": "0.000 STEEM",
      "active_votes": [],
      "replies": [],
      "author_reputation": 0,
      "promoted": "0.000 STEEM",
      "body_length": 0,
      "reblogged_by": []
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_content_replies", "params":["steemit", "firstpost"], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_content_replies", "params":["alice", "a-post-by-alice"], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_conversion_requests

Returns a list of conversion request. Parameters: `id:integer`

`id` (int) |
--- | ---
`1234` | Queries a conversion request with the id of 1234.

##### Query Parameters JSON

    [0]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_conversion_requests", "params":[1234], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_current_median_history_price

##### Query Parameters JSON

    []

##### Expected Response JSON

    {"base": "0.000 STEEM", "quote": "0.000 STEEM"}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_current_median_history_price", "params":[], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_discussions_by_active

Returns a list of discussions based on active.

##### Query Parameters JSON

    [
      {
        "tag": "",
        "limit": 0,
        "filter_tags": [],
        "select_authors": [],
        "select_tags": [],
        "truncate_body": 0
      }
    ]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_active", "params":[{"tag":"steem","limit":1}], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_active", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_discussions_by_author_before_date

Returns a list of discussions based on author before date.

##### Query Parameters JSON

    ["", "", "1970-01-01T00:00:00", 100]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_author_before_date", "params":["steemit","firstpost","2016-04-19T22:49:43",1], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_discussions_by_blog

Returns a list of discussions by blog.

##### Query Parameters JSON

    [
      {
        "tag": "",
        "limit": 0,
        "filter_tags": [],
        "select_authors": [],
        "select_tags": [],
        "truncate_body": 0
      }
    ]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_blog", "params":[{"tag":"steemit","limit":1}], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_blog", "params":[{"tag":"alice","limit":10}], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_discussions_by_cashout

Returns a list of discussions by cashout.

##### Query Parameters JSON

    [
      {
        "tag": "",
        "limit": 0,
        "filter_tags": [],
        "select_authors": [],
        "select_tags": [],
        "truncate_body": 0
      }
    ]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_cashout", "params":[{"tag":"steem","limit":1}], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_cashout", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_discussions_by_children

Returns a list of discussions by children.

##### Query Parameters JSON

    [
      {
        "tag": "",
        "limit": 0,
        "filter_tags": [],
        "select_authors": [],
        "select_tags": [],
        "truncate_body": 0
      }
    ]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_children", "params":[{"tag":"steem","limit":1}], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_children", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_discussions_by_comments

Returns a list of discussions by comments.

##### Query Parameters JSON

    [
      {
        "start_author": "",
        "start_permlink": "",
        "limit": 100
      }
    ]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_comments", "params":[{"start_author":"steemit","start_permlink":"firstpost","limit":1}], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_comments", "params":[{"start_author":"alice","start_permlink":"a-post-by-alice","limit":10,"truncate_body":0}], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_discussions_by_created

Returns a list of discussions by created.

##### Query Parameters JSON

    [
      {
        "tag": "",
        "limit": 0,
        "filter_tags": [],
        "select_authors": [],
        "select_tags": [],
        "truncate_body": 0
      }
    ]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_created", "params":[{"tag":"steem","limit":1}], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_created", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' https://api.steemit.com

- Since: HF14
- Working on mainnet
- Working on testnet

#### condenser_api.get_discussions_by_feed

Returns a list of discussions by feed.

##### Query Parameters JSON

    [
      {
        "tag": "",
        "start_author": "",
        "start_permlink": "",
        "limit": 100
      }
    ]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_feed", "params":[{"tag":"steem","limit":1}], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_feed", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_discussions_by_hot

Returns a list of discussions by hot.

##### Query Parameters JSON

    [
      {
        "tag": "",
        "limit": 0,
        "filter_tags": [],
        "select_authors": [],
        "select_tags": [],
        "truncate_body": 0
      }
    ]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_hot", "params":[{"tag":"steem","limit":1}], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_hot", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' https://api.steemit.com

- Since: HF13
- Working on mainnet
- Working on testnet

#### condenser_api.get_discussions_by_promoted

Returns a list of discussions by promoted.

##### Query Parameters JSON

    [
      {
        "tag": "",
        "limit": 0,
        "filter_tags": [],
        "select_authors": [],
        "select_tags": [],
        "truncate_body": 0
      }
    ]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_promoted", "params":[{"tag":"steem","limit":1}], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_promoted", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_discussions_by_trending

Returns a list of discussions by trending.

##### Query Parameters JSON

    [
      {
        "tag": "",
        "limit": 0,
        "filter_tags": [],
        "select_authors": [],
        "select_tags": [],
        "truncate_body": 0
      }
    ]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_trending", "params":[{"tag":"steem","limit":1}], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_trending", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_discussions_by_votes

Returns a list of discussions by votes.

##### Query Parameters JSON

    [
      {
        "tag": "",
        "limit": 0,
        "filter_tags": [],
        "select_authors": [],
        "select_tags": [],
        "truncate_body": 0
      }
    ]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_votes", "params":[{"tag":"steem","limit":1}], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_votes", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_dynamic_global_properties

Returns the current dynamic global properties. See: Understanding Dynamic Global Properties

##### Query Parameters JSON

    []

##### Expected Response JSON

    {
      "head_block_number": 0,
      "head_block_id": "0000000000000000000000000000000000000000",
      "time": "1970-01-01T00:00:00",
      "current_witness": "",
      "total_pow": "18446744073709551615",
      "num_pow_witnesses": 0,
      "virtual_supply": "0.000 STEEM",
      "current_supply": "0.000 STEEM",
      "confidential_supply": "0.000 STEEM",
      "current_sbd_supply": "0.000 STEEM",
      "confidential_sbd_supply": "0.000 STEEM",
      "total_vesting_fund_steem": "0.000 STEEM",
      "total_vesting_shares": "0.000 STEEM",
      "total_reward_fund_steem": "0.000 STEEM",
      "total_reward_shares2": "0",
      "pending_rewarded_vesting_shares": "0.000 STEEM",
      "pending_rewarded_vesting_steem": "0.000 STEEM",
      "sbd_interest_rate": 0,
      "sbd_print_rate": 10000,
      "maximum_block_size": 0,
      "current_aslot": 0,
      "recent_slots_filled": "0",
      "participation_count": 0,
      "last_irreversible_block_num": 0,
      "vote_power_reserve_rate": 40
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_dynamic_global_properties", "params":[], "id":1}' https://api.steemit.com

- Since: HF14
- Working on mainnet
- Working on testnet

#### condenser_api.get_escrow

Returns the escrow for a certain account by id.

##### Query Parameters JSON

    ["", 0]

##### Expected Response JSON

    null

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_escrow", "params":["steemit", 1234], "id":1}' https://api.steemit.com

- Since: HF17
- Working on mainnet
- Working on testnet

#### condenser_api.get_expiring_vesting_delegations

Returns the expiring vesting delegations for an account. Parameters: `account:string`, `after:timestamp`

`account` (string) | `after` (timestamp) |
--- | --- | ---
`"steemit"` | `"2018-01-01T00:00:00"` | Queries for expiring vesting after January 1st, 2018.
`"alice"` | `"2017-12-01T00:00:00"` | Queries for expiring vesting after December 1st, 2017.

##### Query Parameters JSON

    ["", "1970-01-01T00:00:00"]

##### Expected Response JSON

    [
      {
        "id": 0,
        "delegator": "",
        "vesting_shares": "0.000000 VESTS",
        "expiration": "1970-01-01T00:00:00"
      }
    ]

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_expiring_vesting_delegations", "params":["steemit","2018-01-01T00:00:00"], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_expiring_vesting_delegations", "params":["alice","2017-12-01T00:00:00"], "id":1}' https://api.steemit.com

- Since: HF14
- Working on mainnet
- Working on testnet

#### condenser_api.get_feed

Returns a list of items in an account’s feed. Parameters: `account:string`; `start_entry_id:int`; `limit:int` up to 500

`account` (string) | `start_entry_id` (int) | `limit` (int) |
--- | --- | --- | ---
`"steemit"` | `0` | `1` | Queries the account named `steemit` starting on the first item, up to 1 result.
`"alice"` | `1` | `10` | Queries the account named `alice` starting on the second item, up to 10 results.

##### Query Parameters JSON

    ["", 0, 1]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_feed", "params":["steemit",0,1], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_feed", "params":["alice",1,10], "id":1}' https://api.steemit.com

- Since: HF14
- Working on mainnet
- Working on testnet

#### condenser_api.get_feed_entries

Returns a list of entries in an account’s feed. Parameters: `account:string`; `start_entry_id:int`; `limit:int` up to 500

`account` (string) | `start_entry_id` (int) | `limit` (int) |
--- | --- | --- | ---
`"steemit"` | `0` | `1` | Queries the account named `steemit` starting on the first item, up to 1 result.
`"alice"` | `1` | `10` | Queries the account named `alice` starting on the second item, up to 10 results.

##### Query Parameters JSON

    ["", 0, 1]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_feed_entries", "params":["steemit",0,1], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_feed_entries", "params":["alice",1,10], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_feed_history

Returns the history of price feed values.

##### Query Parameters JSON

    []

##### Expected Response JSON

    {
      "id": 0,
      "current_median_history": {"base": "0.000 STEEM", "quote": "0.000 STEEM"},
      "price_history": []
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_feed_history", "params":[], "id":1}' https://api.steemit.com

- Since: HF9
- Working on mainnet
- Working on testnet

#### condenser_api.get_follow_count

Returns the count of followers/following for an account. Parameters: `account:string`

`account` (string) |
--- | ---
`"steemit"` | Queries the account named `steemit`.
`"alice"` | Queries the account named `alice`.

##### Query Parameters JSON

    [""]

##### Expected Response JSON

    {
      "account": "",
      "follower_count": 0,
      "following_count": 0
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_follow_count", "params":["steemit"], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_follow_count", "params":["alice"], "id":1}' https://api.steemit.com

- Since: HF9
- Working on mainnet
- Not working on testnet

#### condenser_api.get_followers

Returns the list of followers for an account. Parameters: `account:string`; `start:string` (account to start from); `type:string` e.g.: `blog`; `limit:int` up to 1000

`account` (string) | `start` (string) | `type` (string) | `limit` (int) |
--- | --- | --- | --- | ---
`"steemit"` | `null` | `"blog"` | `10` | Queries for follows of the account named `steemit`, up to 10 results.
`"alice"` | `null` | `"ignore"` | `100` | Queries for mutes of the account named `alice`, up to 100 results.

##### Query Parameters JSON

    ["", "", "", 1]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_followers", "params":["steemit",null,"blog",10], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_followers", "params":["alice",null,"ignore",100], "id":1}' https://api.steemit.com

- Since: HF9
- Working on mainnet
- Working on testnet

#### condenser_api.get_following

Returns the list of accounts that are following an account. Parameters: `account:string`; `start:string` (account to start from); `type:string` e.g.: `blog`; `limit:int` up to 1000

`account` (string) | `start` (string) | `type` (string) | `limit` (int) |
--- | --- | --- | --- | ---
`"steemit"` | `null` | `"blog"` | `10` | Queries for follows of the account named `steemit`, up to 10 results.
`"alice"` | `null` | `"ignore"` | `100` | Queries for mutes of the account named `alice`, up to 100 results.

##### Query Parameters JSON

    ["", "", "", 1]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_following", "params":["steemit",null,"blog",10], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_following", "params":["alice",null,"ignore",100], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_hardfork_version

##### Query Parameters JSON

    []

##### Expected Response JSON

    "0.0.0"

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_hardfork_version", "params":[], "id":1}' https://api.steemit.com

- Since: HF16
- Working on mainnet
- Working on testnet

#### condenser_api.get_key_references

Returns all accounts that have the key associated with their owner or active authorities.

##### Query Parameters JSON

    [
      [
        "STM5jZtLoV8YbxCxr4imnbWn61zMB24wwonpnVhfXRmv7j6fk3dTH"
      ]
    ]

##### Expected Response JSON

    [["steemit"]]

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_key_references", "params":[["STM5jZtLoV8YbxCxr4imnbWn61zMB24wwonpnVhfXRmv7j6fk3dTH"]], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_market_history

Returns the market history for the internal SBD:STEEM market. Parameters: `bucket_seconds:int`; `start:timestamp`; `end:timestamp`

`bucket_seconds` (int) | `start` (timestamp) | `end` (timestamp) |
--- | --- | --- | ---
`15` | `"2018-01-01T00:00:00"` | `"2018-01-02T00:00:00"` | Queries for market history between January 1st, 2018 and January 2nd, 2018, segmented by 15 seconds.
`60` | `"2018-01-01T00:00:00"` | `"2018-01-02T00:00:00"` | Queries for market history between January 1st, 2018 and January 2nd, 2018, segmented by one minute.
`300` | `"2018-01-01T00:00:00"` | `"2018-01-02T00:00:00"` | Queries for market history between January 1st, 2018 and January 2nd, 2018, segmented by five minutes.
`3600` | `"2018-01-01T00:00:00"` | `"2018-01-02T00:00:00"` | Queries for market history between January 1st, 2018 and January 2nd, 2018, segmented by one hour.
`86400` | `"2018-01-01T00:00:00"` | `"2018-01-02T00:00:00"` | Queries for market history between January 1st, 2018 and January 2nd, 2018, segmented by one day.

##### Query Parameters JSON

    [0, "1970-01-01T00:00:00", "1970-01-01T00:00:00"]

##### Expected Response JSON

    [
      {
        "id": 0,
        "open": "1970-01-01T00:00:00",
        "seconds": 0,
        "steem": {
          "high": 0,
          "low": 0,
          "open": 0,
          "close": 0,
          "volume": 0
        },
        "non_steem": {
          "high": 0,
          "low": 0,
          "open": 0,
          "close": 0,
          "volume": 0
        }
      }
    ]

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_market_history", "params":[15,"2018-01-01T00:00:00","2018-01-02T00:00:00"], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_market_history", "params":[60,"2018-01-01T00:00:00","2018-01-02T00:00:00"], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_market_history", "params":[300,"2018-01-01T00:00:00","2018-01-02T00:00:00"], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_market_history", "params":[3600,"2018-01-01T00:00:00","2018-01-02T00:00:00"], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_market_history", "params":[86400,"2018-01-01T00:00:00","2018-01-02T00:00:00"], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_market_history_buckets

Returns the bucket seconds being tracked by the plugin.

##### Query Parameters JSON

    []

##### Expected Response JSON

    [15, 60, 300, 3600, 86400]

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_market_history_buckets", "params":[], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_next_scheduled_hardfork

Returns the next scheduled hardfork.

##### Query Parameters JSON

    []

##### Expected Response JSON

    {
      "hf_version": "0.0.0",
      "live_time": "1970-01-01T00:00:00"
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_next_scheduled_hardfork", "params":[], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_open_orders

Returns the open orders for an account. `account:string`

##### Query Parameters JSON

    [""]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_open_orders", "params":["steemit"], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_open_orders", "params":["alice"], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_ops_in_block

Returns all operations contained in a block. Parameters: `block_num:int`; `only_virtual:boolean`

`block_num` (int) | `only_virtual` (boolean) |
--- | --- | ---
`1` | `false` | Queries the operations in block #1.
`5443322` | `true` | Queries only the virtual operations in block #5,443,322.

##### Query Parameters JSON

    [0, false]

##### Expected Response JSON

    [
      {
        "trx_id": "0000000000000000000000000000000000000000",
        "block": 0,
        "trx_in_block": 0,
        "op_in_trx": 0,
        "virtual_op": 0,
        "timestamp": "2016-10-01T06:31:24",
        "op": [
          "producer_reward",
          {
            "producer": "",
            "vesting_shares": "0.000000 VESTS"
          }
        ]
      }
    ]

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_ops_in_block", "params":[1,false], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_ops_in_block", "params":[5443322,true], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_order_book

Returns the internal market order book. Parameters: `limit:int` up to 500

`limit` (int) |
--- | ---
`10` | Queries up to 10 items in the order book.
`500` | Queries up to 500 items in the order book.

##### Query Parameters JSON

    [0]

##### Expected Response JSON

    {"bids": [], "asks": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_order_book", "params":[10], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_order_book", "params":[50], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_owner_history

Returns the owner history of an account. Parameters: `account:string`

`account` (string) |
--- | ---
`"steemit"` | Queries the owner history for account named “steemit”.

##### Query Parameters JSON

    [""]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_owner_history", "params":["steemit"], "id":1}' https://api.steemit.com

- Since: HF17
- Working on mainnet
- Working on testnet

#### condenser_api.get_post_discussions_by_payout

Returns a list of post discussions by payout.

##### Query Parameters JSON

    [
      {
        "tag": "",
        "limit": 0,
        "filter_tags": [],
        "select_authors": [],
        "select_tags": [],
        "truncate_body": 0
      }
    ]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_post_discussions_by_payout", "params":[{"tag":"steem","limit":1}], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_post_discussions_by_payout", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_potential_signatures

This method will return the set of all public keys that could possibly sign for a given transaction.

##### Query Parameters JSON

    [
      {
        "ref_block_num": 0,
        "ref_block_prefix": 0,
        "expiration": "1970-01-01T00:00:00",
        "operations": [],
        "extensions": [],
        "signatures": []
      }
    ]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_potential_signatures", "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["pow",{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"sbd_interest_rate":1000}}]],"extensions":[],"signatures":[]}], "id":1}' https://api.steemit.com

- Since: HF14
- Working on mainnet
- Working on testnet

#### condenser_api.get_reblogged_by

Returns a list of authors that have reblogged a post. Parameters: `author:string`; `permlink:string`

`author` (string) | `permlink` (string) |
--- | --- | ---
`"steemit"` | `"firstpost"` | Queries reblogs for content with a slug `@steemit/firstpost`
`"alice"` | `"a-post-by-alice"` | Queries reblogs for content with a slug `@alice/a-post-by-alice`

##### Query Parameters JSON

    ["", ""]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_reblogged_by", "params":["steemit","firstpost"], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_reblogged_by", "params":["alice","a-post-by-alice"], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_recent_trades

Returns the most recent trades for the internal SBD:STEEM market. Parameters: `limit:int` up to 1000

`limit` (int) |
--- | ---
`10` | Queries up to 10 latest trades.
`500` | Queries up to 500 latest trades.

##### Query Parameters JSON

    [1]

##### Expected Response JSON

    [
      {
        "date": "1970-01-01T00:00:00",
        "current_pays": "0.0 SBD",
        "open_pays": "0.0 STEEM"
      }
    ]

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_recent_trades", "params":[10], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_recent_trades", "params":[500], "id":1}' https://api.steemit.com

- Since: HF11
- Working on mainnet
- Working on testnet

#### condenser_api.get_recovery_request

Returns the recovery request for an account. Parameters: `account:string`

`account` (string) |
--- | ---
`"steemit"` | Queries the recovery requests for account named “steemit”.

##### Query Parameters JSON

    [""]

##### Expected Response JSON

    null

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_recovery_request", "params":["steemit"], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_replies_by_last_update

Returns a list of replies by last update. `start_parent_author:string`, `start_permlink:string`, `limit:int` up to 100

##### Query Parameters JSON

    ["", "", 1]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_replies_by_last_update", "params":["steemit","firstpost",1], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_required_signatures

This API will take a partially signed transaction and a set of public keys that the owner has the ability to sign for and return the minimal subset of public keys that should add signatures to the transaction. Parameters: `trx:object`; `available_keys:[string]`

##### Query Parameters JSON

    [
      {
        "ref_block_num": 0,
        "ref_block_prefix": 0,
        "expiration": "1970-01-01T00:00:00",
        "operations": [],
        "extensions": [],
        "signatures": []
      },
      []
    ]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_required_signatures", "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["pow",{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"sbd_interest_rate":1000}}]],"extensions":[],"signatures":[]},[]], "id":1}' https://api.steemit.com

- Since: HF17
- Working on mainnet
- Working on testnet

#### condenser_api.get_reward_fund

Returns information about the current reward funds.

##### Query Parameters JSON

    ["post"]

##### Expected Response JSON

    {
      "id": 0,
      "name": "",
      "reward_balance": "0.000 STEEM",
      "recent_claims": "0",
      "last_update": "1970-01-01T00:00:00",
      "content_constant": "0",
      "percent_curation_rewards": 0,
      "percent_content_rewards": 0,
      "author_reward_curve": "quadratic",
      "curation_reward_curve": "34723648"
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_reward_fund", "params":["post"], "id":1}' https://api.steemit.com

- Since: HF14
- Working on mainnet
- Working on testnet

#### condenser_api.get_savings_withdraw_from

Returns savings withdraw from an account. Parameters: `account:string`

`account` (string) |
--- | ---
`"steemit"` | Queries the savings withdraw for account named “steemit”.

##### Query Parameters JSON

    [""]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_savings_withdraw_from", "params":["steemit"], "id":1}' https://api.steemit.com

- Since: HF14
- Working on mainnet
- Working on testnet

#### condenser_api.get_savings_withdraw_to

Returns the savings withdraw to an account. Parameters: `account:string`

`account` (string) |
--- | ---
`"steemit"` | Queries the savings withdraw for account named “steemit”.

##### Query Parameters JSON

    [""]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_savings_withdraw_to", "params":["steemit"], "id":1}' https://api.steemit.com

- Deprecated
- Working on mainnet
- Working on testnet

#### condenser_api.get_state

Returns the state of a path. Deprecated. Parameters: `path:string`

##### Query Parameters JSON

    [""]

##### Expected Response JSON

    {
      "current_route": "",
      "props": {
        "head_block_number": 0,
        "head_block_id": "0000000000000000000000000000000000000000",
        "time": "1970-01-01T00:00:00",
        "current_witness": "",
        "total_pow": "18446744073709551615",
        "num_pow_witnesses": 0,
        "virtual_supply": "0.000 STEEM",
        "current_supply": "0.000 STEEM",
        "confidential_supply": "0.000 STEEM",
        "current_sbd_supply": "0.000 STEEM",
        "confidential_sbd_supply": "0.000 STEEM",
        "total_vesting_fund_steem": "0.000 STEEM",
        "total_vesting_shares": "0.000 STEEM",
        "total_reward_fund_steem": "0.000 STEEM",
        "total_reward_shares2": "0",
        "pending_rewarded_vesting_shares": "0.000 STEEM",
        "pending_rewarded_vesting_steem": "0.000 STEEM",
        "sbd_interest_rate": 0,
        "sbd_print_rate": 10000,
        "maximum_block_size": 0,
        "current_aslot": 0,
        "recent_slots_filled": "0",
        "participation_count": 0,
        "last_irreversible_block_num": 0,
        "vote_power_reserve_rate": 40,
        "average_block_size": 0,
        "current_reserve_ratio": 1,
        "max_virtual_bandwidth": "0"
      },
      "tag_idx": {"trending": []},
      "tags": {},
      "content": {},
      "accounts": {},
      "witnesses": {},
      "discussion_idx": {},
      "witness_schedule": {
        "id": 0,
        "current_virtual_time": "0",
        "next_shuffle_block_num": 1,
        "current_shuffled_witnesses": [],
        "num_scheduled_witnesses": 1,
        "top19_weight": 1,
        "timeshare_weight": 5,
        "miner_weight": 1,
        "witness_pay_normalization_factor": 25,
        "median_props": {
          "account_creation_fee": "0.000 STEEM",
          "maximum_block_size": 131072,
          "sbd_interest_rate": 1000
        },
        "majority_version": "0.0.0",
        "max_voted_witnesses": 19,
        "max_miner_witnesses": 1,
        "max_runner_witnesses": 1,
        "hardfork_required_witnesses": 17
      },
      "feed_price": {"base": "0.000 STEEM", "quote": "0.000 STEEM"},
      "error": ""
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_state", "params":["/@steemit"], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_tags_used_by_author

Returns a list of tags used by an author. Parameters: `author:string`

`account` (string) |
--- | ---
`"steemit"` | Queries the tags used by the account named “steemit”.

##### Query Parameters JSON

    [""]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_tags_used_by_author", "params":["steemit"], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_ticker

Returns the market ticker for the internal SBD:STEEM market.

##### Query Parameters JSON

    []

##### Expected Response JSON

    {
      "latest": "0.00000000000000000",
      "lowest_ask": "0.00000000000000000",
      "highest_bid": "0.00000000000000000",
      "percent_change": "0.00000000000000000",
      "steem_volume": "0.000 STEEM",
      "sbd_volume": "0.000 STEEM"
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_ticker", "params":[], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_trade_history

Returns the trade history for the internal SBD:STEEM market. Parameters: `start:timestamp`; `end:timestamp`; `limit:int` up to 1000

`start` (timestamp) | `end` (timestamp) | `limit` (int) |
--- | --- | --- | ---
`"2018-01-01T00:00:00"` | `"2018-01-02T00:00:00"` | 10 | Queries up to 10 trades between January 1st, 2018 and January 2nd, 2018.

##### Query Parameters JSON

    [
      "1970-01-01T00:00:00",
      "1970-01-01T00:00:00",
      1000
    ]

##### Expected Response JSON

    [
      {
        "date": "1970-01-01T00:00:00",
        "current_pays": "0.000 SBD",
        "open_pays": "0.000 STEEM"
      }
    ]

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_trade_history", "params":["2018-01-01T00:00:00","2018-01-02T00:00:00",10], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_transaction

Returns the details of a transaction based on a transaction id. Parameters: `trx_id:string`

`trx_id` (string) |
--- | ---
`"6fde0190a97835ea6d9e651293e90c89911f933c"` | Queries for this exact transaction id.

##### Query Parameters JSON

    [""]

##### Expected Response JSON

    {
      "ref_block_num": 0,
      "ref_block_prefix": 0,
      "expiration": "1970-01-01T00:00:00",
      "operations": [],
      "extensions": [],
      "signatures": [],
      "transaction_id": "0000000000000000000000000000000000000000",
      "block_num": 0,
      "transaction_num": 0
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_transaction", "params":["6fde0190a97835ea6d9e651293e90c89911f933c"], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_transaction_hex

Returns a hexdump of the serialized binary form of a transaction.

##### Query Parameters JSON

    [
      {
        "ref_block_num": 0,
        "ref_block_prefix": 0,
        "expiration": "1970-01-01T00:00:00",
        "operations": [],
        "extensions": [],
        "signatures": []
      }
    ]

##### Expected Response JSON

    ""

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_transaction_hex", "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["pow",{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"sbd_interest_rate":1000}}]],"extensions":[],"signatures":[]}], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_trending_tags

Returns the list of trending tags. Parameter: `start_tag:string`; `limit:int` up to 100

`tag` (string) | `limit` (int) |
--- | --- | ---
`null` | 100 | Queries the top 100 trending tags.
`"steem"` | 10 | Queries the tags after “steem”, up to 10 tags.

##### Query Parameters JSON

    ["", 1]

##### Expected Response JSON

    [
      {
        "name": "",
        "total_payouts": "0.000 SBD",
        "net_votes": 0,
        "top_posts": 0,
        "comments": 0,
        "trending": ""
      }
    ]

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_trending_tags", "params":[null,100], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_trending_tags", "params":["steem",10], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_version

Returns the versions of blockchain, steem, and FC.

##### Query Parameters JSON

    []

##### Expected Response JSON

    {
      "blockchain_version": "",
      "steem_revision": "",
      "fc_revision": ""
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_version", "params":[], "id":1}' https://api.steemit.com

- Since: HF17
- Working on mainnet
- Working on testnet

#### condenser_api.get_vesting_delegations

Returns the vesting delegations by an account. Parameters: `delegator_account:string`; `start_account:string`; `limit:int` up to 1000

`delegator_account` (string) | `start_account` (string) | `limit` (int) |
--- | --- | --- | ---
`"steemit"` | `null` | `10` | Queries up to 10 vesting delegations by “steemit”.

##### Query Parameters JSON

    ["", "", 1]

##### Expected Response JSON

    [
      {
        "id": 0,
        "delegator": "",
        "delegatee": "",
        "vesting_shares": "0.000000 VESTS",
        "min_delegation_time": "1970-01-01T00:00:00"
      }
    ]

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_vesting_delegations", "params":["steemit",null,10], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_volume

Returns the market volume for the past 24 hours.

##### Query Parameters JSON

    []

##### Expected Response JSON

    {
      "steem_volume": "0.000 STEEM",
      "sbd_volume": "0.000 STEEM"
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_volume", "params":[], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_withdraw_routes

Returns the withdraw routes for an account. Parameters: `account:string`; `type:string`

`account` (string) | `type` (string) |
--- | --- | ---
`"steemit"` | `"outgoing"` | Queries outgoing withdraw routes by “steemit”.
`"steemit"` | `"incoming"` | Queries incoming withdraw routes by “steemit”.
`"steemit"` | `"all"` | Queries all withdraw routes by “steemit”.

##### Query Parameters JSON

    ["", ""]

##### Expected Response JSON

    [
      {
        "id": 0,
        "from_account": "",
        "to_account": "",
        "percent": 0,
        "auto_vest": false
      }
    ]

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_withdraw_routes", "params":["steemit","outgoing"], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_withdraw_routes", "params":["steemit","incoming"], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_withdraw_routes", "params":["steemit","all"], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_witness_by_account

Returns the witness of an account. Parameters: `account:string`

`account` (string) |
--- | ---
`"steemit"` | Queries witness account of “steemit” (of `null` if none exists).

##### Query Parameters JSON

    [""]

##### Expected Response JSON

    {
      "id": 0,
      "owner": "",
      "created": "1970-01-01T00:00:00",
      "url": "",
      "votes": "0",
      "virtual_last_update": "0",
      "virtual_position": "0",
      "virtual_scheduled_time": "0",
      "total_missed": 0,
      "last_aslot": 0,
      "last_confirmed_block_num": 0,
      "pow_worker": 0,
      "signing_key": "",
      "props": {
        "account_creation_fee": "0.000 STEEM",
        "maximum_block_size": 65536,
        "sbd_interest_rate": 0
      },
      "sbd_exchange_rate": {"base": "0.000 SBD", "quote": "0.000 STEEM"},
      "last_sbd_exchange_update": "1970-01-01T00:00:00",
      "last_work": "",
      "running_version": "",
      "hardfork_version_vote": "",
      "hardfork_time_vote": "1970-01-01T00:00:00"
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_witness_by_account", "params":["steemit"], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_witness_count

##### Query Parameters JSON

    []

##### Expected Response JSON

    0

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_witness_count", "params":[], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_witness_schedule

Returns the current witness schedule.

##### Query Parameters JSON

    []

##### Expected Response JSON

    {
      "id": 0,
      "current_virtual_time": "0",
      "next_shuffle_block_num": 1,
      "current_shuffled_witnesses": [],
      "num_scheduled_witnesses": 1,
      "top19_weight": 1,
      "timeshare_weight": 5,
      "miner_weight": 1,
      "witness_pay_normalization_factor": 25,
      "median_props": {
        "account_creation_fee": "0.000 STEEM",
        "maximum_block_size": 131072,
        "sbd_interest_rate": 1000
      },
      "majority_version": "0.0.0",
      "max_voted_witnesses": 19,
      "max_miner_witnesses": 1,
      "max_runner_witnesses": 1,
      "hardfork_required_witnesses": 17
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_witness_schedule", "params":[], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_witnesses

Returns current witnesses.

##### Query Parameters JSON

    [[0]]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_witnesses", "params":[[28]], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_witnesses_by_vote

Returns current witnesses by vote. Parameters: `start_name:string`; `limit:int` up to 1000

`account` (string) | `limit` (int) |
--- | --- | ---
`null` | `21` | Queries top 21 witness votes.
`"a"` | `1` | Queries top 10 witness votes starting with “a”.

##### Query Parameters JSON

    ["", 1000]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_witnesses_by_vote", "params":[null, 21], "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_witnesses_by_vote", "params":["a", 1], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.lookup_account_names

Looks up account names. `accounts:[string]`

##### Query Parameters JSON

    [["steemit"]]

##### Expected Response JSON

    [
      {
        "id": 28,
        "name": "steemit",
        "owner": {
          "weight_threshold": 1,
          "account_auths": [],
          "key_auths": [
            [
              "STM5tfrdPG1Ycjwa9FuBUueDFFyygndBLXdVEEs2c9eRKScnFk6vM",
              1
            ],
            [
              "STM71f6yWztimJuREVyyMXNqAVbx1FzPVW6LLXNoQ35dHwKuszmHX",
              1
            ],
            [
              "STM7U3ymhUTuKME72dpdpQkdQvh722gTLjKBKtmKQPPWgtkr418Nf",
              1
            ]
          ]
        },
        "active": {
          "weight_threshold": 1,
          "account_auths": [],
          "key_auths": [
            [
              "STM5832HKCJzs6K3rRCsZ1PidTKgjF38ZJb718Y3pCW92HEMsCGPf",
              1
            ],
            [
              "STM7Q2rLBqzPzFeteQZewv9Lu3NLE69fZoLeL6YK59t7UmssCBNTU",
              1
            ]
          ]
        },
        "posting": {
          "weight_threshold": 1,
          "account_auths": [],
          "key_auths": [
            [
              "STM5jZtLoV8YbxCxr4imnbWn61zMB24wwonpnVhfXRmv7j6fk3dTH",
              1
            ],
            [
              "STM7xVFaqi8RxhWKZwuLA2bKrAiQmhnrbgvw4e2ChAsKYQbPjqUq2",
              1
            ],
            [
              "STM83dmDkQcZU9X8MWcxsTztSyutE6udrb55PvYgu7RLzStaoAt67",
              1
            ]
          ]
        },
        "memo_key": "STM5jZtLoV8YbxCxr4imnbWn61zMB24wwonpnVhfXRmv7j6fk3dTH",
        "json_metadata": "",
        "proxy": "",
        "last_owner_update": "2017-03-16T21:17:51",
        "last_account_update": "2017-03-16T23:10:36",
        "created": "2016-03-24T17:00:21",
        "mined": true,
        "recovery_account": "steem",
        "last_account_recovery": "1970-01-01T00:00:00",
        "reset_account": "null",
        "comment_count": 0,
        "lifetime_vote_count": 0,
        "post_count": 1,
        "can_vote": true,
        "voting_power": 9950,
        "last_vote_time": "2016-12-04T23:10:57",
        "balance": "0.006 STEEM",
        "savings_balance": "11006644.632 STEEM",
        "sbd_balance": "8581.890 SBD",
        "sbd_seconds": "18846158467785",
        "sbd_seconds_last_update": "2018-04-10T04:08:36",
        "sbd_last_interest_payment": "2018-03-15T17:58:24",
        "savings_sbd_balance": "0.000 SBD",
        "savings_sbd_seconds": "0",
        "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
        "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
        "savings_withdraw_requests": 0,
        "reward_sbd_balance": "0.000 SBD",
        "reward_steem_balance": "0.000 STEEM",
        "reward_vesting_balance": "0.000000 VESTS",
        "reward_vesting_steem": "0.000 STEEM",
        "vesting_shares": "90039851836.689703 VESTS",
        "delegated_vesting_shares": "0.000000 VESTS",
        "received_vesting_shares": "0.000000 VESTS",
        "vesting_withdraw_rate": "0.000000 VESTS",
        "next_vesting_withdrawal": "1969-12-31T23:59:59",
        "withdrawn": 0,
        "to_withdraw": 0,
        "withdraw_routes": 0,
        "curation_rewards": 0,
        "posting_rewards": 3548,
        "proxied_vsf_votes": ["28583799126", 0, 0, 0],
        "witnesses_voted_for": 0,
        "last_post": "2016-03-30T18:30:18",
        "last_root_post": "2016-03-30T18:30:18"
      }
    ]

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.lookup_account_names", "params":[["steemit"]], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.lookup_accounts

Looks up accounts starting with name. Parameters`lower_bound_name:string`; `limit:int` up to 1000

`lower_bound_name` (string) | `limit` (int) |
--- | --- | ---
`"a"` | 10 | Queries up to 10 accounts that start with “a”.

##### Query Parameters JSON

    ["", 1]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.lookup_accounts", "params":["a",10], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.lookup_witness_accounts

Looks up witness accounts starting with name. Parameters: `lower_bound_name:string`; `limit:int` up to 1000

`lower_bound_name` (string) | `limit` (int) |
--- | --- | ---
`"a"` | 10 | Queries up to 10 witnesses that start with “a”.

##### Query Parameters JSON

    ["", 1]

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.lookup_witness_accounts", "params":["a",10], "id":1}' https://api.steemit.com

- Disabled
- Working on mainnet
- Working on testnet

#### condenser_api.verify_account_authority

Not Implemented

##### Query Parameters JSON

    ["", [""]]

##### Expected Response JSON

    false

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.verify_account_authority", "params":["steemit",["STM7Q2rLBqzPzFeteQZewv9Lu3NLE69fZoLeL6YK59t7UmssCBNTU"]], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.verify_authority

Returns true if the transaction has all of the required signatures.

##### Query Parameters JSON

    [
      {
        "ref_block_num": 0,
        "ref_block_prefix": 0,
        "expiration": "1970-01-01T00:00:00",
        "operations": [],
        "extensions": [],
        "signatures": []
      }
    ]

##### Expected Response JSON

    false

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.verify_authority", "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["pow",{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"sbd_interest_rate":1000}}]],"extensions":[],"signatures":[]}], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### condenser_api.get_account_references

##### Query Parameters JSON

    []

##### Expected Response JSON

    []

### Broadcast Ops Comment

This is a brief overview of the parameters allowed and values passed by the ‘comment’ operation in the broadcast API

Additional info for API definitions is available on the dev portal

Purpose:

A broadcast operation on Steem is a way of expressing intention on the blockchain. It is used to transmit signed transactions to the Steem network.

There are various broadcast types, in this instance we are focusing specifically on the `comment` operation. Each of the broadcast operations have parameters that are passed with the specific method in order to affect the required change to the blockchain. In other words, the `broadcast.comment` operation creates a comment or a post (post are also defined as comments) on the Steem blockchain.

Rules:

- The “title” must not be longer than 256 bytes
- The “title” must be UTF-8
- The “body” must be larger than 0 bytes
- The “body” much also be UTF-8

Parameters:

- parent_author - the author that comment is being submitted to, when posting a new blog this is an empty string
- parent_permlink - specific post that comment is being submitted to, when posting a new blog this is an empty string
- author - author of the post/comment being submitted (account name)
- permlink - unique string identifier for the post, linked to the author of the post
- title - human readable title of the post being submitted, this is often blank when commenting
- body - body of the post/comment being submitted, or diff-match-patch when updating
- json_metadata - JSON object string

Additional Parameter Definitions:

- permlink: Two authors may have the same permlink as it’s unique to the author only. For example, there could be two authors, alice and bob, and both could have a permlink of `firstpost`
- json_metadata: There is no blockchain enforced validation on json_metadata, but the community has adopted a particular structure.
- It should contain a JSON object with the following keys:
  - tags - An array of up to 5 strings. Although the blockchain will accept more than 5, the tags plugin only looks at the first five
  - app - A user agent style application identifier. Typically app_name.version, e.g. steemit/0.1
  - format - The format of the body, e.g. markdown
  - In addition to the above keys, application developers are free to add any other keys they want to help manage the content they broadcast.

A typical `comment` operation would look similar to the below:

      const post = {
        author :"Joe",
        title :"A post by Joe",
        body :"Look at my awesome post",
        parent_author :'',
        parent_permlink :"steem",
        permlink :"a-post-by-joe",
        json_metadata :"{\"tags\":[\"steemit\",\"example\",\"tags\"]}",
      };

In which case the complete `broadcast` operation would look like this:

      broadcast.comment(post, privatePostingKey)

With privatePostingKey being the private posting key of the author broadcasting the comment or post

Create_vs_Update:

When a comment is first broadcast, the permlink must be unique for the author. Otherwise, it is interpreted as an update operation. Updating will either replace the entire body with the latest operation or patch the body if using diff-match-patch.

For example, if we have a paragraph that has already been broadcast:

“It’s been quite a lot of fun working with these wonderful folk at Steemit, Inc”

And we want to change it to:

“It’s been quite a lot of fun working with these wonderful people at Steemit, Inc”

We can broadcast the comment operation with the following body:

- ”@@ -406,12 +406,14 @@”
- ful
- -folk
- +people
- at

The blockchain will know that this means we have changed the word ‘folk’ to ‘people’ within that paragraph so when fetching this content, this diff will be applied.

In addition to body, the title and json_metadata fields will also be replaced by the latest operation.

Comment_Options: LINK

Updating_Archived_Content:

Content that is older than 7 days is considered “archived” and cannot be edited unless the author indicates otherwise by broadcasting a custom_json to the witness plugin using their active authority.

As of HF18, the witness plugin has a custom operation called enable_content_editing that allows a user to signal they want to edit their content. By consensus, content is editable indefinitely, but is soft forked to be frozen after payout. This operation requires an active key and is designed to prevent vandalism if a posting key is compromised.

For ‘custom_json’: LINK

Vote: LINK

It should also be noted that a `vote` operation can accompany a `comment` in the same transaction when the author `self_upvotes`

### Account By Key Api

Used to lookup account information based on a key. These AppBase API methods are still under development and subject to change.

- Since: HF16
- Working on mainnet
- Working on testnet

#### account_by_key_api.get_key_references

Returns all accounts that have the key associated with their owner or active authorities.

##### Query Parameters JSON

    {"keys": []}

##### Expected Response JSON

    {"accounts": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"account_by_key_api.get_key_references", "params":{"keys":["STM5jZtLoV8YbxCxr4imnbWn61zMB24wwonpnVhfXRmv7j6fk3dTH"]}, "id":1}' https://api.steemit.com

### Account History Api

Used to lookup account history information. These AppBase API methods are still under development and subject to change.

- Working on mainnet
- Working on testnet

#### account_history_api.get_account_history

Returns a history of all operations for a given account.

##### Query Parameters JSON

    {
      "account": "",
      "start": "18446744073709551615",
      "limit": 1000
    }

##### Expected Response JSON

    {"history": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"account_history_api.get_account_history", "params":{"account":"steemit", "start":1000, "limit":1000}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"account_history_api.get_account_history", "params":{"account":"steemit", "start":-1, "limit":10000}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### account_history_api.get_ops_in_block

Returns all operations contained in a block.

##### Query Parameters JSON

    {"block_num": 0, "only_virtual": false}

##### Expected Response JSON

    {"ops": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"account_history_api.get_ops_in_block", "params":{"block_num":1,"only_virtual":false}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"account_history_api.get_ops_in_block", "params":{"block_num":5443322,"only_virtual":true}, "id":1}' https://api.steemit.com

- Deprecated
- Working on mainnet
- Working on testnet

#### account_history_api.get_transaction

Returns the details of a transaction based on a transaction id.

##### Query Parameters JSON

    {"id": "0000000000000000000000000000000000000000"}

##### Expected Response JSON

    {
      "ref_block_num": 0,
      "ref_block_prefix": 0,
      "expiration": "1970-01-01T00:00:00",
      "operations": [],
      "extensions": [],
      "signatures": [],
      "transaction_id": "0000000000000000000000000000000000000000",
      "block_num": 0,
      "transaction_num": 0
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"account_history_api.get_transaction", "params":{"id":"6fde0190a97835ea6d9e651293e90c89911f933c"}, "id":1}' https://api.steemit.com

### Database Api

Used to query information about accounts, transactions, and blockchain data. These AppBase API methods are still under development and subject to change.

- Since: HF11
- Working on mainnet
- Working on testnet

#### database_api.find_account_recovery_requests

Returns a list of account recovery requests.

##### Query Parameters JSON

    {"accounts": []}

##### Expected Response JSON

    {"requests": []}

- Working on mainnet
- Working on testnet

#### database_api.find_accounts

Search for accounts.

##### Query Parameters JSON

    {"accounts": []}

##### Expected Response JSON

    {"accounts": []}

- Since: HF11
- Working on mainnet
- Working on testnet

#### database_api.find_change_recovery_account_requests

Returns a list of requests to change the recovery account.

##### Query Parameters JSON

    {"accounts": []}

##### Expected Response JSON

    {"requests": []}

- Working on mainnet
- Working on testnet

#### database_api.find_comments

Search for comments.

##### Query Parameters JSON

    {"comments": []}

##### Expected Response JSON

    {"comments": []}

- Since: HF14
- Working on mainnet
- Working on testnet

#### database_api.find_decline_voting_rights_requests

Returns a list of requests to decline voting rights.

##### Query Parameters JSON

    {"accounts": []}

##### Expected Response JSON

    {"requests": []}

- Since: HF14
- Working on mainnet
- Working on testnet

#### database_api.find_escrows

Returns a list of escrows.

##### Query Parameters JSON

    {"from": ""}

##### Expected Response JSON

    {"escrows": []}

- Working on mainnet
- Working on testnet

#### database_api.find_limit_orders

Returns a list of limit orders.

##### Query Parameters JSON

    {"account": ""}

##### Expected Response JSON

    {"orders": []}

- Working on mainnet
- Working on testnet

#### database_api.find_owner_histories

Returns owner authority history.

##### Query Parameters JSON

    {"owner": ""}

##### Expected Response JSON

    {"owner_auths": []}

- Since: HF14
- Working on mainnet
- Working on testnet

#### database_api.find_savings_withdrawals

Returns the list of savings withdrawls for an account.

##### Query Parameters JSON

    {"account": ""}

##### Expected Response JSON

    {"withdrawals": []}

- Working on mainnet
- Working on testnet

#### database_api.find_sbd_conversion_requests

Returns the list of SBD conversion requests for an account.

##### Query Parameters JSON

    {"account": ""}

##### Expected Response JSON

    {"requests": []}

- Since: HF17
- Working on mainnet
- Working on testnet

#### database_api.find_vesting_delegation_expirations

Returns the expirations for vesting delegations.

##### Query Parameters JSON

    {"account": ""}

##### Expected Response JSON

    {"delegations": []}

- Since: HF17
- Working on mainnet
- Working on testnet

#### database_api.find_vesting_delegations

Returns the list of vesting delegations for an account.

##### Query Parameters JSON

    {"account": ""}

##### Expected Response JSON

    {"delegations": []}

- Working on mainnet
- Working on testnet

#### database_api.find_votes

Returns the votes for an author and permlink.

##### Query Parameters JSON

    {"author": "", "permlink": ""}

##### Expected Response JSON

    {"votes": []}

- Working on mainnet
- Working on testnet

#### database_api.find_withdraw_vesting_routes

Returns the list of vesting withdraw routes for an account.

##### Query Parameters JSON

    {"account": "", "order": "by_name"}

##### Expected Response JSON

    {"routes": []}

- Working on mainnet
- Working on testnet

#### database_api.find_witnesses

Search for witnesses.

##### Query Parameters JSON

    {"owners": []}

##### Expected Response JSON

    {"witnesses": []}

- Working on mainnet
- Working on testnet

#### database_api.get_active_witnesses

Returns the list of active witnesses.

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {"witnesses": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"database_api.get_active_witnesses", "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### database_api.get_config

Returns information about compile-time constants. Some properties may not be present. See: Understanding Configuration Values

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"database_api.get_config", "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### database_api.get_current_price_feed

Returns the current price feed.

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {
      "base": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000021"
      },
      "quote": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000021"
      }
    }

- Working on mainnet
- Working on testnet

#### database_api.get_dynamic_global_properties

Returns the current dynamic global properties. See: Understanding Dynamic Global Properties

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {
      "id": 0,
      "head_block_number": 0,
      "head_block_id": "0000000000000000000000000000000000000000",
      "time": "1970-01-01T00:00:00",
      "current_witness": "",
      "total_pow": "18446744073709551615",
      "num_pow_witnesses": 0,
      "virtual_supply": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000021"
      },
      "current_supply": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000021"
      },
      "confidential_supply": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000021"
      },
      "current_sbd_supply": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000013"
      },
      "confidential_sbd_supply": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000013"
      },
      "total_vesting_fund_steem": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000021"
      },
      "total_vesting_shares": {
        "amount": "0",
        "precision": 6,
        "nai": "@@000000037"
      },
      "total_reward_fund_steem": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000021"
      },
      "total_reward_shares2": "0",
      "pending_rewarded_vesting_shares": {
        "amount": "0",
        "precision": 6,
        "nai": "@@000000037"
      },
      "pending_rewarded_vesting_steem": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000021"
      },
      "sbd_interest_rate": 0,
      "sbd_print_rate": 10000,
      "maximum_block_size": 0,
      "current_aslot": 0,
      "recent_slots_filled": "0",
      "participation_count": 0,
      "last_irreversible_block_num": 0,
      "vote_power_reserve_rate": 40,
      "delegation_return_period": 604800,
      "reverse_auction_seconds": 0,
      "available_account_subsidies": 0,
      "sbd_stop_percent": 0,
      "sbd_start_percent": 0
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"database_api.get_dynamic_global_properties", "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### database_api.get_feed_history

Returns the history of price feed values.

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {
      "id": 0,
      "current_median_history": {
        "base": {
          "amount": "0",
          "precision": 3,
          "nai": "@@000000021"
        },
        "quote": {
          "amount": "0",
          "precision": 3,
          "nai": "@@000000021"
        }
      },
      "price_history": []
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"database_api.get_feed_history", "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### database_api.get_hardfork_properties

Returns the current properties about the blockchain’s hardforks.

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {
      "id": 0,
      "processed_hardforks": [],
      "last_hardfork": 0,
      "current_hardfork_version": "0.0.0",
      "next_hardfork": "0.0.0",
      "next_hardfork_time": "1970-01-01T00:00:00"
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"database_api.get_hardfork_properties", "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### database_api.get_order_book

Returns the order book.

##### Query Parameters JSON

    {"limit": 0}

##### Expected Response JSON

    {"asks": [], "bids": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"database_api.get_order_book", "params":{"limit":10}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"database_api.get_order_book", "params":{"limit":50}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### database_api.get_potential_signatures

This method will return the set of all public keys that could possibly sign for a given transaction.

##### Query Parameters JSON

    {
      "trx": {
        "ref_block_num": 0,
        "ref_block_prefix": 0,
        "expiration": "1970-01-01T00:00:00",
        "operations": [],
        "extensions": [],
        "signatures": []
      }
    }

##### Expected Response JSON

    {"keys": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"database_api.get_potential_signatures", "params":{"trx":{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[{"type":"pow_operation","value":{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"sbd_interest_rate":1000}}}],"extensions":[],"signatures":[]}}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### database_api.get_required_signatures

This API will take a partially signed transaction and a set of public keys that the owner has the ability to sign for and return the minimal subset of public keys that should add signatures to the transaction.

##### Query Parameters JSON

    {
      "trx": {
        "ref_block_num": 0,
        "ref_block_prefix": 0,
        "expiration": "1970-01-01T00:00:00",
        "operations": [],
        "extensions": [],
        "signatures": []
      },
      "available_keys": []
    }

##### Expected Response JSON

    {"keys": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"database_api.get_required_signatures", "params":{"trx":{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[{"type":"pow_operation","value":{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"sbd_interest_rate":1000}}}],"extensions":[],"signatures":[]},"available_keys":[]}, "id":1}' https://api.steemit.com

- Since: HF17
- Working on mainnet
- Working on testnet

#### database_api.get_reward_funds

Returns information about the current reward funds.

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {"funds": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"database_api.get_reward_funds", "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### database_api.get_transaction_hex

Returns a hexdump of the serialized binary form of a transaction.

##### Query Parameters JSON

    {
      "trx": {
        "ref_block_num": 0,
        "ref_block_prefix": 0,
        "expiration": "1970-01-01T00:00:00",
        "operations": [],
        "extensions": [],
        "signatures": []
      }
    }

##### Expected Response JSON

    {"hex": ""}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"database_api.get_transaction_hex", "params":{"trx":{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[{"type":"pow_operation","value":{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"sbd_interest_rate":1000}}}],"extensions":[],"signatures":[]}}, "id":1}' https://api.steemit.com

- Since: HF20
- Working on mainnet
- Working on testnet

#### database_api.get_version

Returns the compile time versions of blockchain, steem, FC. Also returns the boot time version of the chain id (may be different from compile time value only when looking at a testnet)

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {
      "blockchain_version": "",
      "steem_revision": "",
      "fc_revision": "",
      "chain_id": "0000000000000000000000000000000000000000000000000000000000000000"
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"database_api.get_version", "params":[], "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### database_api.get_witness_schedule

Returns the current witness schedule.

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {
      "id": 0,
      "current_virtual_time": "0",
      "next_shuffle_block_num": 76479392,
      "current_shuffled_witnesses": [],
      "num_scheduled_witnesses": 0,
      "elected_weight": 132,
      "timeshare_weight": 86,
      "miner_weight": 125,
      "witness_pay_normalization_factor": 32767,
      "median_props": {
        "account_creation_fee": {
          "amount": "1",
          "precision": 3,
          "nai": "@@000000021"
        },
        "maximum_block_size": 131072,
        "sbd_interest_rate": 1000,
        "account_subsidy_budget": 797,
        "account_subsidy_decay": 347321
      },
      "majority_version": "0.0.0",
      "max_voted_witnesses": 0,
      "max_miner_witnesses": 0,
      "max_runner_witnesses": 0,
      "hardfork_required_witnesses": 0,
      "account_subsidy_rd": {
        "resource_unit": 0,
        "budget_per_time_unit": 0,
        "pool_eq": 0,
        "max_pool_size": 0,
        "decay_params": {
          "decay_per_time_unit": 0,
          "decay_per_time_unit_denom_shift": 0
        },
        "min_decay": 0
      },
      "account_subsidy_witness_rd": {
        "resource_unit": 0,
        "budget_per_time_unit": 0,
        "pool_eq": 0,
        "max_pool_size": 0,
        "decay_params": {
          "decay_per_time_unit": 0,
          "decay_per_time_unit_denom_shift": 0
        },
        "min_decay": 0
      },
      "min_witness_account_subsidy_decay": 0
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"database_api.get_witness_schedule", "id":1}' https://api.steemit.com

- Since: HF11
- Working on mainnet
- Working on testnet

#### database_api.list_account_recovery_requests

Returns a list of account recovery requests.

##### Query Parameters JSON

    {"start": null, "limit": 0, "order": "by_name"}

##### Expected Response JSON

    {"requests": []}

- Working on mainnet
- Working on testnet

#### database_api.list_accounts

Returns a list of accounts.

##### Query Parameters JSON

    {"start": null, "limit": 0, "order": "by_name"}

##### Expected Response JSON

    {"accounts": []}

- Since: HF11
- Working on mainnet
- Working on testnet

#### database_api.list_change_recovery_account_requests

Returns a list of recovery account change requests.

##### Query Parameters JSON

    {"start": null, "limit": 0, "order": "by_name"}

##### Expected Response JSON

    {"requests": []}

- Working on mainnet
- Working on testnet

#### database_api.list_comments

Returns a list of comments.

##### Query Parameters JSON

    {"start": null, "limit": 0, "order": "by_name"}

##### Expected Response JSON

    {"comments": []}

- Since: HF14
- Working on mainnet
- Working on testnet

#### database_api.list_decline_voting_rights_requests

Returns a list of decline voting rights requests.

##### Query Parameters JSON

    {"start": null, "limit": 0, "order": "by_name"}

##### Expected Response JSON

    {"requests": []}

- Since: HF14
- Working on mainnet
- Working on testnet

#### database_api.list_escrows

Returns a list of escrows.

##### Query Parameters JSON

    {"start": null, "limit": 0, "order": "by_name"}

##### Expected Response JSON

    {"escrows": []}

- Working on mainnet
- Working on testnet

#### database_api.list_limit_orders

Returns a list of limit orders.

##### Query Parameters JSON

    {"start": null, "limit": 0, "order": "by_name"}

##### Expected Response JSON

    {"orders": []}

- Working on mainnet
- Working on testnet

#### database_api.list_owner_histories

Returns a list of owner authority histories.

##### Query Parameters JSON

    {"start": null, "limit": 0}

##### Expected Response JSON

    {"owner_auths": []}

- Since: HF14
- Working on mainnet
- Working on testnet

#### database_api.list_savings_withdrawals

Returns a list of savings withdrawls.

##### Query Parameters JSON

    {"start": null, "limit": 0, "order": "by_name"}

##### Expected Response JSON

    {"withdrawals": []}

- Working on mainnet
- Working on testnet

#### database_api.list_sbd_conversion_requests

Returns a list of SBD conversion requests.

##### Query Parameters JSON

    {"start": null, "limit": 0, "order": "by_name"}

##### Expected Response JSON

    {"requests": []}

- Since: HF17
- Working on mainnet
- Working on testnet

#### database_api.list_vesting_delegation_expirations

Returns a list of vesting delegation expirations.

##### Query Parameters JSON

    {"start": null, "limit": 0, "order": "by_name"}

##### Expected Response JSON

    {"delegations": []}

- Since: HF17
- Working on mainnet
- Working on testnet

#### database_api.list_vesting_delegations

Returns a list of vesting delegations.

##### Query Parameters JSON

    {"start": null, "limit": 0, "order": "by_name"}

##### Expected Response JSON

    {"delegations": []}

- Working on mainnet
- Working on testnet

#### database_api.list_votes

Returns a list of votes.

##### Query Parameters JSON

    {"start": null, "limit": 0, "order": "by_name"}

##### Expected Response JSON

    {"votes": []}

- Working on mainnet
- Working on testnet

#### database_api.list_withdraw_vesting_routes

Returns a list of vesting withdraw routes.

##### Query Parameters JSON

    {"start": null, "limit": 0, "order": "by_name"}

##### Expected Response JSON

    {"routes": []}

- Working on mainnet
- Working on testnet

#### database_api.list_witness_votes

Returns a list of witness votes.

##### Query Parameters JSON

    {"start": null, "limit": 0, "order": "by_name"}

##### Expected Response JSON

    {"votes": []}

- Working on mainnet
- Working on testnet

#### database_api.list_witnesses

Returns the list of witnesses.

##### Query Parameters JSON

    {"start": null, "limit": 0, "order": "by_name"}

##### Expected Response JSON

    {"witnesses": []}

- Disabled
- Working on mainnet
- Working on testnet

#### database_api.verify_account_authority

Not Implemented

##### Query Parameters JSON

    {"account": "", "signers": []}

##### Expected Response JSON

    {"valid": false}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"database_api.verify_account_authority", "params":{"account":"steemit","signers":["STM7Q2rLBqzPzFeteQZewv9Lu3NLE69fZoLeL6YK59t7UmssCBNTU"]}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### database_api.verify_authority

Returns true if the transaction has all of the required signatures.

##### Query Parameters JSON

    {
      "trx": {
        "ref_block_num": 0,
        "ref_block_prefix": 0,
        "expiration": "1970-01-01T00:00:00",
        "operations": [],
        "extensions": [],
        "signatures": []
      }
    }

##### Expected Response JSON

    {"valid": false}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"database_api.verify_authority", "params":{"trx":{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[{"type":"pow_operation","value":{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"sbd_interest_rate":1000}}}],"extensions":[],"signatures":[]}}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### database_api.verify_signatures

This is a general purpose API that checks signatures against accounts for an arbitrary sha256 hash using the existing authority structures.

##### Query Parameters JSON

    {
      "hash": "0000000000000000000000000000000000000000000000000000000000000000",
      "signatures": [],
      "required_owner": [],
      "required_active": [],
      "required_posting": [],
      "required_other": []
    }

##### Expected Response JSON

    {"valid": false}

### Follow Api

Used to lookup information related to reputation and account follow operations. These AppBase API methods are still under development and subject to change.

- Since: HF13
- Working on mainnet
- Working on testnet

#### follow_api.get_account_reputations

Returns a list of account reputations.

##### Query Parameters JSON

    {"account_lower_bound": "", "limit": 1000}

##### Expected Response JSON

    {"reputations": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_account_reputations", "params":{"account_lower_bound":"steemit", "limit":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_account_reputations", "params":{"account_lower_bound":"a", "limit":10}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### follow_api.get_blog

Returns the list of blog entries for an account.

##### Query Parameters JSON

    {"account": "", "start_entry_id": 0, "limit": 500}

##### Expected Response JSON

    {"blog": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_blog", "params":{"account":"steemit","start_entry_id":0,"limit":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_blog", "params":{"account":"alice","start_entry_id":0,"limit":50}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### follow_api.get_blog_authors

Returns a list of authors that have had their content reblogged on a given blog account.

##### Query Parameters JSON

    {"blog_account": ""}

##### Expected Response JSON

    {"blog_authors": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_blog_authors", "params":{"blog_account":"steemit"}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_blog_authors", "params":{"blog_account":"alice"}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### follow_api.get_blog_entries

Returns a list of blog entries for an account.

##### Query Parameters JSON

    {"account": "", "start_entry_id": 0, "limit": 500}

##### Expected Response JSON

    {"blog": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_blog_entries", "params":{"account":"steemit","start_entry_id":0,"limit":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_blog_entries", "params":{"account":"alice","start_entry_id":0,"limit":50}, "id":1}' https://api.steemit.com

- Since: HF14
- Working on mainnet
- Working on testnet

#### follow_api.get_feed

Returns a list of items in an account’s feed.

##### Query Parameters JSON

    {"account": "", "start_entry_id": 0, "limit": 500}

##### Expected Response JSON

    {"feed": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_feed", "params":{"account":"steemit","start_entry_id":0,"limit":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_feed", "params":{"account":"alice","start_entry_id":1,"limit":10}, "id":1}' https://api.steemit.com

- Since: HF14
- Working on mainnet
- Working on testnet

#### follow_api.get_feed_entries

Returns a list of entries in an account’s feed.

##### Query Parameters JSON

    {"account": "", "start_entry_id": 0, "limit": 500}

##### Expected Response JSON

    {"feed": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_feed_entries", "params":{"account":"steemit","start_entry_id":0,"limit":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_feed_entries", "params":{"account":"alice","start_entry_id":1,"limit":10}, "id":1}' https://api.steemit.com

- Since: HF9
- Working on mainnet
- Working on testnet

#### follow_api.get_follow_count

Returns the count of followers for an account.

##### Query Parameters JSON

    {"account": ""}

##### Expected Response JSON

    {
      "account": "",
      "follower_count": 0,
      "following_count": 0
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_follow_count", "params":{"account":"steemit"}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_follow_count", "params":{"account":"alice"}, "id":1}' https://api.steemit.com

- Since: HF9
- Working on mainnet
- Working on testnet

#### follow_api.get_followers

Returns the list of followers for an account.

##### Query Parameters JSON

    {
      "account": "",
      "start": "",
      "type": "undefined",
      "limit": 1000
    }

##### Expected Response JSON

    {"followers": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_followers", "params":{"account":"steemit","start":null,"type":"blog","limit":10}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_followers", "params":{"account":"alice","start":null,"type":"ignore","limit":100}, "id":1}' https://api.steemit.com

- Since: HF9
- Working on mainnet
- Working on testnet

#### follow_api.get_following

Returns the list of accounts that are following an account.

##### Query Parameters JSON

    {
      "account": "",
      "start": "",
      "type": "undefined",
      "limit": 1000
    }

##### Expected Response JSON

    {"following": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_following", "params":{"account":"steemit","start":null,"type":"blog","limit":10}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_following", "params":{"account":"alice","start":null,"type":"ignore","limit":100}, "id":1}' https://api.steemit.com

- Since: HF14
- Working on mainnet
- Working on testnet

#### follow_api.get_reblogged_by

Returns a list of authors that have reblogged a post.

##### Query Parameters JSON

    {"author": "", "permlink": ""}

##### Expected Response JSON

    {"accounts": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_reblogged_by", "params":{"author":"steemit","permlink":"firstpost"}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"follow_api.get_reblogged_by", "params":{"author":"alice","permlink":"a-post-by-alice"}, "id":1}' https://api.steemit.com

### Jsonrpc

Used to lookup information about the JSON RPC API. These AppBase API methods are still under development and subject to change.

- Working on mainnet
- Working on testnet

#### jsonrpc.get_methods

Returns a list of methods supported by the JSON RPC API.

##### Query Parameters JSON

    {}

##### Expected Response JSON

    []

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"jsonrpc.get_methods", "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### jsonrpc.get_signature

Returns the signature information for a JSON RPC method including the arguments and expected response JSON.

##### Query Parameters JSON

    {"method": ""}

##### Expected Response JSON

    {"args": null, "ret": null}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"jsonrpc.get_signature", "params":{"method":"jsonrpc.get_methods"}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"jsonrpc.get_signature", "params":{"method":"jsonrpc.get_signature"}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"jsonrpc.get_signature", "params":{"method":"condenser_api.get_dynamic_global_properties"}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"jsonrpc.get_signature", "params":{"method":"database_api.get_dynamic_global_properties"}, "id":1}' https://api.steemit.com

### Market History Api

Used to lookup market history information. These AppBase API methods are still under development and subject to change.

- Working on mainnet
- Working on testnet

#### market_history_api.get_market_history

Returns the market history for the internal SBD:STEEM market.

##### Query Parameters JSON

    {
      "bucket_seconds": 0,
      "start": "1970-01-01T00:00:00",
      "end": "1970-01-01T00:00:00"
    }

##### Expected Response JSON

    {"buckets": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"market_history_api.get_market_history", "params":{"bucket_seconds":15,"start":"2018-01-01T00:00:00","end":"2018-01-02T00:00:00"}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"market_history_api.get_market_history", "params":{"bucket_seconds":60,"start":"2018-01-01T00:00:00","end":"2018-01-02T00:00:00"}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"market_history_api.get_market_history", "params":{"bucket_seconds":300,"start":"2018-01-01T00:00:00","end":"2018-01-02T00:00:00"}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"market_history_api.get_market_history", "params":{"bucket_seconds":3600,"start":"2018-01-01T00:00:00","end":"2018-01-02T00:00:00"}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"market_history_api.get_market_history", "params":{"bucket_seconds":86400,"start":"2018-01-01T00:00:00","end":"2018-01-02T00:00:00"}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### market_history_api.get_market_history_buckets

Returns the bucket seconds being tracked by the plugin.

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {"bucket_sizes": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"market_history_api.get_market_history_buckets", "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### market_history_api.get_order_book

Returns the internal market order book.

##### Query Parameters JSON

    {"limit": 500}

##### Expected Response JSON

    {"bids": [], "asks": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"market_history_api.get_order_book", "params":{"limit":10}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"market_history_api.get_order_book", "params":{"limit":50}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### market_history_api.get_recent_trades

Returns the most recent trades for the internal SBD:STEEM market.

##### Query Parameters JSON

    {"limit": 1000}

##### Expected Response JSON

    {"trades": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"market_history_api.get_recent_trades", "params":{"limit":10}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"market_history_api.get_recent_trades", "params":{"limit":500}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### market_history_api.get_ticker

Returns the market ticker for the internal SBD:STEEM market.

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {
      "latest": "0.00000000000000000",
      "lowest_ask": "0.00000000000000000",
      "highest_bid": "0.00000000000000000",
      "percent_change": "0.00000000000000000",
      "steem_volume": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000021"
      },
      "sbd_volume": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000013"
      }
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"market_history_api.get_ticker", "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### market_history_api.get_trade_history

Returns the trade history for the internal SBD:STEEM market.

##### Query Parameters JSON

    {
      "start": "1970-01-01T00:00:00",
      "end": "1970-01-01T00:00:00",
      "limit": 1000
    }

##### Expected Response JSON

    {"trades": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"market_history_api.get_trade_history", "params":{"start":"2018-01-01T00:00:00","end":"2018-01-02T00:00:00","limit":10}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### market_history_api.get_volume

Returns the market volume for the past 24 hours.

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {
      "steem_volume": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000021"
      },
      "sbd_volume": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000013"
      }
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"market_history_api.get_volume", "id":1}' https://api.steemit.com

### Network Broadcast Api

Used to broadcast transactions and blocks. These AppBase API methods are still under development and subject to change.

Also see: Blockchain Ops

- Working on mainnet
- Working on testnet

#### network_broadcast_api.broadcast_block

Used to broadcast a block.

##### Query Parameters JSON

    {
      "block": {
        "previous": "0000000000000000000000000000000000000000",
        "timestamp": "1970-01-01T00:00:00",
        "witness": "",
        "transaction_merkle_root": "0000000000000000000000000000000000000000",
        "extensions": [],
        "witness_signature": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
        "transactions": []
      }
    }

##### Expected Response JSON

    {}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"network_broadcast_api.broadcast_block", "params":{"block":{"previous":"0000000000000000000000000000000000000000","timestamp":"1970-01-01T00:00:00","witness":"","transaction_merkle_root":"0000000000000000000000000000000000000000","extensions":[],"witness_signature":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","transactions":[]}}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### network_broadcast_api.broadcast_transaction

Used to broadcast a transaction.

##### Query Parameters JSON

    {
      "trx": {
        "ref_block_num": 0,
        "ref_block_prefix": 0,
        "expiration": "1970-01-01T00:00:00",
        "operations": [],
        "extensions": [],
        "signatures": []
      },
      "max_block_age": -1
    }

##### Expected Response JSON

    {}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"network_broadcast_api.broadcast_transaction", "params":{"trx":{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[{"type":"vote_operation","value":{"voter":"steemit","author":"alice","permlink":"a-post-by-alice","weight":10000}}],"extensions":[],"signatures":[]},"max_block_age":50}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"network_broadcast_api.broadcast_transaction", "params":{"trx":{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[{"type":"pow_operation","value":{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"sbd_interest_rate":1000}}}],"extensions":[],"signatures":[]},"max_block_age":50}, "id":1}' https://api.steemit.com

### Rc Api

Allows querying of various Resource Credit metrics. See: RC Bandwidth System, 0.20.2 Release Notes, Developer Guide: Resource Credit System

- Since: HF20
- Working on mainnet
- Working on testnet

#### rc_api.find_rc_accounts

Returns the available resource credits of accounts. Parameters: `accounts:string array`

`accounts` (string) |
--- | ---
`"steemit"` | Query the available resource credits for the account named “steemit”.
`"alice"` | Query the available resource credits for the accounts named “alice” and “bob”.

##### Query Parameters JSON

    {"accounts": []}

##### Expected Response JSON

    {
      "rc_accounts": [
        {
          "account": "",
          "rc_manabar": {"current_mana": "0", "last_update_time": 0},
          "max_rc_creation_adjustment": {
            "amount": "0",
            "precision": 6,
            "nai": "@@000000037"
          },
          "max_rc": "0"
        }
      ]
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"rc_api.find_rc_accounts", "params":{"accounts":["steemit"]}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"rc_api.find_rc_accounts", "params":{"accounts":["alice","bob"]}, "id":1}' https://api.steemit.com

- Since: HF20
- Working on mainnet
- Working on testnet

#### rc_api.get_resource_params

Work in progress. See: #2980

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {
      "resource_names": [
        "resource_history_bytes",
        "resource_new_accounts",
        "resource_market_bytes",
        "resource_state_bytes",
        "resource_execution_time"
      ],
      "resource_params": {
        "resource_history_bytes": {
          "resource_dynamics_params": {
            "resource_unit": 1,
            "budget_per_time_unit": 347222,
            "pool_eq": "216404314004",
            "max_pool_size": "432808628007",
            "decay_params": {
              "decay_per_time_unit": 3613026481,
              "decay_per_time_unit_denom_shift": 51
            },
            "min_decay": 0
          },
          "price_curve_params": {
            "coeff_a": "12981647055416481792",
            "coeff_b": 1690658703,
            "shift": 49
          }
        },
        "resource_new_accounts": {
          "resource_dynamics_params": {
            "resource_unit": 10000,
            "budget_per_time_unit": 797,
            "pool_eq": 157691079,
            "max_pool_size": 157691079,
            "decay_params": {
              "decay_per_time_unit": 347321,
              "decay_per_time_unit_denom_shift": 36
            },
            "min_decay": 0
          },
          "price_curve_params": {
            "coeff_a": "16484671763857882971",
            "coeff_b": 1231961,
            "shift": 51
          }
        },
        "resource_market_bytes": {
          "resource_dynamics_params": {
            "resource_unit": 10,
            "budget_per_time_unit": 578704,
            "pool_eq": "16030041350",
            "max_pool_size": "32060082699",
            "decay_params": {
              "decay_per_time_unit": 2540365427,
              "decay_per_time_unit_denom_shift": 46
            },
            "min_decay": 0
          },
          "price_curve_params": {
            "coeff_a": "9231393461629499392",
            "coeff_b": 125234698,
            "shift": 53
          }
        },
        "resource_state_bytes": {
          "resource_dynamics_params": {
            "resource_unit": 1,
            "budget_per_time_unit": 231481481,
            "pool_eq": "144269542669147",
            "max_pool_size": "288539085338293",
            "decay_params": {
              "decay_per_time_unit": 3613026481,
              "decay_per_time_unit_denom_shift": 51
            },
            "min_decay": 0
          },
          "price_curve_params": {
            "coeff_a": "12981647055416481792",
            "coeff_b": "1127105802103",
            "shift": 49
          }
        },
        "resource_execution_time": {
          "resource_dynamics_params": {
            "resource_unit": 1,
            "budget_per_time_unit": 82191781,
            "pool_eq": "51225569123068",
            "max_pool_size": "102451138246135",
            "decay_params": {
              "decay_per_time_unit": 3613026481,
              "decay_per_time_unit_denom_shift": 51
            },
            "min_decay": 0
          },
          "price_curve_params": {
            "coeff_a": "12981647055416481792",
            "coeff_b": "400199758774",
            "shift": 49
          }
        }
      },
      "size_info": {
        "resource_state_bytes": {
          "authority_base_size": 40000,
          "authority_account_member_size": 180000,
          "authority_key_member_size": 350000,
          "account_object_base_size": 4800000,
          "account_authority_object_base_size": 400000,
          "account_recovery_request_object_base_size": 320000,
          "comment_object_base_size": 2010000,
          "comment_object_permlink_char_size": 10000,
          "comment_object_parent_permlink_char_size": 20000,
          "comment_object_beneficiaries_member_size": 180000,
          "comment_vote_object_base_size": 470000,
          "convert_request_object_base_size": 480000,
          "decline_voting_rights_request_object_base_size": 280000,
          "escrow_object_base_size": 1190000,
          "limit_order_object_base_size": 147440,
          "savings_withdraw_object_byte_size": 14656,
          "transaction_object_base_size": 6090,
          "transaction_object_byte_size": 174,
          "vesting_delegation_object_base_size": 600000,
          "vesting_delegation_expiration_object_base_size": 440000,
          "withdraw_vesting_route_object_base_size": 430000,
          "witness_object_base_size": 2660000,
          "witness_object_url_char_size": 10000,
          "witness_vote_object_base_size": 400000,
          "STATE_BYTES_SCALE": 10000
        },
        "resource_execution_time": {
          "account_create_operation_exec_time": 57700,
          "account_create_with_delegation_operation_exec_time": 57700,
          "account_update_operation_exec_time": 14000,
          "account_witness_proxy_operation_exec_time": 117000,
          "account_witness_vote_operation_exec_time": 23000,
          "cancel_transfer_from_savings_operation_exec_time": 11500,
          "change_recovery_account_operation_exec_time": 12000,
          "claim_account_operation_exec_time": 10000,
          "claim_reward_balance_operation_exec_time": 50300,
          "comment_operation_exec_time": 114100,
          "comment_options_operation_exec_time": 13200,
          "convert_operation_exec_time": 15700,
          "create_claimed_account_operation_exec_time": 57700,
          "custom_operation_exec_time": 228000,
          "custom_json_operation_exec_time": 228000,
          "custom_binary_operation_exec_time": 228000,
          "decline_voting_rights_operation_exec_time": 5300,
          "delegate_vesting_shares_operation_exec_time": 19900,
          "delete_comment_operation_exec_time": 51100,
          "escrow_approve_operation_exec_time": 9900,
          "escrow_dispute_operation_exec_time": 11500,
          "escrow_release_operation_exec_time": 17200,
          "escrow_transfer_operation_exec_time": 19100,
          "feed_publish_operation_exec_time": 6200,
          "limit_order_cancel_operation_exec_time": 9600,
          "limit_order_create_operation_exec_time": 31700,
          "limit_order_create2_operation_exec_time": 31700,
          "request_account_recovery_operation_exec_time": 54400,
          "set_withdraw_vesting_route_operation_exec_time": 17900,
          "transfer_from_savings_operation_exec_time": 17500,
          "transfer_operation_exec_time": 9600,
          "transfer_to_savings_operation_exec_time": 6400,
          "transfer_to_vesting_operation_exec_time": 44400,
          "vote_operation_exec_time": 26500,
          "withdraw_vesting_operation_exec_time": 10400,
          "witness_set_properties_operation_exec_time": 9500,
          "witness_update_operation_exec_time": 9500
        }
      }
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"rc_api.get_resource_params", "id":1}' https://api.steemit.com

- Since: HF20
- Working on mainnet
- Working on testnet

#### rc_api.get_resource_pool

Work in progress. See: #2563, PR#2678

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {
      "resource_pool": {
        "resource_history_bytes": {"pool": "200825644923"},
        "resource_new_accounts": {"pool": 37393465},
        "resource_market_bytes": {"pool": "15915722826"},
        "resource_state_bytes": {"pool": "132151641791507"},
        "resource_execution_time": {"pool": "47739958648192"}
      }
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"rc_api.get_resource_pool", "id":1}' https://api.steemit.com

### Tags Api

Used to lookup information about tags, posts, and discussions. These AppBase API methods are still under development and subject to change.

- Working on mainnet
- Working on testnet

#### tags_api.get_active_votes

Returns all votes for the given post.

##### Query Parameters JSON

    {"author": "", "permlink": ""}

##### Expected Response JSON

    {"votes": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_active_votes", "params":{"author":"steemit", "permlink":"firstpost"}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_active_votes", "params":{"author":"alice", "permlink":"a-post-by-alice"}, "id":1}' https://api.steemit.com

- Since: HF17
- Working on mainnet
- Working on testnet

#### tags_api.get_comment_discussions_by_payout

Returns a list of discussions based on payout.

##### Query Parameters JSON

    {
      "tag": "",
      "limit": 0,
      "filter_tags": [],
      "select_authors": [],
      "select_tags": [],
      "truncate_body": 0
    }

##### Expected Response JSON

    {"discussions": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_comment_discussions_by_payout", "params":{"tag":"steem","limit":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_comment_discussions_by_payout", "params":{"tag":"photography","limit":10,"truncate_body":0}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### tags_api.get_content_replies

Returns a list of replies.

##### Query Parameters JSON

    {"author": "", "permlink": ""}

##### Expected Response JSON

    {"discussions": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_content_replies", "params":{"author":"steemit", "permlink":"firstpost"}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_content_replies", "params":{"author":"alice", "permlink":"a-post-by-alice"}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### tags_api.get_discussion

Returns the discussion given an author and permlink.

##### Query Parameters JSON

    {"author": "", "permlink": ""}

##### Expected Response JSON

    {
      "id": 0,
      "author": "",
      "permlink": "",
      "category": "",
      "parent_author": "",
      "parent_permlink": "",
      "title": "",
      "body": "",
      "json_metadata": "",
      "last_update": "1970-01-01T00:00:00",
      "created": "1970-01-01T00:00:00",
      "active": "1970-01-01T00:00:00",
      "last_payout": "1970-01-01T00:00:00",
      "depth": 0,
      "children": 0,
      "net_rshares": 0,
      "abs_rshares": 0,
      "vote_rshares": 0,
      "children_abs_rshares": 0,
      "cashout_time": "1970-01-01T00:00:00",
      "max_cashout_time": "1970-01-01T00:00:00",
      "total_vote_weight": 0,
      "reward_weight": 0,
      "total_payout_value": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000021"
      },
      "curator_payout_value": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000021"
      },
      "author_rewards": 0,
      "net_votes": 0,
      "root_author": "",
      "root_permlink": "",
      "max_accepted_payout": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000021"
      },
      "percent_steem_dollars": 0,
      "allow_replies": false,
      "allow_votes": false,
      "allow_curation_rewards": false,
      "beneficiaries": [],
      "url": "",
      "root_title": "",
      "pending_payout_value": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000021"
      },
      "total_pending_payout_value": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000021"
      },
      "active_votes": [],
      "replies": [],
      "author_reputation": 0,
      "promoted": {
        "amount": "0",
        "precision": 3,
        "nai": "@@000000013"
      },
      "body_length": 0,
      "reblogged_by": []
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussion", "params":{"author":"steemit", "permlink":"firstpost"}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussion", "params":{"author":"alice", "permlink":"a-post-by-alice"}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### tags_api.get_discussions_by_active

Returns a list of discussions based on active.

##### Query Parameters JSON

    {
      "tag": "",
      "limit": 0,
      "filter_tags": [],
      "select_authors": [],
      "select_tags": [],
      "truncate_body": 0
    }

##### Expected Response JSON

    {"discussions": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_active", "params":{"tag":"steem","limit":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_active", "params":{"tag":"photography","limit":10,"truncate_body":0}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### tags_api.get_discussions_by_author_before_date

Returns a list of discussions based on author before date.

##### Query Parameters JSON

    {
      "author": "",
      "start_permlink": "",
      "before_date": "1970-01-01T00:00:00",
      "limit": 100
    }

##### Expected Response JSON

    {"discussions": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_author_before_date", "params":{"author":"steemit","start_permlink":"firstpost","before_date":"2016-04-19T22:49:43","limit":1}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### tags_api.get_discussions_by_blog

Returns a list of discussions by blog.

##### Query Parameters JSON

    {
      "tag": "",
      "limit": 0,
      "filter_tags": [],
      "select_authors": [],
      "select_tags": [],
      "truncate_body": 0
    }

##### Expected Response JSON

    {"discussions": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_blog", "params":{"tag":"steemit","limit":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_blog", "params":{"tag":"alice","limit":10}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### tags_api.get_discussions_by_cashout

Returns a list of discussions by cashout.

##### Query Parameters JSON

    {
      "tag": "",
      "limit": 0,
      "filter_tags": [],
      "select_authors": [],
      "select_tags": [],
      "truncate_body": 0
    }

##### Expected Response JSON

    {"discussions": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_cashout", "params":{"tag":"steem","limit":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_cashout", "params":{"tag":"photography","limit":10,"truncate_body":0}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### tags_api.get_discussions_by_children

Returns a list of discussions by children.

##### Query Parameters JSON

    {
      "tag": "",
      "limit": 0,
      "filter_tags": [],
      "select_authors": [],
      "select_tags": [],
      "truncate_body": 0
    }

##### Expected Response JSON

    {"discussions": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_children", "params":{"tag":"steem","limit":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_children", "params":{"tag":"photography","limit":10,"truncate_body":0}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### tags_api.get_discussions_by_comments

Returns a list of discussions by comments.

##### Query Parameters JSON

    {
      "tag": "",
      "limit": 0,
      "filter_tags": [],
      "select_authors": [],
      "select_tags": [],
      "truncate_body": 0
    }

##### Expected Response JSON

    {"discussions": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_comments", "params":{"start_author":"steemit","start_permlink":"firstpost","limit":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_comments", "params":{"start_author":"alice","start_permlink":"a-post-by-alice","limit":10,"truncate_body":0}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### tags_api.get_discussions_by_created

Returns a list of discussions by created.

##### Query Parameters JSON

    {
      "tag": "",
      "limit": 0,
      "filter_tags": [],
      "select_authors": [],
      "select_tags": [],
      "truncate_body": 0
    }

##### Expected Response JSON

    {"discussions": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_created", "params":{"tag":"steem","limit":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_created", "params":{"tag":"photography","limit":10,"truncate_body":0}, "id":1}' https://api.steemit.com

- Since: HF14
- Working on mainnet
- Working on testnet

#### tags_api.get_discussions_by_feed

Returns a list of discussions by feed.

##### Query Parameters JSON

    {
      "tag": "",
      "limit": 0,
      "filter_tags": [],
      "select_authors": [],
      "select_tags": [],
      "truncate_body": 0
    }

##### Expected Response JSON

    {"discussions": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_feed", "params":{"tag":"steem","limit":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_feed", "params":{"tag":"photography","limit":10,"truncate_body":0}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### tags_api.get_discussions_by_hot

Returns a list of discussions by hot.

##### Query Parameters JSON

    {
      "tag": "",
      "limit": 0,
      "filter_tags": [],
      "select_authors": [],
      "select_tags": [],
      "truncate_body": 0
    }

##### Expected Response JSON

    {"discussions": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_hot", "params":{"tag":"steem","limit":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_hot", "params":{"tag":"photography","limit":10,"truncate_body":0}, "id":1}' https://api.steemit.com

- Since: HF13
- Working on mainnet
- Working on testnet

#### tags_api.get_discussions_by_promoted

Returns a list of discussions by promoted.

##### Query Parameters JSON

    {
      "tag": "",
      "limit": 0,
      "filter_tags": [],
      "select_authors": [],
      "select_tags": [],
      "truncate_body": 0
    }

##### Expected Response JSON

    {"discussions": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_promoted", "params":{"tag":"steem","limit":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_promoted", "params":{"tag":"photography","limit":10,"truncate_body":0}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### tags_api.get_discussions_by_trending

Returns a list of discussions by trending.

##### Query Parameters JSON

    {
      "tag": "",
      "limit": 0,
      "filter_tags": [],
      "select_authors": [],
      "select_tags": [],
      "truncate_body": 0
    }

##### Expected Response JSON

    {"discussions": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_trending", "params":{"tag":"steem","limit":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_trending", "params":{"tag":"photography","limit":10,"truncate_body":0}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### tags_api.get_discussions_by_votes

Returns a list of discussions by votes.

##### Query Parameters JSON

    {
      "tag": "",
      "limit": 0,
      "filter_tags": [],
      "select_authors": [],
      "select_tags": [],
      "truncate_body": 0
    }

##### Expected Response JSON

    {"discussions": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_votes", "params":{"tag":"steem","limit":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_votes", "params":{"tag":"photography","limit":10,"truncate_body":0}, "id":1}' https://api.steemit.com

- Since: HF17
- Working on mainnet
- Working on testnet

#### tags_api.get_post_discussions_by_payout

Returns a list of post discussions by payout.

##### Query Parameters JSON

    {
      "tag": "",
      "limit": 0,
      "filter_tags": [],
      "select_authors": [],
      "select_tags": [],
      "truncate_body": 0
    }

##### Expected Response JSON

    {"discussions": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_post_discussions_by_payout", "params":{"tag":"steem","limit":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_post_discussions_by_payout", "params":{"tag":"photography","limit":10,"truncate_body":0}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### tags_api.get_replies_by_last_update

Returns a list of replies by last update.

##### Query Parameters JSON

    {
      "start_parent_author": "",
      "start_permlink": "",
      "limit": 100
    }

##### Expected Response JSON

    {"discussions": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_replies_by_last_update", "params":{"start_parent_author":"steemit","start_permlink":"firstpost","limit":1}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### tags_api.get_tags_used_by_author

Returns a list of tags used by an author.

##### Query Parameters JSON

    {"author": ""}

##### Expected Response JSON

    {"tags": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_tags_used_by_author", "params":{"author":"steemit"}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### tags_api.get_trending_tags

Returns the list of trending tags.

##### Query Parameters JSON

    {"start_tag": "", "limit": 100}

##### Expected Response JSON

    {"tags": []}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_trending_tags", "params":{"start_tag":null,"limit":100}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"tags_api.get_trending_tags", "params":{"start_tag":"steem","limit":10}, "id":1}' https://api.steemit.com

### Witness Api

API removed in 0.20.6, see: #3029

- Disabled
- Working on mainnet
- Working on testnet

#### witness_api.get_account_bandwidth

Disabled since 0.20.6, see: #3029

Returns the available bandwidth of an account. See: Forum/Market Bandwidth

##### Query Parameters JSON

    {"account": "", "type": "post"}

##### Expected Response JSON

    {}

- Disabled
- Working on mainnet
- Working on testnet

#### witness_api.get_reserve_ratio

Disabled since 0.20.6, see: #3029

Returns the current reserve ratio.

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {
      "id": 0,
      "average_block_size": 0,
      "current_reserve_ratio": 1,
      "max_virtual_bandwidth": "0"
    }

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"witness_api.get_account_bandwidth", "params":{"account":"steemit","type":"forum"}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"witness_api.get_account_bandwidth", "params":{"account":"alice","type":"market"}, "id":1}' https://api.steemit.com

### Block Api

Used to query values related to the block plugin. These AppBase API methods are still under development and subject to change.

- Working on mainnet
- Working on testnet

#### block_api.get_block

Retrieve a full, signed block of the referenced block, or null if no matching block was found.

Parameters:

- `block_num:int`

`block_num` (int) |
--- | ---
`1` | Queries the very first block.
`8675309` | Queries block number 8,675,309.
`62396745` | Queries block number 62,396,745.

##### Query Parameters JSON

    {"block_num": 0}

##### Expected Response JSON

    {}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"block_api.get_block", "params":{"block_num":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"block_api.get_block", "params":{"block_num":8675309}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"block_api.get_block", "params":{"block_num":62396745}, "id":1}' https://api.steemit.com

- Working on mainnet
- Working on testnet

#### block_api.get_block_header

Retrieve a block header of the referenced block, or null if no matching block was found.

Parameters:

- `block_num:int` - Height of the block whose header should be returned

`block_num` (int) |
--- | ---
`1` | Queries the block headers for the very first block.
`8675309` | Queries block headers for block number 8,675,309.
`62396745` | Queries block headers for block number 62,396,745.

##### Query Parameters JSON

    {"block_num": 0}

##### Expected Response JSON

    {}

##### Example `curl`

    curl -s --data '{"jsonrpc":"2.0", "method":"block_api.get_block_header", "params":{"block_num":1}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"block_api.get_block_header", "params":{"block_num":8675309}, "id":1}' https://api.steemit.com

    curl -s --data '{"jsonrpc":"2.0", "method":"block_api.get_block_header", "params":{"block_num":62396745}, "id":1}' https://api.steemit.com

### Debug Node Api

This plugin allows all sorts of creative “what-if” experiments with the chain.

See: debug_node_plugin.md

- Working on mainnet
- Working on testnet

#### debug_node_api.debug_generate_blocks

Generate blocks locally.

##### Query Parameters JSON

    {
      "debug_key": "",
      "count": 0,
      "skip": 0,
      "miss_blocks": 0,
      "edit_if_needed": true
    }

##### Expected Response JSON

    {"blocks": 0}

- Working on mainnet
- Working on testnet

#### debug_node_api.debug_generate_blocks_until

Generate blocks locally until a specified head block time. Can generate them sparsely.

##### Query Parameters JSON

    {
      "debug_key": "",
      "head_block_time": "1970-01-01T00:00:00",
      "generate_sparsely": true
    }

##### Expected Response JSON

    {"blocks": 0}

- Working on mainnet
- Working on testnet

#### debug_node_api.debug_get_hardfork_property_object

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {
      "id": 0,
      "processed_hardforks": [],
      "last_hardfork": 0,
      "current_hardfork_version": "0.0.0",
      "next_hardfork": "0.0.0",
      "next_hardfork_time": "1970-01-01T00:00:00"
    }

- Working on mainnet
- Working on testnet

#### debug_node_api.debug_get_json_schema

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {"schema": ""}

- Working on mainnet
- Working on testnet

#### debug_node_api.debug_get_witness_schedule

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {
      "id": 0,
      "current_virtual_time": "0",
      "next_shuffle_block_num": 21573344,
      "current_shuffled_witnesses": [],
      "num_scheduled_witnesses": 192,
      "elected_weight": 49,
      "timeshare_weight": 73,
      "miner_weight": 1,
      "witness_pay_normalization_factor": 0,
      "median_props": {
        "account_creation_fee": {
          "amount": "0",
          "precision": 3,
          "nai": "@@000000021"
        },
        "maximum_block_size": 131072,
        "sbd_interest_rate": 1000,
        "account_subsidy_budget": 797,
        "account_subsidy_decay": 347321
      },
      "majority_version": "0.0.0",
      "max_voted_witnesses": 128,
      "max_miner_witnesses": 131,
      "max_runner_witnesses": 191,
      "hardfork_required_witnesses": 4,
      "account_subsidy_rd": {
        "resource_unit": 0,
        "budget_per_time_unit": 0,
        "pool_eq": 0,
        "max_pool_size": 0,
        "decay_params": {
          "decay_per_time_unit": 0,
          "decay_per_time_unit_denom_shift": 0
        },
        "min_decay": 0
      },
      "account_subsidy_witness_rd": {
        "resource_unit": 0,
        "budget_per_time_unit": 0,
        "pool_eq": 0,
        "max_pool_size": 0,
        "decay_params": {
          "decay_per_time_unit": 0,
          "decay_per_time_unit_denom_shift": 0
        },
        "min_decay": 0
      },
      "min_witness_account_subsidy_decay": 0
    }

- Working on mainnet
- Working on testnet

#### debug_node_api.debug_has_hardfork

##### Query Parameters JSON

    {"hardfork_id": 0}

##### Expected Response JSON

    {"has_hardfork": false}

- Working on mainnet
- Working on testnet

#### debug_node_api.debug_pop_block

Pop a block from the blockchain, returning it.

##### Query Parameters JSON

    {}

##### Expected Response JSON

    {}

- Working on mainnet
- Working on testnet

#### debug_node_api.debug_push_blocks

Push blocks from existing database.

##### Query Parameters JSON

    {
      "src_filename": "",
      "count": 0,
      "skip_validate_invariants": false
    }

##### Expected Response JSON

    {"blocks": 0}

- Working on mainnet
- Working on testnet

#### debug_node_api.debug_set_hardfork

##### Query Parameters JSON

    {"hardfork_id": 0}

##### Expected Response JSON

    {}

### Broadcast Ops

An operation on Steem is a way of expressing intention on the blockchain. They are also known as Broadcast Operations. They have types, like `vote` or `comment`. They pass parameters like `author` and `permlink`, depending on what their purpose is.

Operations are grouped into transactions and passed as parameters to methods like `network_broadcast_api.broadcast_transaction`, in the `operations` array. Transactions must be signed in order for the blockchain to accept them. Here is an example of a transaction that contains one operation (shown without signatures).

    {
       "jsonrpc":"2.0",
       "method":"condenser_api.broadcast_transaction",
       "params":{
          "trx":{
             "ref_block_num":1097,
             "ref_block_prefix":2181793527,
             "expiration":"2016-03-24T18:00:21",
             "operations":[
                [
                   "vote",
                   {
                      "voter":"steemit",
                      "author":"alice",
                      "permlink":"a-post-by-alice",
                      "weight":10000
                   }
                ]
             ],
             "extensions":[],
             "signatures":[]
          }
       },
       "id":1
    }

Also see: Broadcast Transaction

#### `vote`

This operation is used to cast a vote on a post/comment. The primary purpose of voting is to express Proof-of-Brain about content to the blockchain. When a vote is cast, the content is considered in the consensus rules involving author and curation rewards.

An upvote can be cast from the point in time that the content is created up to 6.5 days. The remaining 12 hours are locked out of upvotes at which time only downvotes may be cast.

A secondary aspect to voting involves reputation, which is not part of consensus.

Reputation Rules:

1. Must have non-negative reputation to effect another user’s reputation.
2. If you are down voting another user, you must have more reputation than them to impact their reputation.

Notes:

- `voter`: must be a valid account name
- `author`: must be a valid account name
- `permlink`: must be content created by `author`
- `weight`: absolute value must not be more than 10000 (100.00 %).

##### Roles: `posting active owner`

##### Parameters: `voter author permlink weight`

##### Example Op:

    [
      "vote",
      {
        "voter": "steemit",
        "author": "alice",
        "permlink": "a-post-by-alice",
        "weight": 10000
      }
    ]

#### `comment`

Creates a post/comment.

Notes:

- `title`: must not be larger than 256 bytes
- `title`: must be UTF-8
- `body`: must be larger than 0 bytes
- `body`: must be UTF-8

##### Roles: `posting active owner`

##### Parameters: `parent_author parent_permlink author permlink title body json_metadata`

##### Example Op:

    [
      "comment",
      {
        "parent_author": "",
        "parent_permlink": "steem",
        "author": "alice",
        "permlink": "a-post-by-alice",
        "title": "A Post By Alice",
        "body": "This is my post.",
        "json_metadata": "{\"tags\":[\"steemit\",\"example\",\"tags\"]}"
      }
    ]

#### `transfer`

Transfers asset from one account to another. The memo is plain-text, any encryption on the memo is up to a higher level protocol.

Notes:

- Transferring of Steem Power (VESTS) is not allowed.
- Cannot transfer a negative amount (aka: stealing).
- Memo must be less than 2048 bytes.
- Memo must be UTF-8.

##### Roles: `active owner`

##### Parameters: `from to amount memo`

##### Example Op:

    [
      "transfer",
      {
        "from": "steemit",
        "to": "alice",
        "amount": {
          "amount": "10",
          "precision": 3,
          "nai": "@@000000021"
        },
        "memo": "Thanks for all the fish."
      }
    ]

#### `transfer_to_vesting`

This operation converts STEEM into VFS (Vesting Fund Shares) at the current exchange rate. With this operation it is possible to give another account vesting shares so that faucets can pre-fund new accounts with vesting shares.

Notes:

- Amount must be in STEEM.
- Must transfer a nonzero amount.

##### Roles: `active owner`

##### Parameters: `from to amount`

##### Example Op:

    [
      "transfer_to_vesting",
      {
        "from": "alice",
        "to": "",
        "amount": {
          "amount": "357000",
          "precision": 3,
          "nai": "@@000000021"
        }
      }
    ]

#### `withdraw_vesting`

At any given point in time an account can be withdrawing from their vesting shares. A user may change the number of shares they wish to cash out at any time between 0 and their total vesting stake.

After applying this operation, vesting_shares will be withdrawn at a rate of vesting_shares/13 per week for 13 weeks starting one week after this operation is included in the blockchain.

This operation is not valid if the user has no vesting shares.

Notes:

- Amount must be VESTS.

##### Roles: `active owner`

##### Parameters: `account vesting_shares`

##### Example Op:

    [
      "withdraw_vesting",
      {
        "account": "steemit",
        "vesting_shares": {
          "amount": "200000000000",
          "precision": 6,
          "nai": "@@000000037"
        }
      }
    ]

#### `limit_order_create`

This operation creates a limit order and matches it against existing open orders. The maximum expiration time for any limit order is 28 days from `head_block_time()`.

##### Roles: `active owner`

##### Parameters: `owner orderid amount_to_sell min_to_receive fill_or_kill expiration`

##### Example Op:

    [
      "limit_order_create",
      {
        "owner": "steemit",
        "orderid": 10,
        "amount_to_sell": {
          "amount": "9950",
          "precision": 3,
          "nai": "@@000000021"
        },
        "min_to_receive": {
          "amount": "3500",
          "precision": 3,
          "nai": "@@000000013"
        },
        "fill_or_kill": false,
        "expiration": "2035-10-29T06:32:22"
      }
    ]

#### `limit_order_cancel`

Cancels an order and returns the balance to owner.

##### Roles: `active owner`

##### Parameters: `owner orderid`

##### Example Op:

    [
      "limit_order_cancel",
      {"owner": "steemit", "orderid": 10}
    ]

#### `price`

##### Roles: `active owner`

##### Parameters: `base quote`

#### `feed_publish`

Feeds can only be published by the top N witnesses which are included in every round and are used to define the exchange rate between steem and the dollar.

##### Roles: `active owner`

##### Parameters: `publisher exchange_rate`

##### Example Op:

    [
      "feed_publish",
      {
        "publisher": "alice",
        "exchange_rate": {
          "base": {
            "amount": "1000",
            "precision": 3,
            "nai": "@@000000013"
          },
          "quote": {
            "amount": "1000000",
            "precision": 3,
            "nai": "@@000000021"
          }
        }
      }
    ]

#### `convert`

This operation instructs the blockchain to start a conversion between STEEM and SBD, the funds are deposited after 3.5 days.

##### Roles: `active owner`

##### Parameters: `owner requestid amount`

##### Example Op:

    [
      "convert",
      {
        "owner": "steemit",
        "requestid": 1467592156,
        "amount": {
          "amount": "5000",
          "precision": 3,
          "nai": "@@000000013"
        }
      }
    ]

#### `account_create`

##### Roles: `active owner`

##### Parameters: `fee creator new_account_name owner active posting memo_key json_metadata`

##### Example Op:

    [
      "account_create",
      {
        "fee": {
          "amount": "0",
          "precision": 3,
          "nai": "@@000000021"
        },
        "creator": "steemit",
        "new_account_name": "alice",
        "owner": {
          "weight_threshold": 1,
          "account_auths": [],
          "key_auths": [
            [
              "STM5b4i9gBqvh4sbgrooXPu2dbGLewNPZkXeuNeBjyiswnu2szgXx",
              1
            ]
          ]
        },
        "active": {
          "weight_threshold": 1,
          "account_auths": [],
          "key_auths": [
            [
              "STM7ko5nzqaYfjbD4tKWGmiy3xtT9eQFZ3Pcmq5JmygTRptWSiVQy",
              1
            ]
          ]
        },
        "posting": {
          "weight_threshold": 1,
          "account_auths": [],
          "key_auths": [
            [
              "STM5xAKxnMT2y9VoVJdF63K8xRQAohsiQy9bA33aHeyMB5vgkzaay",
              1
            ]
          ]
        },
        "memo_key": "STM8ZSyzjPm48GmUuMSRufkVYkwYbZzbxeMysAVp7KFQwbTf98TcG",
        "json_metadata": "{}"
      }
    ]

- Since: HF20

#### `create_claimed_account`

When used with `claim_account`, works identically to `account_create`. See: Steem 0.20.2 Release Notes

##### Roles: `active owner`

##### Parameters: `creator new_account_name owner active posting memo_key json_metadata`

##### Example Op:

    [
      "create_claimed_account",
      {
        "creator": "steemit",
        "new_account_name": "alice",
        "owner": {
          "weight_threshold": 1,
          "account_auths": [],
          "key_auths": [
            [
              "STM5b4i9gBqvh4sbgrooXPu2dbGLewNPZkXeuNeBjyiswnu2szgXx",
              1
            ]
          ]
        },
        "active": {
          "weight_threshold": 1,
          "account_auths": [],
          "key_auths": [
            [
              "STM7ko5nzqaYfjbD4tKWGmiy3xtT9eQFZ3Pcmq5JmygTRptWSiVQy",
              1
            ]
          ]
        },
        "posting": {
          "weight_threshold": 1,
          "account_auths": [],
          "key_auths": [
            [
              "STM5xAKxnMT2y9VoVJdF63K8xRQAohsiQy9bA33aHeyMB5vgkzaay",
              1
            ]
          ]
        },
        "memo_key": "STM8ZSyzjPm48GmUuMSRufkVYkwYbZzbxeMysAVp7KFQwbTf98TcG",
        "json_metadata": "{}"
      }
    ]

- Since: HF20

#### `claim_account`

When used with `create_claimed_account`, works identically to `account_create`. See: Steem 0.20.2 Release Notes

##### Roles: `active owner`

##### Parameters: `fee creator extensions`

##### Example Op:

    [
      "claim_account",
      {
        "fee": {
          "amount": "0",
          "precision": 3,
          "nai": "@@000000021"
        },
        "creator": "steemit",
        "extensions": []
      }
    ]

- Since: HF20

#### `witness_set_properties`

Added in HF20 to replace the `witness_update` which was not easily extendable. While it is recommended to use `witness_set_properties`, `witness_update` will continue to work. See: Witness Parameters

##### Roles: `block_signing active owner`

##### Parameters: `owner props extensions`

##### Example Op:

    [
      "witness_set_properties",
      {
        "owner": "alice",
        "props": {
          "account_creation_fee": "0.000 STEEM",
          "account_subsidy_budget": 10000,
          "account_subsidy_decay": 330782,
          "maximum_block_size": 65536,
          "sbd_interest_rate": "0.000 STEEM",
          "sbd_exchange_rate": {
            "base": "0.000 SBD",
            "quote": "0.000 STEEM"
          },
          "url": "68747470733A2F2F737465656D69742E636F6D",
          "new_signing_key": "25688bbe7b1204f26e40be054c8b2ff1997eec6d4e7be6a105aab8a0e6f11c616d7cb6066"
        },
        "extensions": []
      }
    ]

#### `account_update`

##### Roles: `active owner`

##### Parameters: `account owner active posting memo_key json_metadata`

##### Example Op:

    [
      "account_update",
      {
        "account": "steemit",
        "posting": {
          "weight_threshold": 1,
          "account_auths": [],
          "key_auths": [
            [
              "STM6FATHLohxTN8RWWkU9ZZwVywXo6MEDjHHui1jEBYkG2tTdvMYo",
              1
            ],
            [
              "STM76EQNV2RTA6yF9TnBvGSV71mW7eW36MM7XQp24JxdoArTfKA76",
              1
            ]
          ]
        },
        "memo_key": "STM6FATHLohxTN8RWWkU9ZZwVywXo6MEDjHHui1jEBYkG2tTdvMYo",
        "json_metadata": ""
      }
    ]

- Disabled

#### `report_over_production`

Disabled in HF4

This operation is used to report a miner who signs two blocks at the same time. To be valid, the violation must be reported within STEEM_MAX_WITNESSES blocks of the head block (1 round) and the producer must be in the ACTIVE witness set.

Users not in the ACTIVE witness set should not have to worry about their key getting compromised and being used to produced multiple blocks so the attacker can report it and steel their vesting steem.

The result of the operation is to transfer the full VESTING STEEM balance of the block producer to the reporter.

##### Roles: `active owner`

##### Parameters: `reporter first_block second_block`

#### `witness_update`

Users who wish to become a witness must pay a fee acceptable to the current witnesses to apply for the position and allow voting to begin.

If the owner isn’t a witness they will become a witness. Witnesses are charged a fee equal to 1 weeks worth of witness pay which in turn is derived from the current share supply. The fee is only applied if the owner is not already a witness.

If the block_signing_key is null then the witness is removed from contention. The network will pick the top 21 witnesses for producing blocks.

Notes:

- The fee paid to register a new witness, should be 10x current block production pay.
- `url` cannot be more than 2048 bytes.
- `url` must be UTF-8.
- `fee` cannot be negative.

##### Roles: `active owner`

##### Parameters: `owner url block_signing_key props fee`

##### Example Op:

    [
      "witness_update",
      {
        "owner": "alice",
        "url": "witness-category/my-witness",
        "block_signing_key": "STM8LoQjQqJHvotqBo7HjnqmUbFW9oJ2theyqonzUd9DdJ7YYHsvD",
        "props": {
          "account_creation_fee": {
            "amount": "100000",
            "precision": 3,
            "nai": "@@000000021"
          },
          "maximum_block_size": 131072,
          "sbd_interest_rate": 1000
        },
        "fee": {
          "amount": "0",
          "precision": 3,
          "nai": "@@000000021"
        }
      }
    ]

#### `account_witness_vote`

All accounts with a VFS (Vesting Fund Shares) can vote for or against any witness. See: `STEEM_MAX_ACCOUNT_WITNESS_VOTES`

If a proxy is specified then all existing votes are removed.

##### Roles: `active owner`

##### Parameters: `account witness approve`

##### Example Op:

    [
      "account_witness_vote",
      {
        "account": "alice",
        "witness": "bob",
        "approve": true
      }
    ]

#### `account_witness_proxy`

##### Roles: `active owner`

##### Parameters: `account proxy`

##### Example Op:

    [
      "account_witness_proxy",
      {"account": "alice", "proxy": "bob"}
    ]

- Disabled

#### `pow`

Disabled in HF14.

##### Roles: `active owner`

##### Parameters: `worker input signature work`

##### Example Op:

    [
      "pow",
      {
        "worker_account": "admin",
        "block_id": "000004433bd4602cf5f74dbb564183837df9cef8",
        "nonce": 82,
        "work": {
          "worker": "STM65wH1LZ7BfSHcK69SShnqCAH5xdoSZpGkUjmzHJ5GCuxEK9V5G",
          "input": "59b009f89477919f95914151cef06f28bf344dd6fb7670aca1c1f4323c80446b",
          "signature": "1f3f83209097efcd01b7d6f27ce726164323d503d6fcf4d55bfb7cb3032796f6766738b36062b5850d69447fdf9c091cbc70825df5eeacc4710a0b11ffdbf0912a",
          "work": "0b62f4837801cd857f01d6a541faeb13d6bb95f1c36c6b4b14a47df632aa6c92"
        },
        "props": {
          "account_creation_fee": {
            "amount": "100000",
            "precision": 3,
            "nai": "@@000000021"
          },
          "maximum_block_size": 131072,
          "sbd_interest_rate": 1000
        }
      }
    ]

#### `custom`

Provides a generic way to add higher level protocols on top of witness consensus.

There is no validation for this operation other than that required auths are valid.

##### Roles: `active owner`

##### Parameters: `required_auths id data`

##### Example Op:

    [
      "custom",
      {
        "required_auths": ["bytemaster"],
        "id": 777,
        "data": "0a627974656d617374657207737465656d697402a3d13897d82114466ad87a74b73a53292d8331d1bd1d3082da6bfbcff19ed097029db013797711c88cccca3692407f9ff9b9ce7221aaa2d797f1692be2215d0a5f6d2a8cab6832050078bc5729201e3ea24ea9f7873e6dbdc65a6bd9899053b9acda876dc69f11a13df9ca8b26b6"
      }
    ]

#### `delete_comment`

##### Roles: `posting active owner`

##### Parameters: `author permlink`

##### Example Op:

    [
      "delete_comment",
      {
        "author": "alice",
        "permlink": "a-post-by-alice"
      }
    ]

#### `custom_json`

Serves the same purpose as `custom` but also supports required posting authorities. Unlike `custom`, this operation is designed to be human readable/developer friendly.

##### `follow`

As of HF9, the follow plugin will track follow/unfollow/ignore events.

##### `reblog`

As of HF14, allows users to share blogs they find with those who follow them. This change implemented entirely outside the blockchain consensus which means that reblogging does not create a new post, it merely shares an existing post with people who follow you.

##### `witness`

As of HF18, the witness plugin has a custom operation called `enable_content_editing` that allows a user to signal they want to edit their content. By consensus, content is editable indefinitely, but is soft forked to be frozen after payout. This operation requires an `active` key and is designed to prevent vandalism if a posting key is compromised. #1017

##### Roles: `posting active owner`

##### Parameters: `required_auths required_posting_auths id json`

##### Example Op:

    [
      "custom_json",
      {
        "required_auths": [],
        "required_posting_auths": ["steemit"],
        "id": "follow",
        "json": "[\"follow\",{\"follower\":\"steemit\",\"following\":\"alice\",\"what\":[\"blog\"]}]"
      }
    ]

    [
      "custom_json",
      {
        "required_auths": [],
        "required_posting_auths": ["alice"],
        "id": "follow",
        "json": "[\"follow\",{\"follower\":\"alice\",\"following\":\"eve\",\"what\":[\"ignore\"]}]"
      }
    ]

    [
      "custom_json",
      {
        "required_auths": [],
        "required_posting_auths": ["bob"],
        "id": "reblog",
        "json": "{\"account\":\"bob\",\"author\":\"alice\",\"permlink\":\"a-post-by-alice\"}"
      }
    ]

    [
      "custom_json",
      {
        "required_auths": ["alice"],
        "required_posting_auths": [],
        "id": "witness",
        "json": "[\"enable_content_editing\", {\"account\": \"alice\", \"relock_time\": \"2100-01-01T12:00:00\"}]"
      }
    ]

#### `comment_options`

Authors of posts may not want all of the benefits that come from creating a post. This operation allows authors to update properties associated with their post.

Typically, these options will accompany a `comment` operation in the same transaction.

As of HF17, content can specify beneficiaries to receive a part of their author rewards. The beneficiaries are specified in the extension field of the `comment_options_operation` and is a sorted vector (by account name) of account name, weight pairs. The beneficiaries can only be specified once and must be specified before any votes are cast on the comment. Most apps are already adding a `comment_options` in the transaction that creates the comment, so this should not be much of a challenge to add to existing apps.

Notes:

- The max_accepted_payout may be decreased, but never increased.
- The percent_steem_dollars may be decreased, but never increased.
- Part of `comment_option` validation process, to be called when `allowed_vote_assets` object has been added as comment option extension are:
  - When votable assets are greater than maximum votable assets: “Too much votable assets specified”
  - When the symbol is not allowed in the list for votable assets: “STEEM can not be explicitly specified as one of allowed_vote_assets”
- `max_accepted_payout`: SBD value of the maximum payout this post will receive
- `percent_steem_dollars`: the percent of Steem Dollars to key, unkept amounts will be received as Steem Power
- `allow_votes`: allows/disallows a post to receive votes;
- `allow_curation_rewards`: allows/disllows voters to recieve curation rewards. Rewards return to reward fund.
- `beneficiaries`
  - Must have at least one (empty `beneficiaries` not allowed).
  - Cannot have more than 127 (witness currently only allow up to 8).
  - Cannot allocate more than 100% of rewards to one account.
  - Cannot allocate more than 100% of rewards to a comment.
  - Must be specified in sorted order (account ascending; no duplicates).

##### Roles: `posting active owner`

##### Parameters: `author permlink max_accepted_payout percent_steem_dollars allow_votes allow_curation_rewards extensions`

##### Example Op:

    [
      "comment_options",
      {
        "author": "alice",
        "permlink": "a-post-by-alice",
        "max_accepted_payout": {
          "amount": "1000000",
          "precision": 3,
          "nai": "@@000000013"
        },
        "percent_steem_dollars": 5000,
        "allow_votes": true,
        "allow_curation_rewards": true,
        "extensions": []
      }
    ]

    [
      "comment_options",
      {
        "author": "bob",
        "permlink": "a-post-with-a-beneficiary",
        "max_accepted_payout": {
          "amount": "1000000",
          "precision": 3,
          "nai": "@@000000013"
        },
        "percent_steem_dollars": 63,
        "allow_votes": true,
        "allow_curation_rewards": true,
        "extensions": [
          [
            0,
            {
              "beneficiaries": [{"account": "charlie", "weight": 1000}]
            }
          ]
        ]
      }
    ]

    [
      "comment_options",
      {
        "author": "charlie",
        "permlink": "a-post-with-multiple-beneficiaries",
        "max_accepted_payout": {
          "amount": "1000000",
          "precision": 3,
          "nai": "@@000000013"
        },
        "percent_steem_dollars": 62688,
        "allow_votes": true,
        "allow_curation_rewards": true,
        "extensions": [
          [
            0,
            {
              "beneficiaries": [
                {"account": "david", "weight": 500},
                {"account": "erin", "weight": 500},
                {"account": "faythe", "weight": 1000},
                {"account": "frank", "weight": 500}
              ]
            }
          ]
        ]
      }
    ]

#### `set_withdraw_vesting_route`

Allows an account to setup a vesting withdraw but with the additional request for the funds to be transferred directly to another account’s balance rather than the withdrawing account. In addition, those funds can be immediately vested again, circumventing the conversion from vests to steem and back, guaranteeing they maintain their value.

Notes:

- Percent must be valid steem percent.

##### Roles: `active owner`

##### Parameters: `from_account to_account percent auto_vest`

##### Example Op:

    [
      "set_withdraw_vesting_route",
      {
        "from_account": "alice",
        "to_account": "bob",
        "percent": 10000,
        "auto_vest": true
      }
    ]

#### `limit_order_create2`

This operation is identical to `limit_order_create` except it serializes the price rather than calculating it from other fields. The maximum expiration time for any limit order is 28 days from `head_block_time()`.

##### Roles: `active owner`

##### Parameters: `owner orderid amount_to_sell exchange_rate fill_or_kill expiration`

##### Example Op:

    [
      "limit_order_create2",
      {
        "owner": "alice",
        "orderid": 492991,
        "amount_to_sell": {
          "amount": "1",
          "precision": 3,
          "nai": "@@000000013"
        },
        "exchange_rate": {
          "base": {
            "amount": "1",
            "precision": 3,
            "nai": "@@000000013"
          },
          "quote": {
            "amount": "10",
            "precision": 3,
            "nai": "@@000000021"
          }
        },
        "fill_or_kill": false,
        "expiration": "2017-05-12T23:11:13"
      }
    ]

- Disabled

#### `challenge_authority`

Disabled in HF14.

##### Roles: `posting active owner`

##### Parameters: `challenger challenged require_owner`

#### `prove_authority`

##### Roles: `active owner`

##### Parameters: `challenged require_owner`

- Since: HF11

#### `request_account_recovery`

All account recovery requests come from a listed recovery account. This is secure based on the assumption that only a trusted account should be a recovery account. It is the responsibility of the recovery account to verify the identity of the account holder of the account to recover by whichever means they have agreed upon. The blockchain assumes identity has been verified when this operation is broadcast.

This operation creates an account recovery request which the account to recover has 24 hours to respond to before the request expires and is invalidated.

There can only be one active recovery request per account at any one time. Pushing this operation for an account to recover when it already has an active request will either update the request to a new new owner authority and extend the request expiration to 24 hours from the current head block time or it will delete the request. To cancel a request, simply set the weight threshold of the new owner authority to 0, making it an open authority.

Additionally, the new owner authority must be satisfiable. In other words, the sum of the key weights must be greater than or equal to the weight threshold.

This operation only needs to be signed by the the recovery account. The account to recover confirms its identity to the blockchain in the recover account operation.

Notes:

- `recovery_account`: The recovery account is listed as the recovery account on the account to recover.
- `account_to_recover`: The account to recover. This is likely due to a compromised owner authority.
- `new_owner_authority`: The new owner authority the account to recover wishes to have. This is secret known by the account to recover and will be confirmed in a `recover_account`.

See: #169

##### Roles: `active owner`

##### Parameters: `recovery_account account_to_recover new_owner_authority extensions`

##### Example Op:

    [
      "request_account_recovery",
      {
        "recovery_account": "steem",
        "account_to_recover": "alice",
        "new_owner_authority": {
          "weight_threshold": 1,
          "account_auths": [],
          "key_auths": [
            [
              "STM6LYxj96zdypHYqgDdD6Nyh2NxerN3P1Mp3ddNm7gci63nfrSuZ",
              1
            ]
          ]
        },
        "extensions": []
      }
    ]

- Since: HF11

#### `recover_account`

##### Roles: `owner`

##### Parameters: `account_to_recover new_owner_authority recent_owner_authority extensions`

##### Example Op:

    [
      "recover_account",
      {
        "account_to_recover": "alice",
        "new_owner_authority": {
          "weight_threshold": 1,
          "account_auths": [],
          "key_auths": [
            [
              "STM7j3nhkhHTpXqLEvdx2yEGhQeeorTcxSV6WDL2DZGxwUxYGrHvh",
              1
            ]
          ]
        },
        "recent_owner_authority": {
          "weight_threshold": 1,
          "account_auths": [],
          "key_auths": [
            [
              "STM78Xth94gNxp8nmByFV2vNAhg9bsSdviJ6fQXUTFikySLK3uTxC",
              1
            ]
          ]
        },
        "extensions": []
      }
    ]

- Since: HF11

#### `change_recovery_account`

Each account lists another account as their recovery account. The recovery account has the ability to create `account_recovery_requests` for the account to recover. An account can change their recovery account at any time with a 30 day delay. This delay is to prevent an attacker from changing the recovery account to a malicious account during an attack. These 30 days match the 30 days that an owner authority is valid for recovery purposes.

On account creation the recovery account is set either to the creator of the account (The account that pays the creation fee and is a signer on the transaction) or to the empty string if the account was mined. An account with no recovery has the top voted witness as a recovery account, at the time the recover request is created. Note: This does mean the effective recovery account of an account with no listed recovery account can change at any time as witness vote weights. The top voted witness is explicitly the most trusted witness according to stake.

See: #169

##### Roles: `owner`

##### Parameters: `account_to_recover new_recovery_account extensions`

##### Example Op:

    [
      "change_recovery_account",
      {
        "account_to_recover": "alice",
        "new_recovery_account": "bob",
        "extensions": []
      }
    ]

- Since: HF14

#### `escrow_transfer`

The purpose of this operation is to enable someone to send money contingently to another individual. The funds leave the from account and go into a temporary balance where they are held until from releases it to to or to refunds it to from.

In the event of a dispute the agent can divide the funds between the to/from account. Disputes can be raised any time before or on the dispute deadline time, after the escrow has been approved by all parties.

This operation only creates a proposed escrow transfer. Both the agent and to must agree to the terms of the arrangement by approving the escrow.

The escrow agent is paid the fee on approval of all parties. It is up to the escrow agent to determine the fee.

Escrow transactions are uniquely identified by `from` and `escrow_id`, the `escrow_id` is defined by the sender.

See: steem_operations.hpp:229

##### Roles: `active owner`

##### Parameters: `from to agent escrow_id sbd_amount steem_amount fee ratification_deadline escrow_expiration json_meta`

##### Example Op:

    [
      "escrow_transfer",
      {
        "from": "alice",
        "to": "bob",
        "sbd_amount": {
          "amount": "1000",
          "precision": 3,
          "nai": "@@000000013"
        },
        "steem_amount": {
          "amount": "0",
          "precision": 3,
          "nai": "@@000000021"
        },
        "escrow_id": 23456789,
        "agent": "charlie",
        "fee": {
          "amount": "100",
          "precision": 3,
          "nai": "@@000000013"
        },
        "json_meta": "{}",
        "ratification_deadline": "2017-02-26T11:22:39",
        "escrow_expiration": "2017-02-28T11:22:39"
      }
    ]

- Since: HF14

#### `escrow_dispute`

If either the sender or receiver of an escrow payment has an issue, they can raise it for dispute. Once a payment is in dispute, the agent has authority over who gets what.

See: steem_operations.hpp:229

##### Roles: `active owner`

##### Parameters: `from to agent who escrow_id`

##### Example Op:

    [
      "escrow_dispute",
      {
        "from": "alice",
        "to": "bob",
        "agent": "charlie",
        "who": "alice",
        "escrow_id": 72526562
      }
    ]

- Since: HF14

#### `escrow_release`

This operation can be used by anyone associated with the escrow transfer to release funds if they have permission.

The permission scheme is as follows:

- If there is no dispute and escrow has not expired, either party can release funds to the other.
- If escrow expires and there is no dispute, either party can release funds to either party.
- If there is a dispute regardless of expiration, the agent can release funds to either party following whichever agreement was in place between the parties.

See: steem_operations.hpp:229

##### Roles: `active owner`

##### Parameters: `from to agent who receiver escrow_id sbd_amount steem_amount`

##### Example Op:

    [
      "escrow_release",
      {
        "from": "alice",
        "to": "bob",
        "agent": "charlie",
        "who": "charlie",
        "receiver": "bob",
        "escrow_id": 72526562,
        "sbd_amount": {
          "amount": "5000",
          "precision": 3,
          "nai": "@@000000013"
        },
        "steem_amount": {
          "amount": "0",
          "precision": 3,
          "nai": "@@000000021"
        }
      }
    ]

- Disabled

#### `pow2`

Disabled in HF17.

##### Roles: `active owner`

##### Parameters: `input pow_summary`

##### Example Op:

    [
      "pow2",
      {
        "work": [
          0,
          {
            "input": {
              "worker_account": "alice",
              "prev_block": "003ea604345523c344fbadab605073ea712dd76f",
              "nonce": "1052853013628665497"
            },
            "pow_summary": 3817904373
          }
        ],
        "props": {
          "account_creation_fee": {
            "amount": "1",
            "precision": 3,
            "nai": "@@000000021"
          },
          "maximum_block_size": 131072,
          "sbd_interest_rate": 1000
        }
      }
    ]

- Since: HF14

#### `escrow_approve`

The agent and to accounts must approve an escrow transaction for it to be valid on the blockchain. Once a party approves the escrow, they cannot revoke their approval. Subsequent escrow approve operations, regardless of the approval, will be rejected.

See: steem_operations.hpp:229

##### Roles: `active owner`

##### Parameters: `from to agent who escrow_id approve`

##### Example Op:

    [
      "escrow_approve",
      {
        "from": "alice",
        "to": "bob",
        "agent": "charlie",
        "who": "charlie",
        "escrow_id": 59102208,
        "approve": true
      }
    ]

- Since: HF14

#### `transfer_to_savings`

For time locked savings accounts. A user can place Steem and Steem Dollars into time locked savings balances. Funds can be withdrawn from these balances after a three day delay. The point of this addition is to mitigate loss from hacked and compromised account. The max a user can lose instantaneously is the sum of what the hold in liquid balances. Assuming an account can be recovered quickly, loss in such situations can be kept to a minimum.

See: steem_operations.hpp:868

##### Roles: `active owner`

##### Parameters: `from to amount memo`

##### Example Op:

    [
      "transfer_to_savings",
      {
        "from": "alice",
        "to": "alice",
        "amount": {
          "amount": "1000",
          "precision": 3,
          "nai": "@@000000013"
        },
        "memo": ""
      }
    ]

- Since: HF14

#### `transfer_from_savings`

##### Roles: `active owner`

##### Parameters: `from request_id to amount memo`

##### Example Op:

    [
      "transfer_from_savings",
      {
        "from": "alice",
        "request_id": 101,
        "to": "alice",
        "amount": {
          "amount": "1000",
          "precision": 3,
          "nai": "@@000000013"
        },
        "memo": ""
      }
    ]

- Since: HF14

#### `cancel_transfer_from_savings`

##### Roles: `active owner`

##### Parameters: `from request_id`

##### Example Op:

    [
      "cancel_transfer_from_savings",
      {"from": "alice", "request_id": 1}
    ]

- Since: HF14

#### `custom_binary`

The semmantics for this operation are the same as the `custom_json` operation, but with a binary payload. The json deserialization has a non-trivial cost associated with it. This operation will allow for binary deserialization of plugin operations and should improve overall performance of plugins that chose to use it.

See: steem_operations.hpp:491

##### Roles: `posting active owner`

##### Parameters: `id data`

- Since: HF14

#### `decline_voting_rights`

An account can chose to decline their voting rights after a 30 day delay. This includes voting on content and witnesses. The voting rights cannot be acquired again once they have been declined. This is only to formalize a smart contract between certain accounts and the community that currently only exists as a social contract.

See: steem_operations.hpp:897

##### Roles: `owner`

##### Parameters: `account decline`

##### Example Op:

    [
      "decline_voting_rights",
      {"account": "judy", "decline": true}
    ]

- Since: HF11
- Disabled

#### `reset_account`

This operation allows `recovery_account` to change `account_to_reset`’s owner authority to `new_owner_authority` after 60 days of inactivity.

See: #169

##### Roles: `active owner`

##### Parameters: `reset_account account_to_reset new_owner_authority`

- Since: HF11
- Disabled

#### `set_reset_account`

This operation allows `account` owner to control which account has the power to execute the `reset_account` operation after 60 days.

See: #169

##### Roles: `owner posting`

##### Parameters: `account current_reset_account reset_account`

#### `claim_reward_balance`

##### Roles: `posting active owner`

##### Parameters: `account reward_steem reward_sbd reward_vests`

##### Example Op:

    [
      "claim_reward_balance",
      {
        "account": "alice",
        "reward_steem": {
          "amount": "17",
          "precision": 3,
          "nai": "@@000000021"
        },
        "reward_sbd": {
          "amount": "11",
          "precision": 3,
          "nai": "@@000000013"
        },
        "reward_vests": {
          "amount": "185025103",
          "precision": 6,
          "nai": "@@000000037"
        }
      }
    ]

- Since: HF17

#### `delegate_vesting_shares`

Delegate vesting shares from one account to the other. The vesting shares are still owned by the original account, but content voting rights and resource credit are transferred to the receiving account. This sets the delegation to `vesting_shares`, increasing it or decreasing it as needed (i.e. a delegation of 0 removes the delegation).

When a delegation is removed the shares are placed in limbo for a week to prevent a satoshi of VESTS from voting on the same content twice.

Also see:

- steem_evaluator.cpp:2309

##### Roles: `active owner`

##### Parameters: `delegator delegatee vesting_shares`

##### Example Op:

    [
      "delegate_vesting_shares",
      {
        "delegator": "alice",
        "delegatee": "bob",
        "vesting_shares": {
          "amount": "94599167138276",
          "precision": 6,
          "nai": "@@000000037"
        }
      }
    ]

- Since: HF17
- Deprecated

#### `account_create_with_delegation`

Deprecated as of HF20 If an account creation service would still like to provide a delegation of Steem Power to the accounts they create, they can still follow the account creation operation with an additional call to `delegate_vesting_shares` to add a delegation of SP to the account.

> Instead of paying the entire account creation fee with Steem, creators can now pay a smaller fee (30x less) and delegate some Steem Power for 30 days. The exact amount is 5 * min_fee + STEEM_POWER == 150 * min_fee. You can pay any combination of STEEM and Steem Power along that curve (so long as the minimum fee is paid).

> The witness voted STEEM fee is now the minimum required STEEM fee for delegation. Witnesses should reduce their fee by 30x when the hardfork goes live to preserve the same required fee for an all STEEM account creation.

Also see:

- config.hpp:145
- steem_evaluator.cpp:400

##### Roles: `active owner`

##### Parameters: `fee delegation creator new_account_name owner active posting memo_key json_metadata extensions`

##### Example Op:

    [
      "account_create_with_delegation",
      {
        "fee": {
          "amount": "3000",
          "precision": 3,
          "nai": "@@000000021"
        },
        "delegation": {
          "amount": "0",
          "precision": 6,
          "nai": "@@000000037"
        },
        "creator": "steemit",
        "new_account_name": "alice",
        "owner": {
          "weight_threshold": 1,
          "account_auths": [],
          "key_auths": [
            [
              "STM5Tki3ecCdCCHCjhhwvQvXuKryL2s34Ma6CXsRzntSUTYVYxCQ9",
              1
            ]
          ]
        },
        "active": {
          "weight_threshold": 1,
          "account_auths": [],
          "key_auths": [
            [
              "STM6LUoAA8gCL9tHRz7v9xcwR4ZWD3KDRHP5t1U7UAZHdfanLxyBE",
              1
            ]
          ]
        },
        "posting": {
          "weight_threshold": 1,
          "account_auths": [],
          "key_auths": [
            [
              "STM8anmpHdfVE4AmwsDpcSXpRsydHysEbv6vGJkRQy1d1CC83zeTA",
              1
            ]
          ]
        },
        "memo_key": "STM67RYDyEkP1Ja1jFehJ45BFGA9oHHUnRnYbxKJEtMhVQiHW3S3k",
        "json_metadata": "{}",
        "extensions": []
      }
    ]

- Virtual Operation

#### `fill_convert_request`

Fills when conversion requests with a conversion date before the head block time and then converts them to/from steem/sbd at the current median price feed history price times the premium.

##### Roles: `active owner`

##### Parameters: `owner requestid amount_in amount_out`

- Virtual Operation

#### `author_reward`

##### Roles: `posting active owner`

##### Parameters: `author permlink sbd_payout steem_payout vesting_payout`

- Virtual Operation

#### `curation_reward`

##### Roles: `posting active owner`

##### Parameters: `curator reward comment_author comment_permlink`

- Since: HF17
- Virtual Operation

#### `comment_reward`

See: #774

##### Roles: `posting active owner`

##### Parameters: `author permlink payout`

- Virtual Operation
- Disabled

#### `liquidity_reward`

Deprecated as of HF12, see: #178.

##### Roles: `active owner`

##### Parameters: `owner payout`

- Virtual Operation

#### `interest`

##### Roles: `active owner`

##### Parameters: `owner interest`

##### Example Op:

    [
      "interest",
      {"owner": "alice", "interest": "0.001 SBD"}
    ]

- Since: HF6
- Virtual Operation

#### `fill_vesting_withdraw`

See: #78

##### Roles: `active owner`

##### Parameters: `from_account to_account withdrawn deposited`

##### Example Op:

    [
      "fill_vesting_withdraw",
      {
        "from_account": "alice",
        "to_account": "alice",
        "withdrawn": "0.026475 VESTS",
        "deposited": "0.710 STEEM"
      }
    ]

- Virtual Operation

#### `fill_order`

##### Roles: `posting active owner`

##### Parameters: `current_owner current_orderid current_pays open_owner open_orderid open_pays`

##### Example Op:

    [
      "fill_order",
      {
        "current_owner": "alice",
        "current_orderid": 42896,
        "current_pays": "94.999 SBD",
        "open_owner": "bob",
        "open_orderid": 10001,
        "open_pays": "500.000 STEEM"
      }
    ]

- Since: HF14
- Virtual Operation

#### `shutdown_witness`

When a witness goes offline.

See: #278

##### Roles: `posting active owner`

##### Parameters: `owner`

##### Example Op:

    ["shutdown_witness", {"owner": "alice"}]

- Since: HF14
- Virtual Operation

#### `fill_transfer_from_savings`

##### Roles: `posting active owner`

##### Parameters: `from to amount request_id memo`

- Since: HF9
- Virtual Operation

#### `hardfork`

##### Roles: `posting active owner`

##### Parameters: `hardfork_id`

- Virtual Operation

#### `comment_payout_update`

##### Roles: `posting active owner`

##### Parameters: `author permlink`

- Since: HF17
- Virtual Operation

#### `return_vesting_delegation`

##### Roles: `posting active owner`

##### Parameters: `account vesting_shares`

- Since: HF17
- Virtual Operation

#### `comment_benefactor_reward`

##### Roles: `posting active owner`

##### Parameters: `benefactor author permlink reward`

- Since: HF17
- Virtual Operation

#### `producer_reward`

Witness rewards for block signing are hard to account for. Making these rewards visible will help witnesses and prospective witnesses by providing them with more complete and accurate information to guide their decisions to invest in the platform.

##### Roles: `posting active owner`

##### Parameters: `producer vesting_shares`

##### Example Op:

    [
      "producer_reward",
      {
        "producer": "alice",
        "vesting_shares": "14403.626449 VESTS"
      }
    ]