
MonliPay turns Monad token transfers into a shareable link — no wallet address swapping, no chain confusion, just send a URL via WhatsApp and the recipient claims with one click. Core flow: 1. Sender deposits MON (or any ERC-20) into the LinkVault contract, browser generates an ephemeral keypair — public key goes on-chain, private key lives in the URL fragment (#). 2. Sender shares the link in any chat app. 3. Recipient opens it, their wallet signs an EIP-712 message, the contract verifies via ecrecover, funds transfer. 4. If nobody claims before expiry, the next time the sender opens "My Links" the contract auto-refunds them — permissionless, anyone can trigger it. Security highlights: - Secret key never appears in calldata (URL fragment never sent to servers), so mempool watchers cannot front-run the claim. - EIP-712 domain separation + EIP-2 s-value check prevent signature replay across chains and contracts. - ReentrancyGuardTransient (Cancun tstore/tload) for zero-cost reentrancy protection. - Pull-pattern fallback for failed ETH pushes + fee-on-transfer support for non-standard tokens like USDT. - Two audit rounds, 92 Foundry tests, 100% line coverage on LinkVault.sol. Bonus features: - Gasless claim via EIP-2771 meta-transactions — recipient pays nothing, a sponsor wallet relays the tx. - Cross-chain bridge (LI.FI aggregator) for bringing tokens from Ethereum, Base, Arbitrum, Optimism, Polygon, BNB, Avalanche into Monad. - Ponder indexer powers the "My Links" dashboard so the sender sees real-time status (active / claimed / refunded) without polling the contract. Frontend: Next.js 16 + wagmi v2 + viem v2 + RainbowKit v2 + Tailwind v4 + three.js landing hero. Backend: single Solidity 0.8.28 contract + Ponder indexer (TypeScript). 687 frontend tests, 92 contract tests. Live on Monad mainnet since July 2026. Fully open source, MIT.
讨论
还没有评论,快来分享你的看法吧。