“Coupon Mint” for Data Uploads
Short explanation:
Create Ethereum addresses funded with ANT and use them as upload coupons that you can give to friends, family, or use as prizes in marketing campaigns. Each address acts like a prepaid balance with a fixed amount of ANT (1, 2, 5, 10, 100 ANT, etc.).
How it works
- You generate separate seed phrases → each creates a unique Ethereum address.
- You direct your nodes to fund those addresses with small ANT amounts.
- Each funded address becomes a coupon with a “denomination” (1, 2, 5, 10, 100 ANT).
- You give people the seed phrase → they import it in their wallet → they can upload data using that ANT whit Dave and Paymaster activated.
- This makes it easy to share small upload balances for fun, tests, gifts, or marketing events.
You can generate these seed phrases however you like. I’m sharing a working example script created with ChatGPT, but it’s just for convenience — feel free to use your own method.
#!/usr/bin/env python3
"""
Generates N mnemonics and corresponding Ethereum addresses.
Saves everything in a CSV file: mnemonic, eth_address
Requirements: pip install bip-utils
"""
import csv
import argparse
from bip_utils import (
Bip39MnemonicGenerator, Bip39WordsNum, Bip39SeedGenerator,
Bip44, Bip44Coins, Bip44Changes
)
def generate_one_pair(words_num=12):
# Generate mnemonic
mnemonic = Bip39MnemonicGenerator().FromWordsNumber(
Bip39WordsNum.WORDS_NUM_12 if words_num == 12 else Bip39WordsNum.WORDS_NUM_24
)
# Generate seed
seed_bytes = Bip39SeedGenerator(mnemonic).Generate()
# BIP44 → Ethereum → first address
bip44_ctx = Bip44.FromSeed(seed_bytes, Bip44Coins.ETHEREUM)
acct = bip44_ctx.Purpose().Coin().Account(0).Change(Bip44Changes.CHAIN_EXT).AddressIndex(0)
eth_address = acct.PublicKey().ToAddress()
return str(mnemonic), eth_address
def main():
parser = argparse.ArgumentParser(description="Generate N ETH addresses and save to CSV.")
parser.add_argument("-n", "--number", type=int, default=10, help="Number of addresses to generate")
parser.add_argument("-w", "--words", type=int, choices=[12, 24], default=12,
help="Number of words in mnemonic (12 or 24)")
parser.add_argument("-o", "--output", default="eth_wallets.csv",
help="CSV output file name")
args = parser.parse_args()
print(f"Generating {args.number} mnemonics + ETH addresses…")
rows = []
for _ in range(args.number):
mnemonic, address = generate_one_pair(words_num=args.words)
rows.append([mnemonic, address])
# Save to CSV
with open(args.output, "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerow(["Mnemonic (BIP-39)", "Ethereum Address"])
writer.writerows(rows)
print(f"\nDone! Saved to: {args.output}\n")
if __name__ == "__main__":
main()
Instructions for Linux
- Install Python dependencies (if not already installed):
pip install bip-utils
- Save the script as
generate_eth_wallets.py. - Make it executable (optional):
chmod +x generate_eth_wallets.py
- Run the script:
# Generate 10 wallets with 12-word mnemonics (default)
./generate_eth_wallets.py
# Generate 50 wallets with 24-word mnemonics and custom output file
./generate_eth_wallets.py -n 50 -w 24 -o my_eth_wallets.csv
- Result:
A CSV file (eth_wallets.csvby default) will be created with two columns:
- Mnemonic (BIP-39)
- Ethereum Address
Check out the Impossible Futures!
