moonfun_sdk
Python SDK for BSC enabling creation of AI-generated Meme tokens with stable minting and experimental token trading (buy/sell) features.
Description
MoonfunSDK - BSC Meme Token Creation Tool
Professional Python SDK for creating and trading Meme tokens on Binance Smart Chain with AI-powered image generation.
Overview
MoonfunSDK enables automated creation of Meme tokens with AI-generated images on BSC. The SDK handles image generation, platform integration, and blockchain transactions through a simple Python interface.
Installation
pip install moonfun-sdk
Requirements:
- Python 3.8+
- BNB balance ≥ 0.011 (0.01 creation fee + gas)
Quick Start
import os
from moonfun_sdk import MoonfunSDK
# Initialize with private key
sdk = MoonfunSDK(private_key=os.getenv('PRIVATE_KEY'))
# Create Meme token
result = sdk.create_meme(prompt="A happy cat celebrating")
print(f"Token: {result['token_address']}")
print(f"View: https://moonn.fun/detail?address={result['token_address']}")
Core Features
Token Creation (Stable)
- AI-generated meme images
- Automatic title and symbol generation
- One-function deployment to BSC
- Integrated with MoonnFun platform
Token Trading (Experimental)
- Buy tokens with BNB
- Sell tokens for BNB
- Automatic slippage handling
- Balance queries
API Methods
create_meme()
sdk.create_meme(
prompt: str, # Meme description
symbol: str = None, # Auto-generated if None
description: str = None # Auto-generated if None
) -> dict
Returns:
token_address: Contract addresstoken_id: Platform token IDtx_hash: Creation transaction hashname: Token namesymbol: Token symbolimage_url: Hosted image URL
buy_token() / sell_token()
sdk.buy_token(token_address: str, bnb_amount: float, slippage: float = 0.1)
sdk.sell_token(token_address: str, amount: int, slippage: float = 0.1)
Balance Queries
sdk.get_balance() # Returns BNB balance
sdk.get_token_balance(token_address: str) # Returns token balance (wei)
Configuration
Default Configuration
SDK comes pre-configured with hosted services:
- Image API: Hosted service for AI generation
- Platform: https://moonn.fun
- BSC RPC: Public BSC dataseed node
No additional configuration needed for basic usage.
Custom Configuration
sdk = MoonfunSDK(
private_key="0x...",
image_api_url="https://custom-api.com", # Optional
platform_url="https://moonn.fun", # Default
rpc_url="https://bsc-dataseed.bnbchain.org" # Default
)
Environment Variables
Supported environment variables:
PRIVATE_KEY(required): Ethereum private keyMOONFUN_IMAGE_API_URL(optional): Custom image API endpoint
Security
Private Key Handling
Private keys are used locally only for:
- Transaction signing (via eth_account library)
- Message signing for authentication
Private keys are NEVER:
- Transmitted over network
- Stored to disk
- Logged to console
Code Verification
Users can audit private key usage in source code:
auth.py: Local signing with eth_accountimage_api.py: Sends only signature + addressplatform.py: Sends only signature + addressblockchain.py: Local transaction signing via web3.py
Best Practices
# ✅ Use environment variables
sdk = MoonfunSDK(private_key=os.getenv('PRIVATE_KEY'))
# ✅ Use dedicated wallets
# Create new wallet for SDK operations only
# ❌ Never hardcode keys
sdk = MoonfunSDK(private_key="0x123...") # Don't do this
Network Details
BSC Mainnet
- Chain ID: 56
- Native Token: BNB
- Explorer: https://bscscan.com
- RPC: https://bsc-dataseed.bnbchain.org
Smart Contracts
- Router:
0x953C65358a8666617C66327cb18AD02126b2AAA5 - WBNB:
0xBB4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c
All addresses are public and verifiable on BSCScan.
Gas Costs
- Token creation: ~0.011 BNB (0.01 fee + 0.001 gas)
- Buy/sell: ~0.0005-0.001 BNB per transaction
Error Handling
from moonfun_sdk import (
InsufficientBalanceError,
AuthenticationError,
TransactionFailedError
)
try:
result = sdk.create_meme("A funny cat")
except InsufficientBalanceError:
print("Need more BNB (minimum 0.011)")
except AuthenticationError:
print("Signature verification failed")
except TransactionFailedError:
print("Blockchain transaction failed")
Hosted Services
The SDK uses these services:
-
Image Generation API
- Secured with cryptographic signatures
- Balance-gated (minimum 0.011 BNB)
- Timestamp-bound requests
- Default endpoint:
http://moonfun.site - Users can deploy custom instances
-
MoonnFun Platform
- Public token launchpad
- Metadata and image storage
- URL: https://moonn.fun
-
BSC Network
- Public blockchain
- Decentralized infrastructure
Dependencies
Core dependencies:
web3>=6.0.0- Ethereum interactioneth-account>=0.8.0- Private key managementrequests>=2.28.0- HTTP clienthttpx>=0.24.0- Async HTTP client
All dependencies are widely used and audited libraries.
Building from Source
# Clone repository
git clone <repository-url>
cd moonfun-sdk/python
# Review source code
cat moonfun_sdk/auth.py # Private key handling
cat moonfun_sdk/image_api.py # API requests
cat moonfun_sdk/platform.py # Platform integration
# Install from source
pip install -e .
Changelog
v1.0.6 (Current)
- Token tag set to "Ai Agent"
- Improved categorization
v1.0.5
- Enhanced authentication mechanism
- Optimized login flow
v1.0.4
- Support for low-liquidity token selling
- Trading marked as experimental
Troubleshooting
| Issue | Solution |
|---|---|
| InsufficientBalanceError | Add BNB (minimum 0.011) |
| AuthenticationError | Check private key format (needs 0x prefix) |
| TransactionFailedError | Increase slippage or check gas |
| RPCConnectionError | Try different RPC endpoint |
Resources
- Platform: https://moonn.fun
- BSC Explorer: https://bscscan.com
- Documentation: See README.md
- Security Guide: See SECURITY.md
License
MIT License
Disclaimer
This SDK interacts with blockchain and requires real BNB. Users should:
- Test with small amounts first
- Use dedicated wallets
- Review source code
- Understand blockchain risks
Trading features are experimental and may have issues with new/low-liquidity tokens.
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!