Skip to main content
Version: testnet (v0.77)

Transfer assets

Transfer assets to keys or accounts

Use transfers to move assets from one Vega key to another, or from a Vega key to a specific account, such as to supply assets to a reward pool.

Transfers from certain accounts need to be proposed through governance, because moving assets to/from those asset pools needs to be agreed by the community.

Anyone with a Vega public key and assets can set up a transfer. Those transfers can only be done from a general account the party has control of, using their own funds. Anyone with a Vega public key and enough VEGA tokens can propose assets be transferred from those specific network accounts.

Transfers can incur a fee. How much you pay depends on if you've already paid or accrued trading fee revenue in past epochs. The trading fees you've paid or accrued act like a discount balance that's subtracted from with every transfer. If you use up your fee discount balance, you'll pay the full transfer fee amount.

The un-discounted amount is set by the network parameter 🔗transfer.fee.factor: 0.01. The fee amount is a proportion of the total transfer amount. The fee's subtracted immediately on execution, and is taken on top of the transfer amount.

The fee is paid to the validators who run the network infrastructure.

Governance-initiated transfers don't incur a fee.

Transfers can be set up to happen only once, or can happen repeatedly.

Transfer limits

One-off transfers

A one-off transfer can happen immediately (as soon as it is validated), or be set to happen at a specific time. When you set a delay, the transfer funds are removed from the account immediately and stored in a pool, and then distributed to the destination account once the time you chose is reached.

Recurring transfers

A party can also set up, or depending on the account propose via governance, recurring transfers that will happen at the end of each epoch, and before the next one starts.

A recurring transfer transaction needs to contain the following:

  • How much is available to transfer
  • The starting epoch for the transfer
  • Optional: the end epoch when the transfers should stop. If it's not specified, the transfer run until cancelled
  • The percentage of the full amount to pay each epoch, which is defined using the factor - a decimal
    • The amount paid at the end of each epoch is calculated using the following formula: amount = start amount x factor ^ (current epoch - start epoch)
  • Optional: When used to fund a reward pool, the distribution method - pro-rata or based on rank
  • Optional: How often the reward should be paid out, if not once per epoch, known as the transfer interval

Recurring transfer limits

While a party (public key) can have multiple transfers set up to move assets to different accounts, each party can only have one recurring transfer between two given accounts at the same time. For example, a party can transfer from their general account to Public Key A and Public Key B, but they cannot set up two recurring transfers of different amounts both going to Public Key B.

Cancel or amend transfers

It's possible to cancel a recurring transfer, but not to amend. If you want to change your transfer, you'll need to cancel the existing transfer and submit a new one. Transfers initiated by governance will need to be cancelled by submitting a proposal to cancel the transfer.

If the asset used to fund a recurring transfer is depleted, either because the funds have run out or it's less than the 🔗transfer.minTransferQuantumMultiple: 100 x quantum, then the transfer is cancelled automatically. You'll have to set up a new transfer if you want to keep funding the key/account.

Governance-initiated transfers

Assets being moved out of certain accounts requires community support, through a governance proposal and vote. Generally speaking, they're accounts that have assets moved into them after markets are settled, because of market protection movements, or entirely funded by community members that transfer assets into them.

The proposals give community members a chance to determine what they think the assets should be spent on, whether that's to fund trading or validator rewards, to move money from insurance pools into network treasury accounts, or for other purposes.

Governance-initiated transfers can be one-off or recurring, unless the transfer is to fund rewards; those can only be set to recur. A recurring transfer can only be cancelled when a governance proposal to cancel it is submitted and passes the governance vote.

The table below details which types of transfers need to be done using a governance proposal and vote.

Source account typeDestination account typeProposal required
Network treasury accountParty general accountYes
Network treasury accountReward accountYes
Network treasury accountParty other account typesNo
Network treasury accountMarket insurance pool accountYes
Network treasury accountAsset insurance pool accountYes
Network treasury accountNetwork treasuryNo
Network treasury accountAny other accountNo
Asset insurance pool accountParty general accountYes
Asset insurance pool accountNetwork treasuryYes
Asset insurance pool accountMarket insurance pool accountYes
Asset insurance pool accountReward accountYes
Asset insurance pool accountAny other accountNo
Market insurance pool accountParty general accountYes
Market insurance pool accountNetwork treasuryYes
Market insurance pool accountAsset insurance pool accountYes
Market insurance pool accountMarket insurance pool accountYes
Market insurance pool accountAny other accountNo
Market insurance pool accountReward accountYes
Global reward accountAny other accountYes
Party account (any type)AnyNo
Any other accountAnyNo