Vested Transfers
xx Coins can be transferred between accounts on a release schedule that unlocks a constant number of tokens at each block. This is known as a Vested Transfer.
Vesting transfers are often preferred over regular balance transfers for transferring funds for bounties, sales, etc. When using a vested transfer, the recipient receives xx coins that cannot be transferred but can be used in other parts of the protocol such as voting in governance or being staked as a validator or nominator.
This page explains how to perform Vested Transfers on the xx network Blockchain using the xx network Web Wallet.
Procedure
- In the xx network Web Wallet, navigate to Developer > Extrinsics or click this direct link to Extrinsics
Select Sending Account ID
- In the field labeled
using the selected account, select the sending account ID.
Select Extrinsic Type

- In the field labeled
submit the following extrinsic, select "vesting".

- Next select
vestedTransfer(target, schedule).

Select Receiving Account ID
- In the field labeled
Id: AccountId, select the receiving account ID.

Input Schedule and Vesting Info
- In the filed labeled
locked: u128, enter the total amount of xx to be transferred. See Formulas - In the field labeled
perBlock: u128, enter the amount of xx to be transferred per block. See Formulas - In the field labeled
startingBlock: u32, enter the block at which the transfers will start. See Formulas
Submit and Authorize Transaction
- Click the "Submit Transaction" button.
- Authorize the transaction by entering the sending account password and clicking "Sign and Submit"
Formulas
schedule: PalletVestingVestingInfo.Calculate locked
- Formula:
Amount of XX * (10^9) - Example:
- To vest 100 XX
- Calculate: 100 * 1,000,000,000
- Enter: 100,000,000,000
Calculate perBlock
-
First, determine your vesting period:
- 1 month ≈ 438,000 blocks
- 6 months ≈ 2,628,000 blocks
- 1 year ≈ 5,256,000 blocks
-
Calculate per block amount:
- Formula:
(Locked Amount) / (Number of Blocks) - Example for 100 XX over 1 year:
- 100,000,000,000 / 5,256,000
- Enter: 19,025
- Formula:
Calculate startingBlock
⚠️ Do NOT use 0 (zero) as starting block as this causes immediate vesting.
- First, determine the current block:
- The current block is displayed in the upper left of the Web Wallet interface.
- See the previous image. It has been highlighted in a RED box.
- Calculate starting block:
- Formula:
current block + desired delayin blocks - Example delays:
- 1 hour delay = current block + 600
- 1 day delay = current block + 14,400
- 1 week delay = current block + 100,800
- Formula:
Example Vesting Schedules
6-Month Vesting
- Locked: 100,000,000,000
- Per Block: 38,050
- Starting Block: [current block + desired delay]
1-Year Vesting
- Locked: 100,000,000,000
- Per Block: 19,025
- Starting Block: [current block + desired delay]
2-Year Vesting
- Locked: 100,000,000,000
- Per Block: 9,512
- Starting Block: [current block + desired delay]
Tips
- Always double-check your calculations
- Test with a small amount first
- Recipient cannot transfer vested tokens until they are unlocked
Support
If you need assistance, you can:
- Ask for help in the xx network Discord Server or the xx network Forum
- Check the xx network Documentation