Bulk Upload / Migration Tool

The bulk upload tool allows users to create multiple splits and sign for all of them simultaneously.

JSON Template and Variables


type SplitEntry = {
  split_name?: string;
  device_address?: string;
  nft_address?: string;
  payment_mode: 'automatic' | 'manual';
  payment_schedule?: 'daily' | 'weekly' | 'monthly';
  payment_day?: 'mon' | 'tues' | 'wed' | 'thurs' | 'fri' | 'sat' | 'sun'
  payment_date?: number;
  recipients: {
    recipient_id: string?;
    recipient_first_name?: string;
    recipient_last_name?: string;
    recipient_email?: string;
    helium_address?: string;
    solana_address?: string;
    percentage: number;
    pays_split_fees?: boolean;
  }

Breaking down the template and options available.

Split Option Definitions

  • Split Name (optional) - "split_name" This will save a name for your split to identify the contract on the platform easily.

  • Device Address or NFT Address (1 is required) You can choose to either provide the ECC Compact Key of your Helium Device from the original Helium Network or, if you know the Asset ID of your hotspot on the Solana Blockchain, you can provide that. We built the tool to take either so that you could use readily available information if you were looking to migrate your database. If you already have the Solana Asset ID for your hotspot, feel free to use that instead.

  • Payment Mode - "payment_mode" can be set to 'automatic' or 'manual.' Automatic payments allow you to choose additional settings to specify your disbursement schedule. Automatic payments allow you to set your contracts once and never worry about payment logistics until your contract ends. The manual option will not incur a 1.5% fee, but you must manually disburse all your splits.

Automatic Mode

  • Payment Schedule - "payment_schedule" can be set to 'daily', 'weekly', or 'monthly. The following values must be provided once the schedule has been defined.

    • If "payment_schedule" is set to 'daily', no additional variables must be set to coordinate. Daily transactions will be disbursed at 23:59 UTC.

    • If "payment_schedule" is set to 'weekly,' you must specify the "payment_day" field. This can be set to any of the following values:

      • 'mon' | 'tues' | 'wed' | 'thurs' | 'fri' | 'sat' | 'sun'
    • If "payment_schedule" is set to "monthly", you must specify the "payment_date" field. This can be set to any number from 1-31. Any number selected will disburse on that date at 23:59UTC. If the date selected does not take place in the month of the disbursal, it will be disbursed on the month's final day. (Ex. If you select 31, it will split on the 31st of every month, and if there are only 30 days in the month, it will disburse on the 30th)

Manual Mode

  • In manual mode, no additional scheduling fields will be needed. You can omit the "payment_schedule", "payment_date", and "payment_day" fields from the object completely.

Recipient Options

  • The "recipient_id", "recipient_first_name", "recipient_last_name", and "recipient_email" fields are all optional. They allow you to identify your recipient easily. Setting these values will allow you to search for your recipient and the splits they are associated with on the platform.

  • You must specify a "helium_address" or "solana_address" for each recipient. Whichever information you have on hand will work. When a "helium_address" is provided, we convert it to find the associated Solana Wallet Address. If the Solana Wallet Address is provided, we use that value instead.

  • You must specify a "percentage" value to associate with the recipient. All recipient percentages must add up to 100% for the transaction to succeed.

  • The "pays_split_fees" is a value that allows you to define who will cover transaction fees. Some may opt to cover the platform fees on behalf of their customers, while others would like to disburse the fees across the split proportionately. The contract creator has the ability to specify where the fees associated with the platform should come from. Any address with this value set to true will subtract the platform fees from its share of the split contract. The transaction will fail if that recipient does not have at least 1.5% allocated as its share.

You can find a template JSON file here.

Last updated