Skip to content

Operations Overview

VIZ Ledger operations are the atomic state-changing actions included in transactions. Every operation is serialized as a 2-element array [type_id, object] inside a signed transaction.


Regular Operations

These are user-initiated operations that can be broadcast to the network.

IDOperationAuth levelReference
0vote_operation (deprecated)regularContent
1content_operation (deprecated)regularContent
2transfer_operationactive (VIZ) / master (SHARES)Transfers
3transfer_to_vesting_operationactiveTransfers
4withdraw_vesting_operationactiveTransfers
5account_update_operationmaster / activeAccounts
6validator_update_operationactiveValidators
7account_validator_vote_operationactiveValidators
8account_validator_proxy_operationactiveValidators
9delete_content_operation (deprecated)regularContent
10custom_operationactive / regularContent
11set_withdraw_vesting_route_operationactiveTransfers
12request_account_recovery_operationactiveRecovery
13recover_account_operationmaster (×2)Recovery
14change_recovery_account_operationmasterRecovery
15escrow_transfer_operationactiveEscrow
16escrow_dispute_operationactiveEscrow
17escrow_release_operationactiveEscrow
18escrow_approve_operationactiveEscrow
19delegate_vesting_shares_operationactiveTransfers
20account_create_operationactiveAccounts
21account_metadata_operationregularAccounts
22proposal_create_operationactiveProposals
23proposal_update_operationvariesProposals
24proposal_delete_operationactiveProposals
25chain_properties_update_operationactiveValidators
35committee_worker_create_request_operationregularCommittee
36committee_worker_cancel_request_operationregularCommittee
37committee_vote_request_operationregularCommittee
43create_invite_operationactiveInvites
44claim_invite_balance_operationactiveInvites
45invite_registration_operationactiveInvites
46versioned_chain_properties_update_operationactiveValidators
47award_operationregularAwards
50set_paid_subscription_operationactiveSubscriptions
51paid_subscribe_operationactiveSubscriptions
54set_account_price_operationmasterAccount Market
55set_subaccount_price_operationmasterAccount Market
56buy_account_operationactiveAccount Market
58use_invite_balance_operationactiveInvites
60fixed_award_operationregularAwards
61target_account_sale_operationmasterAccount Market

Virtual Operations

Virtual operations are generated by the blockchain itself during block processing. They are never broadcast by users — they appear in account history and block data for informational purposes only.

IDOperationTriggerReference
26author_reward_operationContent payoutVirtual Ops
27curation_reward_operationContent payoutVirtual Ops
28content_reward_operationContent payoutVirtual Ops
29fill_vesting_withdraw_operationWithdrawal interval firesVirtual Ops
30shutdown_validator_operationValidator deactivatedVirtual Ops
31hardfork_operationHardfork activationVirtual Ops
32content_payout_update_operationContent payout updateVirtual Ops
33content_benefactor_reward_operationContent payoutVirtual Ops
34return_vesting_delegation_operationDelegation return window endsVirtual Ops
38committee_cancel_request_operationCommittee request expiresVirtual Ops
39committee_approve_request_operationCommittee request approvedVirtual Ops
40committee_payout_request_operationCommittee payout processedVirtual Ops
41committee_pay_request_operationCommittee worker paidVirtual Ops
42validator_reward_operationBlock producedVirtual Ops
48receive_award_operationAward receivedVirtual Ops
49benefactor_award_operationAward with beneficiaryVirtual Ops
52paid_subscription_action_operationSubscription paymentVirtual Ops
53cancel_paid_subscription_operationSubscription cancelled/expiredVirtual Ops
57account_sale_operationAccount soldVirtual Ops
59expire_escrow_ratification_operationEscrow deadline missedVirtual Ops
62bid_operationAuction bid placedVirtual Ops
63outbid_operationAuction outbidVirtual Ops

Transaction Construction

json
{
  "ref_block_num": 12345,
  "ref_block_prefix": 678901234,
  "expiration": "2024-01-15T12:01:00",
  "operations": [
    [2, { "from": "alice", "to": "bob", "amount": "1.000 VIZ", "memo": "" }]
  ],
  "extensions": [],
  "signatures": ["1f2a3b..."]
}
  • ref_block_num = head_block_number & 0xFFFF
  • ref_block_prefix = bytes 4–7 of block_id as little-endian uint32
  • expiration = current UTC time + TTL (max recommended: 60 seconds)
  • Sign: sha256(chain_id || serialized_tx) → compact secp256k1 ECDSA signature

See also: Data Types, Virtual Operations, JSON-RPC API.