Live Demo β’ Features β’ Smart Contract β’ Installation β’ Usage Guide β’ Documentation
GravityMultiSender is an advanced, user-friendly web application built specifically for the Gravity blockchain ecosystem. It enables users to send native G tokens or any ERC-20 tokens to multiple addresses simultaneously in a single transaction, drastically reducing gas costs and transaction times.
This tool is essential for:
- Token project teams distributing airdrops
- DAOs distributing rewards to members
- Companies paying salaries or bonuses in cryptocurrency
- Marketers distributing promotional tokens
- Any organization needing efficient mass token distribution
|
|
|
|
Experience GravityMultiSender now at gravitymultisender.xyz
The MultiSender smart contract is the backbone of this application, providing secure and efficient token distribution functionality on the Gravity blockchain.
- Address:
0xc96928ECcC15D4Af06f4277D8D291384fB47133a - Network: Gravity Alpha Mainnet
- Compiler Version: Solidity 0.8.26
- Contract Type: Non-upgradeable
- License: MIT
// Send native G tokens to multiple recipients in one transaction
function multiSendNative(
address[] calldata recipients,
uint256[] calldata amounts
) external payable
// Send ERC-20 tokens to multiple recipients in one transaction
function multiSendToken(
address token,
address[] calldata recipients,
uint256[] calldata amounts
) external
// Calculate tax amount for a given value
function calculateTax(uint256 amount) public pure returns (uint256)- Error Handling: Comprehensive custom errors with descriptive messages
- Reentrancy Protection: Function logic prevents reentrancy attacks
- Input Validation: Thorough validation of all function parameters
- Gas Optimization: Uses unchecked blocks and other gas optimization techniques
- Emergency Recovery: Functions to recover accidentally sent tokens or ETH (owner only)
The contract applies a modest 1% service fee on all transactions. This fee:
- Supports ongoing development and maintenance
- Ensures long-term sustainability of the service
- Helps fund new features and improvements
- Secures the infrastructure for reliable operation
GravityMultiSender is built with a modern, scalable tech stack designed for performance and reliability:
| Layer | Technologies |
|---|---|
| Frontend |
|
| Web3 Integration |
|
| Data Handling |
|
| Smart Contract |
|
| Network |
|
Follow these steps to set up GravityMultiSender for local development:
- Node.js (v16.0.0 or higher)
- npm (v7.0.0 or higher) or yarn (v1.22.0 or higher)
- Git
- Clone the repository
git clone https://github.com/yourusername/GravityMultiSender.git
cd GravityMultiSender- Install dependencies
# Using npm
npm install
# Using yarn
yarn install- Start the development server
# Using npm
npm run dev
# Using yarn
yarn dev- Access the application
Open your browser and navigate to http://localhost:5173
Create a .env file in the root directory with the following variables:
VITE_PROJECT_ID=your_wallet_connect_project_id
VITE_EXPLORER_URL=https://explorer.gravity.xyz
VITE_RPC_URL=https://rpc.gravity.xyz
- Navigate to gravitymultisender.xyz
- Click the "Connect Wallet" button in the top-right corner
- Select your preferred wallet provider (MetaMask, WalletConnect, etc.)
- Confirm the connection in your wallet
- The application will automatically detect if you're on the Gravity Alpha Mainnet
- If you're on a different network, you'll be prompted to switch networks
You have two options for entering your recipient list:
-
Create a CSV file with the following format:
0x1234567890123456789012345678901234567890,1.5 0x2345678901234567890123456789012345678901,2.75 0x3456789012345678901234567890123456789012,0.5Each line should contain an address and amount separated by a comma.
-
Drag and drop your CSV file onto the upload area, or click "Choose File" to select it
- Enter your recipient list directly in the text area using the same format:
0x1234567890123456789012345678901234567890,1.5 0x2345678901234567890123456789012345678901,2.75 0x3456789012345678901234567890123456789012,0.5
-
Once your recipient list is loaded, review the transaction summary:
- Total number of recipients
- Total token amount
- Service fee (1%)
- Number of batches (if applicable)
-
Click "Preview Transactions" to review the detailed list of recipients
-
Click "Send Tokens" to initiate the transaction
-
Confirm the transaction in your wallet (you'll need to confirm once per batch if you have more than 200 recipients)
-
Track the transaction status in real-time:
- Transaction preparation
- Pending transaction
- Transaction confirmation
- Success or failure notification
-
You can view transaction details in the block explorer by clicking the transaction hash or "View on Explorer" link
For optimal results, follow these guidelines for your CSV file:
- Column Structure: Two columns - address and amount
- Delimiters: Comma-separated values (
,) - Addresses: Must be valid Ethereum addresses (42 characters starting with
0x) - Amounts: Must be positive numbers (decimal values allowed)
- Headers: No header row required (will be automatically detected and skipped if present)
0x1234567890123456789012345678901234567890,1.5
0x2345678901234567890123456789012345678901,2.75
0x3456789012345678901234567890123456789012,0.5
You can also include headers and additional data if needed:
address,amount,note
0x1234567890123456789012345678901234567890,1.5,Team member bonus
0x2345678901234567890123456789012345678901,2.75,Marketing reward
0x3456789012345678901234567890123456789012,0.5,Community prize
Note: Only the first two columns (address and amount) will be processed. Additional columns will be ignored.
We welcome contributions from the community! Here's how you can help:
- Fork the repository
- Create your feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add some amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow the existing code style
- Write clear, commented, and testable code
- Include unit tests for new features
- Update documentation as needed
- Issues are tracked on GitHub
- Pull requests require review before merging
- Continuous integration checks must pass
This project is licensed under the MIT License - see the LICENSE file for details.
What is the maximum number of recipients in a single transaction?
The MultiSender contract limits each batch to 200 recipients to prevent gas limit issues. If you have more than 200 recipients, the application will automatically split them into multiple batches.
Is there a fee for using GravityMultiSender?
Yes, the service charges a 1% fee on all transactions to support ongoing development and maintenance of the platform.
Can I send ERC-20 tokens?
Yes, GravityMultiSender supports both native G tokens and any ERC-20 token on the Gravity blockchain.
How do I know my transaction was successful?
The application provides real-time status updates and confirms when transactions are completed. You can also verify all transactions on the Gravity Explorer using the provided links.
Do I need to approve tokens before sending?
Yes, for ERC-20 tokens, you'll need to approve the MultiSender contract to spend your tokens. The application will guide you through this process when needed.
- Website: gravitymultisender.xyz
- Email: hanifmaulana1997@gmail.com
- Twitter: @isaac_newton252
- Telegram: t.me/isaacnewton1234
- Github Issues: Report bugs or request features
Β© 2025 GravityMultiSender - All rights reserved