A decentralized staking platform on Polygon Network offering three distinct investment programs with flexible APR rates and revenue-sharing mechanisms.
- Contract Address
- What is MDF Staking?
- Investment Programs
- How to Use
- Calculating Your Returns
- Security & Risks
- FAQ
Polygon Network:
0x609497f59888b5A9006bA8C2cF828213c516d4fb
View on PolygonScan: https://polygonscan.com/address/0x609497f59888b5A9006bA8C2cF828213c516d4fb
MDF Staking Platform is a smart contract that allows you to lock your crypto assets and earn returns. Think of it like a crypto savings account with fixed lock periods.
Key Features:
- ✅ Lock your tokens for 1-5 years
- ✅ Earn fixed or variable APR
- ✅ Receive quarterly revenue distributions (MDF program)
- ✅ Transparent and secure smart contract
- ✅ Built with OpenZeppelin security standards
| Program | Token | Lock Period | APR | Best For |
|---|---|---|---|---|
| NFIVE Fixed | NFIVE | 1 year | 25% | High APR seekers |
| USDT Admin Rate | USDT | 1 year | 4-10% | Conservative investors |
| MDF Revenue Share | USDT | 5 years | Year 1: up to 10% Years 2-6: Revenue sharing |
Long-term believers |
Lock NFIVE tokens and earn a fixed 25% APR.
Details:
- Deposit Token: NFIVE
- Lock Period: 1 year
- APR: 25% (fixed at deposit time)
- Payout: Principal + Interest in NFIVE tokens
- When to Claim: After 1 year maturity
Example:
Deposit: 1,000 NFIVE
APR: 25%
After 1 Year: 1,250 NFIVE (1,000 + 250 interest)
Best for: Users who believe in NFIVE token and want the highest fixed returns.
Lock USDT and earn a flexible APR between 4-10% set by admin.
Details:
- Deposit Token: USDT
- Lock Period: 1 year
- APR: 4-10% (set by admin, locked at your deposit time)
- Payout: Principal + Interest in USDT
- When to Claim: After 1 year maturity
Example:
Deposit: 10,000 USDT
APR at Deposit: 8%
After 1 Year: 10,800 USDT (10,000 + 800 interest)
Best for: Conservative investors who want stablecoin returns with predictable yields.
Lock USDT and receive fixed APR in year 1, then share in quarterly revenues for years 2-6.
Details:
- Deposit Token: USDT
- Lock Period: 5 years total
- Year 1: Fixed APR (up to 10%)
- Years 2-6: 20 quarterly revenue distributions
- Payout: All in USDT
- When to Claim:
- Year 1: After 1 year maturity
- Quarters: As they're reported by admin
How Revenue Sharing Works:
Your share of quarterly revenue is proportional to your stake:
Your Share = Your Principal ÷ Total MDF Principal
Quarter Payout = Quarter Revenue × Your Share
Example:
Your Deposit: 10,000 USDT
Total MDF Stakes: 100,000 USDT
Your Share: 10%
Year 1: 10,000 × 8% = 800 USDT interest
Quarter 1 Revenue: 5,000 USDT
Your Q1 Share: 5,000 × 10% = 500 USDT
Quarter 2 Revenue: 7,500 USDT
Your Q2 Share: 7,500 × 10% = 750 USDT
...and so on for 20 quarters
Best for: Long-term investors who believe the platform will generate increasing revenue over time.
Before you start, you need:
- MetaMask or Web3 Wallet - Install MetaMask
- Add Polygon Network to your wallet:
- Network Name: Polygon Mainnet
- RPC URL: https://polygon-rpc.com
- Chain ID: 137
- Currency: MATIC
- Block Explorer: https://polygonscan.com
- MATIC tokens - For gas fees (keep 1-2 MATIC)
- Tokens to stake - NFIVE or USDT depending on program
Before depositing, you must approve the contract to spend your tokens.
On PolygonScan:
- Go to your token contract (NFIVE or USDT)
- Click "Write Contract"
- Connect your wallet
- Find the
approvefunction - Enter:
- Spender:
0x609497f59888b5A9006bA8C2cF828213c516d4fb - Amount: Amount you want to stake (in wei for NFIVE, 6 decimals for USDT)
- Spender:
- Click "Write" and confirm transaction
Converting amounts:
- NFIVE (18 decimals): 1000 NFIVE = 1000000000000000000000 (1000 + 18 zeros)
- USDT (6 decimals): 1000 USDT = 1000000000 (1000 + 6 zeros)
Tip: You can use https://eth-converter.com to convert amounts to wei.
On PolygonScan:
- Go to InvestmentPrograms contract:
0x609497f59888b5A9006bA8C2cF828213c516d4fb - Click "Write Contract"
- Connect your wallet
- Choose your function:
depositNFIVE- For NFIVE Fixed 25% programdepositUSDT- For USDT Admin Rate programdepositMDF- For MDF Revenue Share program
- Enter amount (same format as approval)
- Click "Write" and confirm transaction
Important: Save your Position ID from the transaction receipt! You'll need it to claim rewards.
View All Your Positions:
- Go to contract on PolygonScan
- Click "Read Contract"
- Find
positionsOffunction - Enter your wallet address
- Click "Query" - You'll see all your Position IDs
View Specific Position Details:
- Use
positionsfunction - Enter your Position ID
- View:
- Principal amount
- Start time
- Maturity time (when you can claim)
- APR (in basis points: divide by 100 for %)
- Program type (0=NFIVE, 1=USDT, 2=MDF)
Preview Your Rewards:
Before claiming, check what you'll receive:
- For Year 1: Use
previewYear1Payout(positionId)function - For MDF Quarters: Use
previewMdfClaimable(positionId)function
Wait until maturity (1 year from deposit), then:
- Go to contract "Write Contract" section
- Connect wallet
- Find
claimYear1function - Enter your Position ID
- Click "Write" and confirm
You'll receive:
- NFIVE program: Principal + Interest in NFIVE
- USDT program: Principal + Interest in USDT
- MDF program: Principal + Year 1 Interest in USDT
After year 1, admin will report quarterly revenues. You can claim anytime:
- Check
previewMdfClaimable(positionId)to see available amount - Go to "Write Contract" section
- Find
claimMdfQuartersfunction - Enter your Position ID
- Click "Write" and confirm
- Receive your share of all unclaimed quarters
Tips:
- You can claim multiple quarters at once to save gas
- Check regularly after quarter reports
- No deadline - claim whenever convenient
The contract uses basis points (BPS) for APR:
- 100 BPS = 1%
- 400 BPS = 4%
- 1000 BPS = 10%
- 2500 BPS = 25%
Interest = Principal × (APR_BPS ÷ 10,000)
Total Payout = Principal + Interest
Examples:
NFIVE (25% APR):
Principal: 1,000 NFIVE
APR: 2500 BPS (25%)
Interest: 1,000 × (2,500 ÷ 10,000) = 250 NFIVE
Total: 1,250 NFIVE
USDT (8% APR):
Principal: 5,000 USDT
APR: 800 BPS (8%)
Interest: 5,000 × (800 ÷ 10,000) = 400 USDT
Total: 5,400 USDT
Your Share % = (Your Principal ÷ Total MDF Principal) × 100
Your Quarter Payout = Quarter Revenue × Your Share %
Example:
Your Principal: 20,000 USDT
Total MDF Principal: 200,000 USDT
Your Share: 10%
If Quarter 1 Revenue = 10,000 USDT
Your Q1 Payout = 10,000 × 10% = 1,000 USDT
If Quarter 2 Revenue = 15,000 USDT
Your Q2 Payout = 15,000 × 10% = 1,500 USDT
The contract includes multiple security measures:
✅ OpenZeppelin Standards - Built with audited, industry-standard libraries ✅ ReentrancyGuard - Protection against reentrancy attacks ✅ Access Control - Role-based permissions for admin functions ✅ SafeERC20 - Safe token transfer mechanisms ✅ Pausable - Admin can pause in emergencies ✅ Immutable Logic - Contract cannot be upgraded (no proxy vulnerabilities)
- Like all smart contracts, bugs could exist
- Contract has not undergone professional audit
- Use at your own risk
- Your funds are locked for the full period
- No early withdrawal - you must wait until maturity
- Make sure you won't need these funds during lock period
- Change APR for new deposits (your rate is locked at deposit)
- Pause/unpause deposits
- Report MDF quarterly revenues
- Emergency withdraw (all actions are transparent on blockchain)
- Token prices can fluctuate
- NFIVE rewards are paid in NFIVE (subject to price changes)
- Returns are fixed in token amount, not USD value
- Quarterly payouts depend on platform revenue
- If no revenue, no quarterly payout
- Admin reports revenues (requires trust)
✅ Start Small - Test with small amounts first ✅ Verify Address - Always double-check contract address ✅ Understand Terms - Know the lock period and risks ✅ Save Position ID - Keep record of your position IDs ✅ Only Invest What You Can Afford to Lose ✅ Check Transactions - Review all transaction details before confirming ✅ Use Hardware Wallet - For large amounts, consider hardware wallet
Q: How do I know when I can claim my rewards?
A: Use the positions function with your Position ID. Check the maturityTime field. When current time is past maturity time, you can claim Year 1 rewards.
Q: Can I withdraw before maturity?
A: No. There is no early withdrawal function. Your funds are locked for the full period.
Q: What if I don't claim immediately after maturity?
A: Your funds remain safe in the contract. You can claim anytime after maturity with no penalty.
Q: Can I have multiple positions?
A: Yes! You can deposit multiple times and each gets a unique Position ID.
Q: What if I lose my Position ID?
A: Use the positionsOf function with your wallet address to see all your Position IDs. You can also find it in your deposit transaction on PolygonScan.
Q: Will my APR change?
A: No. Your APR is locked at the time of deposit. Admin APR changes only affect new deposits.
Q: For MDF, when do quarters start?
A: After your 1-year maturity. Admin reports revenues and you claim them.
Q: Can I claim multiple MDF quarters at once?
A: Yes! The claimMdfQuarters function automatically claims all available quarters in one transaction.
Q: What if a quarter has no revenue?
A: You won't receive anything for that quarter. Your next claim will only include quarters with reported revenue.
Q: How do I know my share of MDF revenue?
A: Your share = Your Principal ÷ Total MDF Principal. Use totalMdfPrincipal to see the total, and positions to see your principal.
Q: Which wallet can I use?
A: Any Web3 wallet: MetaMask, Trust Wallet, Coinbase Wallet, WalletConnect, etc.
Q: How much MATIC do I need for gas?
A: Keep 1-2 MATIC for gas fees. Most transactions cost 0.001-0.01 MATIC.
Q: Is the contract verified?
A: Yes, you can view the source code on PolygonScan.
Q: What's the contract address again?
A: 0x609497f59888b5A9006bA8C2cF828213c516d4fb on Polygon Network. Always verify from official sources!
Q: Can I use this from mobile?
A: Yes! Use MetaMask mobile or Trust Wallet to interact with PolygonScan.
Q: My transaction failed - why?
Common reasons:
- Not enough MATIC for gas
- Didn't approve tokens first
- Insufficient token balance
- Contract is paused
- Amount is zero
Q: I approved but can't deposit
A: Make sure you approved enough tokens and the approval transaction completed successfully.
Q: Transaction says "cannot claim"
A: Check that:
- You're past maturity time
- You haven't already claimed
- You're using the correct Position ID
- You're using the wallet that made the deposit
Q: I claimed but got less than expected
A: APR is in basis points. 400 BPS = 4%, not 400%. Use the preview functions to check expected amounts before claiming.
🔴 NEVER share your private keys or seed phrase with anyone
🔴 Always verify the contract address before depositing
🔴 Understand that funds are locked - no early withdrawal
🔴 Start with small amounts to test
🔴 Only invest what you can afford to lose
🔴 This is not financial advice - do your own research
- 🔍 Check PolygonScan: View transactions and contract details
- 📖 Re-read this guide: Most questions are answered above
- 🔗 View Source Code: Available on PolygonScan (verified contract)
MIT License - This project is open source.
Current Deployment Status: This contract uses accelerated time settings for testing purposes:
YEAR_SECONDS = 5 minutes(instead of 365 days)- This means maturity periods are much shorter for testing
Important: Understand this is a testing configuration. For production use, time constants should reflect real-world periods.
Built with ❤️ on Polygon Network
Remember: Cryptocurrency investments carry risk. Always do your own research and never invest more than you can afford to lose.