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.
| ID | Operation | Auth level | Reference |
|---|---|---|---|
| 0 | vote_operation (deprecated) | regular | Content |
| 1 | content_operation (deprecated) | regular | Content |
| 2 | transfer_operation | active (VIZ) / master (SHARES) | Transfers |
| 3 | transfer_to_vesting_operation | active | Transfers |
| 4 | withdraw_vesting_operation | active | Transfers |
| 5 | account_update_operation | master / active | Accounts |
| 6 | validator_update_operation | active | Validators |
| 7 | account_validator_vote_operation | active | Validators |
| 8 | account_validator_proxy_operation | active | Validators |
| 9 | delete_content_operation (deprecated) | regular | Content |
| 10 | custom_operation | active / regular | Content |
| 11 | set_withdraw_vesting_route_operation | active | Transfers |
| 12 | request_account_recovery_operation | active | Recovery |
| 13 | recover_account_operation | master (×2) | Recovery |
| 14 | change_recovery_account_operation | master | Recovery |
| 15 | escrow_transfer_operation | active | Escrow |
| 16 | escrow_dispute_operation | active | Escrow |
| 17 | escrow_release_operation | active | Escrow |
| 18 | escrow_approve_operation | active | Escrow |
| 19 | delegate_vesting_shares_operation | active | Transfers |
| 20 | account_create_operation | active | Accounts |
| 21 | account_metadata_operation | regular | Accounts |
| 22 | proposal_create_operation | active | Proposals |
| 23 | proposal_update_operation | varies | Proposals |
| 24 | proposal_delete_operation | active | Proposals |
| 25 | chain_properties_update_operation | active | Validators |
| 35 | committee_worker_create_request_operation | regular | Committee |
| 36 | committee_worker_cancel_request_operation | regular | Committee |
| 37 | committee_vote_request_operation | regular | Committee |
| 43 | create_invite_operation | active | Invites |
| 44 | claim_invite_balance_operation | active | Invites |
| 45 | invite_registration_operation | active | Invites |
| 46 | versioned_chain_properties_update_operation | active | Validators |
| 47 | award_operation | regular | Awards |
| 50 | set_paid_subscription_operation | active | Subscriptions |
| 51 | paid_subscribe_operation | active | Subscriptions |
| 54 | set_account_price_operation | master | Account Market |
| 55 | set_subaccount_price_operation | master | Account Market |
| 56 | buy_account_operation | active | Account Market |
| 58 | use_invite_balance_operation | active | Invites |
| 60 | fixed_award_operation | regular | Awards |
| 61 | target_account_sale_operation | master | Account 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.
| ID | Operation | Trigger | Reference |
|---|---|---|---|
| 26 | author_reward_operation | Content payout | Virtual Ops |
| 27 | curation_reward_operation | Content payout | Virtual Ops |
| 28 | content_reward_operation | Content payout | Virtual Ops |
| 29 | fill_vesting_withdraw_operation | Withdrawal interval fires | Virtual Ops |
| 30 | shutdown_validator_operation | Validator deactivated | Virtual Ops |
| 31 | hardfork_operation | Hardfork activation | Virtual Ops |
| 32 | content_payout_update_operation | Content payout update | Virtual Ops |
| 33 | content_benefactor_reward_operation | Content payout | Virtual Ops |
| 34 | return_vesting_delegation_operation | Delegation return window ends | Virtual Ops |
| 38 | committee_cancel_request_operation | Committee request expires | Virtual Ops |
| 39 | committee_approve_request_operation | Committee request approved | Virtual Ops |
| 40 | committee_payout_request_operation | Committee payout processed | Virtual Ops |
| 41 | committee_pay_request_operation | Committee worker paid | Virtual Ops |
| 42 | validator_reward_operation | Block produced | Virtual Ops |
| 48 | receive_award_operation | Award received | Virtual Ops |
| 49 | benefactor_award_operation | Award with beneficiary | Virtual Ops |
| 52 | paid_subscription_action_operation | Subscription payment | Virtual Ops |
| 53 | cancel_paid_subscription_operation | Subscription cancelled/expired | Virtual Ops |
| 57 | account_sale_operation | Account sold | Virtual Ops |
| 59 | expire_escrow_ratification_operation | Escrow deadline missed | Virtual Ops |
| 62 | bid_operation | Auction bid placed | Virtual Ops |
| 63 | outbid_operation | Auction outbid | Virtual 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 & 0xFFFFref_block_prefix= bytes 4–7 ofblock_idas little-endianuint32expiration= 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.