When transferring funds to a non-revealed Tezos account, one must pay a "reveal fee".
- What is the optimal value to use for this fee?
- Or is this a fixed amount?
- What would be the adequate fee for a reveal operation?
Tezos Stack Exchange is a question and answer site for users, experts, and developers of the Tezos blockchain project. It only takes a minute to sign up.
Sign up to join this communityThe question as stated confuses different things.
A "reveal" operation is an operation that writes on the chain the public key associated with a public key hash for an implicit account. The fee associated with this operation is up for the sender to decide, though most bakers implement default minimum fees (in this case it is currently 1267µꜩ).
The creation of a new account by sending tokens to an implicit address is not a "reveal" operation as the public key needs not be known in this operation. However, it does trigger the creation of an implicit account on the chain. Storage cost has to be paid, and it is not a part of the transaction fee. It is deducted directly from the account making the transaction, though it is subject to a cap specified by the sender. The default value for the storage cost incurred is indeed 0.257 XTZ.
The fee for adding a new account to the global state (--burn-cap
with tezos-client
) is 0.257 XTZ.
The origination burn is calculated as Tez_repr.(cost_per_byte *? (Int64.of_int origination_size))
.
cost_per_byte
is 0.001 XTZ. It is 1000 mutez and 1,000,000 mutez == 1 tez
.
origination_size
is 257.
Due to that the resulting cost for an origination of a completely new account is 257,000 mutez or 0.257 tez.
This is defined in proto_alpha/lib_protocol/fee_storage.ml
, proto_alpha/lib_protocol/constants_repr.ml
, and proto_alpha/lib_protocol/qty_repr.ml
In athens (proto004) the updated fees are available here
https://github.com/keefertaylor/TezosKit/blob/master/docs/AthensProtocolFees.md