Skip to content

Smart contracts ​

Solidity 0.8.24, OpenZeppelin 5, Cancun EVM. Source and tests: github.com/agenticstarter/agentic-starter-agnt (contracts/). No upgradeable proxies. Owner actions go through a 2-of-2 Safe multisig.

ContractRole
AgentLaunchpad (version 3)Creates tokens, runs curves, pays creators, graduation
LaunchpadLensRead-only quotes and views for sites and agents
LaunchRules (library)Name and symbol rules, reserved tickers, one alphabet per name
LaunchTokenTemplate cloned once per launch (EIP-1167). Fixed supply, transfer-locked until graduation. Address ends in AAAA
PancakeV2AdapterGraduation: adds the liquidity to PancakeSwap V2 and mints the LP to the burn address
AccountFeeEscrowHolds creator-fee shares for X / GitHub accounts until they link a wallet; 72-hour claim delay, back to the creator after 90 days
AgentGateAgent ID check over up to 10 registries; adding a registry waits 48 hours, removing one is instant
FeeSplitterOf the BNB it receives: 50% buyback-burn, 37.5% stakers, 12.5% treasury (= 40 / 30 / 10% of the whole curve fee)
AGNTToken$AGNT, 1B fixed supply, no mint, no tax, no owner
AGNTStakingStake AGNT, earn BNB streamed over 7 days; perks after 7 days staked
AGNTPresale"250+" sale: floor price up to 250 BNB, pro rata above, soft cap 50 BNB, 48-hour bonus, unsold burned
IgniteBoardBurn any token with an on-chain message (also used for Featured slots with AGNT)
SparkAirdropSeasonal Merkle claims
AGNTVesting ×3Team, ecosystem, treasury vesting
StandardTokenFactoryPlain BEP-20 tokens for anyone (basic or advanced)
LiquidityHelperAdds liquidity for standard tokens and burns or locks the LP

Live addresses are listed on Site integrity and returned by the API at /contracts and /integrity.

AgentLaunchpad ​

ConstantValue
TOTAL_SUPPLY1,000,000,000
CURVE_SUPPLY800,000,000
LP_SUPPLY200,000,000
FEE_BPS100 (1%), fixed
MODULE_TIMELOCK48 hours
SPLIT_DELAY24 hours
MAX_RECIPIENTS10

Settings the owner can change, within hard limits. Curve settings are copied into each token at creation, so a change only affects tokens created afterwards. On mainnet fees and the target can move at most ±50% per 7 days.

SettingMainnetTestnetLimits
Graduation target16 BNB1 BNB2 (mainnet floor) to 50 BNB
Graduation fee3% of the target3%at most 5% and 2 BNB
Creator graduation bonus20% of the graduation fee20%at most 30%
Wallet cap1%7%mainnet 0.5% to 2% (set at deploy)
Launch fee0.005 BNB0up to 0.02 BNB
Info update fee0.01 BNB0up to 0.05 BNB
Creator share of the curve fee20%20%up to 30%
Creator allocation0%3% over 5 daysup to 3%, unlock up to 90 days
Minimum curve time00up to 7 days

Virtual reserves are derived per token so that selling exactly 800M raises the target, and the last curve price equals the PancakeSwap listing price.

FunctionWhoNotes
create(p)anyonep = { name, symbol, metaURI, salt, quote, rewardMode, recipients[] }; quote must be zero (BNB). Pays launchFeeFor(creator)
createFor(creator, p)approved launchersTestnet bot launches for a user's wallet
createAndBuy(p, minTokensOut)agentsLaunch + first buy
buy(token, minTokensOut)agents1% fee, wallet cap, refund
sell(token, tokensIn, minBnbOut)any holderNo approve needed
graduate(token)anyoneLists a token that reached its target
claimFor(tokens[])anyonePushes pending creator fees into each recipient's balance
claimCreatorRewards()creators, recipientsWithdraw BNB
proposeSplit / applySplitcreator / anyone after 24 hChange who receives the creator fees
proposeCreator / acceptCreatorcreator / new creatorTwo-step creator transfer
claimAllocation(token)creatorVested creator allocation after graduation
updateMeta(token, metaURI)creatorPays the info update fee
predictTokenAddress(salt), tokenInitCodeHash()viewUsed to find an AAAA salt
collectFees()anyoneSends fees to the FeeSplitter and treasury
pause() / unpause()guardian or owner / ownerStops create and buy, never sell, claims or graduation
proposeModule / applyModule / cancelModuleownerSwap gate, template, adapter, escrow or perks after 48 h

Security notes ​

  • Sells, refunds, claims and graduation cannot be paused.
  • BNB that cannot be pushed to a wallet is kept for withdraw().
  • The owner is a multisig behind Ownable2Step; there is no function to move user tokens or curve BNB.
  • A registry that reverts or uses too much gas is skipped by the Agent ID check, so it can't block buys.
  • An external audit is required before mainnet; the report will be linked here.
  • Found a bug? Use agenticstarter.xyz/security. Confirmed bugs earn bounty points.

Crypto assets are volatile. Nothing here is financial advice.