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
64set_reward_sharing_operationactiveValidators
66pm_oracle_register_operationactivePrediction Markets
67pm_oracle_update_operationactivePrediction Markets
68pm_create_market_operationactivePrediction Markets
69pm_oracle_accept_market_operationactivePrediction Markets
70pm_place_bet_operationactivePrediction Markets
71pm_commit_bet_operationactivePrediction Markets
72pm_reveal_bet_operationactivePrediction Markets
73pm_cancel_bet_operationactivePrediction Markets
74pm_add_liquidity_operationactivePrediction Markets
75pm_withdraw_liquidity_operationactivePrediction Markets
76pm_resolve_market_operationactivePrediction Markets
77pm_no_contest_operationactivePrediction Markets
78pm_dispute_create_operationactivePrediction Markets
79pm_dispute_vote_operationregularPrediction Markets
80pm_dispute_resolve_operationactivePrediction Markets
81pm_transfer_position_operationactivePrediction Markets
82pm_lazy_deposit_operationactivePrediction Markets
83pm_lazy_withdraw_operationactivePrediction Markets
91pm_leverage_open_operationactivePrediction Markets
92pm_leverage_close_operationactivePrediction Markets
93pm_leverage_convert_operationactivePrediction Markets
98pm_dispute_oracle_respond_operationactivePrediction Markets
99pm_unban_operationactivePrediction Markets

IDs are the fixed index in the chain's single operation variant (append-only). Gaps in this table are virtual operations (below) interleaved by ID — e.g. 62–63, 65, 84–90, 94–97, 100.


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
65stakeholder_reward_operationReward-sharing payout to a stakeholderValidators
84pm_batch_settle_operationBatch epoch boundary settledPrediction Markets
85pm_commit_forfeit_operationCommit-reveal escrow forfeited (unrevealed)Prediction Markets
86pm_auto_payout_operationMarket settled (per-market payout marker)Prediction Markets
87pm_dispute_finalize_operationCommittee vote talliedPrediction Markets
88pm_dispute_auto_close_operationDispute anti-freeze auto-closePrediction Markets
89pm_oracle_missed_penalty_operationOracle missed resolution deadlinePrediction Markets
90pm_lazy_recall_operationLazy-pool graduated recall stepPrediction Markets
94pm_leverage_liquidate_operationLeveraged position liquidatedPrediction Markets
95pm_leverage_resolve_operationLeveraged position settled at resolutionPrediction Markets
96pm_market_accepted_operationMarket went live (oracle accepted / self / auto)Prediction Markets
97pm_payout_operationPer-bettor parimutuel payoutPrediction Markets
100pm_ban_expired_operationTemporary oracle/creator ban lapsedPrediction Markets

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.