Direct interaction with Smart Cycle 2
Both cycle modes use the same SC2 contract. The SC1 lockup instructions do not apply to this address.
| Contract | 0x7E7BeDfcea906A1feF682ecb4e316F6bD87587E3 |
| USDT · BEP-20 | 0x55d398326f99059ff775485246999027b3197955 |
| BNB Smart Chain | Chain ID 56 |
| LP-NFT | 7682306 |
Read data
Read calls require no wallet signature. State-changing calls require a signature and BNB for gas.
getCycle(uint256) | owner · tariffId · principal · openedAt · paid · claimedPeriods |
pendingClaim(uint256) | amount · fromPeriod · toPeriod |
cycleCount() | uint256 |
isSponsorRegistered(address) | bool |
sponsorOf(address) | address |
effectiveLimits() | Limits |
quote(uint256) | uint256 · uint256 · uint256 |
- Open the SC2 address on BscScan, then Contract → Read Contract. If the explorer does not show this deployment’s ABI, do not substitute an old Flow ABI.
- Find your cycle ID in its creation transaction or dashboard.
cycleCount()is the global count, not a list of your cycles. - Check the owner and fields in
getCycle(id):owner,tariffId,principal,openedAt,paid,claimedPeriods. An SC1 order ID is not an SC2 cycle ID. pendingClaim(id)returns the calculated amount and period boundaries. It is not a separate confirmation of payout liquidity.
Prepare a transaction
Use the published ABI of this deployed contract. Before sending, check the method, parameter order, tariff identifier, token units and connected wallet. A token transfer alone does not create a cycle.
| USDT | approve(address spender, uint256 amount) |
| SC2 | create(uint8 tariffId, uint256 gross, address sponsor) |
| SC2 | claim(uint256 id) |
For approve, the spender is the SC2 address above, not the company wallet or Position Manager. Confirm token decimals; this USDT uses 18 decimals. For example, 100 USDT = 100000000000000000000 base units. Verify allowance(owner, spender).
create(tariffId, gross, sponsor): use the IDs below. gross is the full incoming USDT amount before fees, in base units. Test requires exactly 10 USDT and can be used once per wallet; other tariffs require at least 10 USDT within current limits. ID 1 is unused. Check effectiveLimits().tariffMask: inclusion in the table does not mean a tariff is currently open.
For a new participant, sponsor must be a registered inviter; the zero address selects SYSTEM_SPONSOR. For an existing participant, zero keeps the stored sponsor, while a nonzero value must equal sponsorOf. The first successful create fixes the sponsor; a reverted transaction also reverts the new link. Call claim(id) from the cycle owner’s wallet after checking pendingClaim; claim has no amount parameter.
Source: the supplied final SmartCycle2 sources and SmartCycle2Final.abi.json. The supplied ABI matches compilation of these sources; methods and addresses were also checked using read-only network calls. Using the supplied solc 0.8.20 settings and verified constructor manager address reproduces the deployed runtime byte for byte. This is not an independent audit opinion.
| tariffId | Smart Cycle 2 | duration (s) | totalBps |
| 0 | Contract Test | 300 | 10000 |
| 2 | Momentum | 432000 | 10200 |
| 3 | Confident | 864000 | 10500 |
| 4 | Trust | 1728000 | 11200 |
| 5 | Premiere | 2592000 | 12100 |
| 6 | President | 3456000 | 13200 |
| 7 | Imperium | 4320000 | 14500 |
| 8 | Marshal | 5184000 | 16000 |
| 9 | Daily Flow Core | 17280000 | 24000 |
totalBps is the total tariff payout including principal: 10000 = 100%. Daily Flow Core: 24000 = 240% over 200 days.
SYSTEM_SPONSOR: 0x28498D22Ff08fc0309d0a82335E8960336003C6b