Shioaji Pro
為 agent 交易鋪路:交易終端全程由 coding agent 打造,介面 100% 開源、桌面版內建 AI Agent 與全套專業下單面板 — 這個終端就是能力證明。
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證The first Binance agentic wallet only onchain stocks' launchpad
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 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.