9. Asset Transfers

For various reasons, users may wish to transfer their assets from one wallet to another, for example, to send assets as gifts.

Initialize SDK

  • You need to initialize the SDK in order to use it.

Create transfer

  • All NFT transactions will be confirmed by Zecrey. Zecrey will ensure that it is submitted to L1 once the transaction is confirmed.

    • Parameters needed:


      Parameter usage and meaning

      Required vs Optional


      The account name used to initialize the client


      The user's L2 seed used to initialize the client


      The receiver's account name



  • TransferNft allows users to change the owner of NFT. However, the creator of the NFT will never change. Each time an NFT is transferred, the creator will receive a royalty, which is calculated by the NFT's TreasuryRate set by its creator.

  • Alice transfers to Bob the NFT with NftId = 6

    1. Initialize the client

    2. Transfer the NFT to Bob

package main

import (

func main() {
    var NftId int64 = 6
    accountName := "Alice"
    seed := "0x6a1a320d14790f2d9aa9a37769f4833d583a3f7f974fd452a3990aeb0e7a6052"
    toAccountName := "Bob"
    c, err := sdk.NewClient(accountName, seed) 	 
    if err != nil { panic(err) }
    result, err := c.TransferNft(NftId, toAccountName)
    if err != nil { panic(err) }
    data, _ := json.Marshal(result)
    fmt.Println("TransferNft:", string(data))

Example result

TransferNft: {"success":true}

Last updated