Belong.net Logo
MCP Cheat Sheet

MCP Tools — Vesting

Tools for deploying and managing vesting wallets for LONG tokens on EVM chains.

deploy-vesting-wallet

Description: Returns transaction parameters for deploying a time-locked vesting contract for LONG tokens. The transaction must be executed on the frontend by the user's wallet. The user must have sufficient LONG tokens and approve the factory contract before calling this tool.

Important Requirements:

  • User's wallet (walletAddress) must have at least totalAllocation LONG tokens
  • User's wallet must approve the factory contract for totalAllocation amount
  • The transaction is executed on the frontend, not by the backend
  • Backend only provides the signature and transaction parameters
  • Input:
    {
      vestingWalletInfo: {
        startTimestamp: number,           // Start time of vesting (Unix timestamp)
        cliffDurationSeconds: number,     // Cliff period duration in seconds
        durationSeconds: number,          // Total vesting duration in seconds
        beneficiary: string,              // Address receiving vested tokens
        totalAllocation: number,          // Total tokens to vest (human-readable format, e.g., 2 for 2 tokens)
        tgeAmount: number,                // Tokens released at TGE (human-readable format, e.g., 0.5)
        linearAllocation: number,         // Tokens released linearly (human-readable format, e.g., 1.5)
        description: string,              // Description of vesting contract
        // Note: token address is automatically resolved from LONG token on the specified chain
      },
      chainId: number,                    // EVM chain ID
      walletAddress: string,               // User's wallet address (will be owner and msg.sender)
    }
    
  • Output:
    {
      address: string,                    // Factory contract address
      address_token: string,             // LONG token address
      method: object,                    // ABI method details for deployVestingWallet
      params: [                          // Transaction parameters
        string,                          // walletAddress (owner)
        {
          startTimestamp: string,       // Start timestamp (BigInt as string)
          cliffDurationSeconds: string,  // Cliff duration (BigInt as string)
          durationSeconds: string,      // Duration (BigInt as string)
          token: string,                 // Token address
          beneficiary: string,           // Beneficiary address
          totalAllocation: string,       // Total allocation (BigInt as string, in wei)
          tgeAmount: string,             // TGE amount (BigInt as string, in wei)
          linearAllocation: string,      // Linear allocation (BigInt as string, in wei)
          description: string,          // Description
        },
        {
          nonce: string,                 // Signature nonce (BigInt as string)
          deadline: string,              // Signature deadline (BigInt as string)
          signature: string,             // Backend signature (hex string)
        }
      ],
      totalAllocationApprove: string,    // Total allocation in wei (for approve check)
    }
    

Note:

  • The response contains transaction parameters that must be executed on the frontend
  • All BigInt values are converted to strings for JSON compatibility
  • The backend creates a signature, but the transaction is sent from the user's wallet
  • The user's wallet must have tokens and approve before executing the transaction

Important:

  • Token amounts (totalAllocation, tgeAmount, linearAllocation) should be specified in human-readable format (e.g., 2 for 2 tokens). The system automatically converts them to wei (18 decimals) for LONG tokens.
  • The token field is automatically resolved from the LONG token address on the specified chain and should not be included in the request.
  • Requires admin authentication (UserRole.admin).
  • User Requirements: The walletAddress must have at least totalAllocation LONG tokens and must approve the factory contract.
  • Transaction Execution: The transaction is executed on the frontend from the user's wallet, not by the backend.
  • Allocation Balance: tgeAmount + linearAllocation + tranches must equal totalAllocation before finalization.
Copyright © 2026