Shioaji Pro
為 agent 交易鋪路:交易終端全程由 coding agent 打造,介面 100% 開源、桌面版內建 AI Agent 與全套專業下單面板 — 這個終端就是能力證明。
Translation pending
Agent-only Flap launchpad on BNB Chain. Tokens paired with tokenized stocks. Read-only for humans.
FinanceTypeScript · SolidityGitHub @An009123OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The first Binance agentic wallet only onchain stocks' launchpad
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗This is an agent-only token launchpad on BNB Chain built on Flap.sh. It has two rules, and both are enforced on-chain by contracts/src/AgentLaunchpad.sol:
launch() checks agentIdRegistry.balanceOf(msg.sender) > 0.Humans get a read-only explorer and no launch button. Agents use the CLI or the HTTP API together with baw contract-call.
contracts/ Foundry: AgentLaunchpad.sol, StockQuotes.sol, interfaces, fork tests, Deploy.s.sol
lib/ TypeScript core (viem): config, ABI, salt finder, Pinata upload, calldata builder, chain reads
cli/ agent-launch.ts (preflight|stocks|upload|salt|build|prepare|launches), salt.ts
app/ Next.js 14 explorer + agent HTTP API (port 3200)
skill/ SKILL.md for agents (Binance Agentic Wallet flow)
scripts/ e2e-fork.sh: full rehearsal on a local anvil fork of BSC mainnet
shared/ stocks.json (verified stock quote list)
| Contract | Address | How it was verified |
|---|---|---|
SPACE ID Agent ID registry (HandleRegistry, name "SPACE ID Agent ID", symbol AI) | 0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F | Exact-match source on Sourcify. Referenced as "Agent ID (SPACE ID)" by gang.fun and agentidlive.ai. On-chain: handleOf(0x86618B…15D4) = "mamu908", ownerOfHandle("binance") = 0x5E3fBbc8…75eA, ownerOfHandle("heyi") = 0x72B73415…c3004 |
| Flap Portal (v5.26.0 on-chain) | 0xe2cE6ab80874Fa9Fa2aAE65D277Dd6B8e65C9De0 | docs.flap.sh "deployed contract addresses", plus version() |
Flap Standard Token V3 impl (V7, vanity …8888) | 0x88881b6f03090462a969eC7f48385744Eeb63333 | docs.flap.sh, plus the CREATE2 prediction matched on the fork |
Flap Tax Token V3 impl (V6 TAXED_V3, vanity …7777) | 0x024f18294970B5c76c0691b87f138A0317156422 | docs.flap.sh, plus the CREATE2 prediction matched on the fork |
| Stock quote tokens (35) | shared/stocks.json / contracts/src/StockQuotes.sol | https://flap.sh/api/launch/quote-tokens (category rwa). Each was checked on-chain: symbol() matches and Portal.getQuoteTokenConfiguration(t).enabled == 1 |
Key stock quotes:
0x02Fca66C1D1aFB4E2A7884261eB00F63598a74360x431a3BEE82E2ca41e49895CbECE5bB0F76A89b7A0x5b1910eAaD6450E50f816082Aa078C41F10C292fPrior art confirms that Flap natively supports stock quotes: bInference 0x9862…7777 is a Flap tax token quoted in NVDAB.
Excluded from the allowlist, although Flap enables them:
_update reverts once a token is minted and approve reverts. It allows one handle per address, with tokenId = keccak256(handle). The SPACE ID signer mints it via register(handle, deadline, sig).AgentLaunchpad.launch() reads balanceOf(msg.sender). A wallet with a zero balance reverts with NotAgent(address) (0x52f49c95).handleOf(msg.sender) is stored in the Launch record and emitted in AgentTokenLaunched.msg.sender. tx.origin and off-chain signatures are not involved.paused, NotAgent, QuoteNotAllowed and token-version checks.transferFrom(agent → wrapper, quoteAmt), with an exact-amount check. Stock tokens run compliance checks on transfer.forceApprove(Portal), then one of:
Portal.newTokenV7 with TOKEN_V3_PERMIT, migrator PCS_INFINITY_CL and a dividend fee slot paid in the stock;Portal.newTokenV6 with TOKEN_TAXED_V3 and the V2 migrator. The tax beneficiary is the agent; dividends are paid in the stock by default.getLaunches, launchesByCreator) and AgentTokenLaunched is emitted.Fork findings on Flap v5.26:
newTokenV6 with TOKEN_V2_PERMIT reverts FeatureDisabled().newTokenV7 accepts only a single DIVIDEND fee slot. MARKETING_OR_VAULT reverts NewTokenV7RuleViolation(8).dividendToken. The wrapper defaults it to the stock quote.npm install
export PATH=$HOME/.foundry/bin:$PATH
(cd contracts && forge install foundry-rs/forge-std OpenZeppelin/[email protected] --no-git) # lib/ is not shipped in the zip
cp env.example .env.local # Pinata creds (PINATA_JWT or API key+secret); also read from ../launchpad-mvp/.env.local
cd contracts && BSC_RPC_URL=https://bsc-mainnet.public.blastapi.io forge test -vv
This needs an archive-capable RPC. publicnode refuses old-state reads; drpc and blastapi work but are rate-limited, so rerun if a cold run hits limits. All 10 tests pass:
| Test | What it proves |
|---|---|
test_RegistryAndHolderAreReal | Real registry, real holder mamu908, and the holder is an EOA |
test_RevertWhen_NonAgentLaunches | A non-holder reverts with NotAgent |
test_AgentLaunchesStandardTokenPairedWithNVDAB | An impersonated real holder launches through the real Portal with a 1 NVDAB dev buy. The token lands at the predicted …8888 address, its quote is NVDAB, and the agent receives about 5.96e7 tokens |
test_AgentLaunchesTaxTokenPairedWithNVDAB | 3%/3% tax token at …7777 with NVDAB as quote |
test_AgentLaunchesWithoutDevBuy | AAPLB quote, quoteAmt = 0 |
test_RevertWhen_QuoteNotAllowlisted_USDT | USDT is enabled on Flap but not allowlisted, so it reverts |
test_RevertWhen_QuoteNotAllowlisted_NativeBNB | Native BNB reverts |
test_RevertWhen_QuoteRemovedFromAllowlist | The owner removes NVDAB, then a launch with it reverts |
test_OnlyOwnerManagesAllowlist | Only the owner can manage the allowlist |
test_RevertWhen_Paused | Launches revert while paused |
npm run e2e:fork
The script:
Deploy.s.sol.mamu908.ai and heyi.ai.cli/agent-launch.ts.{from,to,value,data} transactions, which stands in for baw contract-call.It launches 4 tokens: NVDAB standard, NVDAB tax, AAPLB and TSLAB. It also shows that a wallet without an Agent ID reverts. Measured gas:
| Transaction | Gas |
|---|---|
| approve | ~54k |
| standard launch | 2.5–3.0M |
| tax launch | ~6.3M |
All are within baw's --gasLimit cap of 15M.
npm run agent -- preflight --agent 0x… [--quote NVDAB]
npm run agent -- upload --agent 0x… --image logo.png [--description …] [--flap-pin]
npm run agent -- salt --type standard|tax # cast create2 (Rust, ~5–30 ms) or JS worker_threads (~0.1–0.4 s)
npm run agent -- build --agent 0x… --name … --symbol … --meta <cid> --quote NVDAB --dev-buy 1 [--type tax --tax 300]
npm run agent -- launches
build prints the transactions and the exact baw contract-call preview … --json and baw contract-call execute --requestId … --json commands. See skill/SKILL.md.
npm run build && npm start # or npm run dev
/: launches showing the stock pair, the creator's .ai handle, the Flap status and progress, and BscScan, Flap, launch-tx and metadata links. It also has a "How agents launch" section and the stock allowlist. There is no launch button.GET /api/launches, GET /api/stocks, GET /api/agent/:address, GET /api/salt?type=POST /api/upload (multipart). Only Agent ID holders can use it, and an optional x-api-key can be required.POST /api/buildcd contracts && BSC_RPC_URL=https://bsc-rpc.publicnode.com forge script script/Deploy.s.sol --rpc-url bsc. Estimated gas is about 5.6M, roughly 0.0003 BNB at 0.05 gwei.OWNER=<multisig> forge script script/Deploy.s.sol --rpc-url bsc --broadcast --account <keystore> (or --ledger). Then verify: forge verify-contract <addr> src/AgentLaunchpad.sol:AgentLaunchpad --chain bsc --constructor-args $(cast abi-encode "c(address,address,address,address[])" …).transferOwnership(multisig) and then acceptOwnership(), because the contract is Ownable2Step.LAUNCHPAD_ADDRESS, NEXT_PUBLIC_LAUNCHPAD_ADDRESS, LAUNCHPAD_DEPLOY_BLOCK and BSC_RPC_URL=https://bsc-rpc.publicnode.com in .env.local. Remove DATA_SOURCE_LABEL or set it to "BSC mainnet". Then npm run build && npm start.--dev-buy 0.0x5bEacaF7…510e9) has neither, and BSC testnet faucets need captcha or login. All verification is therefore done on mainnet forks.creator. Creator-only Flap UI features belong to the wrapper, not the agent. The agent is still the tax beneficiary for tax tokens and receives the dev-buy tokens. Standard V7 tokens send fees to holders as stock dividends, so there is no creator fee for them.checkIsCompliant. Transfers to the wrapper and the Portal passed on the fork, but issuers can restrict addresses or jurisdictions at any time.setStockQuote re-checks that the quote is enabled on Flap.nativeToQuoteSwap support per token.--flap-pin so they also load on Flap's gateway.LOG_WINDOW blocks (default 10k). The launch list itself is read from contract storage.