createwitness - Tron

createwitness. Creates a transaction to register an account as a Super Representative (witness) candidate.

createwitness - tron [Value: 20CU]
Creates a transaction to register an account as a Super Representative (witness) candidate.
Use cases

Use cases

  • Register an account as a Super Representative candidate to receive votes
Constraints

Constraints

  • Requires burning a fixed amount of TRX (currently 9,999 TRX) as a registration fee
  • The returned transaction is unsigned and must be broadcast separately
Get started
Unlock Access to 100+ chains
Boost your app's speed and reliability with dRPC - get your access API key

Language

Request
Examples
curl --request POST \
     --url https://lb.drpc.live/tron/{API-KEY}/wallet/createwitness \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{"owner_address": "TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g", "url": "example", "visible": true}'
Copy
Response
200
{
  "visible": false,
  "txID": "<computed from raw_data>",
  "raw_data": {
    "contract": [
      {
        "parameter": {
          "value": {
            "owner_address": "41dd791d6b49e190062d650e6a23c575510d35f2f9",
            "url":           "68747470733a2f2f747261782e696f"
          },
          "type_url": "type.googleapis.com/protocol.WitnessCreateContract"
        },
        "type": "WitnessCreateContract"
      }
    ],
    "ref_block_bytes": "<latest solidified block at construction time>",
    "ref_block_hash":  "<latest solidified block at construction time>",
    "expiration":      "<timestamp + 60_000>",
    "timestamp":       "<construction moment>"
  },
  "raw_data_hex": "<protobuf encoding of raw_data>"
}
Copy

Request params

idinteger
jsonrpcstring
methodstring
Parametersobject
object
owner_addressstring
[Required] The account address registering as a witness
urlstring
[Required] URL with information about the witness candidate
visibleboolean
When true, addresses/strings are human-readable; when false (default), hex-encoded

Response

200
Creates a transaction to register an account as a Super Representative (witness) candidate.

Response params

object
visibleboolean
Indicates whether addresses in this transaction are represented in base58 format (true) or hex format (false).
txIDstring
The unique transaction hash (transaction ID), computed as the SHA256 of raw_data.
raw_dataobject
The unsigned transaction body containing the contract instruction and blockchain reference data.
object
contractarray_of_objects
The list of contract instructions to be executed by this transaction.
object
parameterobject
The typed payload describing the specific contract call being made.
object
valueobject
The decoded fields of the contract — here, a request to register the account as a new Super Representative candidate.
object
owner_addressstring
[Required] The address of the account applying to become a witness (SR candidate), in hex format.
urlstring
[Required] The candidate's public URL, UTF-8 encoded as a hex string.
type_urlstring
The fully qualified protobuf type identifier describing which contract schema `value` should be decoded with.
typestring
The human-readable name of the contract type being executed (here, WitnessCreateContract).
ref_block_bytesstring
The last two bytes of the reference block number, taken from the latest solidified block at the time the transaction was built, used for replay protection.
ref_block_hashstring
The last eight bytes of the reference block's hash, taken from the same solidified block, paired with ref_block_bytes for replay protection.
expirationinteger
Unix timestamp, in ms, after which this transaction is no longer valid; typically set to the construction timestamp plus 60,000 ms.
timestampinteger
Unix timestamp, in ms, marking the moment the transaction was constructed.
raw_data_hexstring
The hex-encoded protobuf serialization of raw_data, used as the actual payload to sign and broadcast.