
ArtaPay
Any Stablecoin. Anywhere. Gasless.
Demo
About
The problem it solves **ArtaPay: Gasless & Seamless Stablecoin Payments** Despite the rapid growth of Web3, crypto payments fail to achieve mass adoption because they feel too hard for everyday use. We identified three critical friction points causing this failure and solved them: **1. Gasless Friction & User Drop-off Problem** **Problem:** Users still need ETH for gas just to pay with stablecoins, which kills adoption for everyday users. This gas and wallet friction creates a barrier that makes first-time users quit. **Solution:** ArtaPay utilizes Gasless Smart Accounts (ERC-4337 Paymaster). Users pay gas fees directly using the stablecoin they are transferring (e.g., IDRX or USDC). No ETH is required in the user's wallet. **2. Stablecoin Mismatch & Merchant Resistance Problem** **Problem:** Payers and merchants often use different stablecoins, making manual swaps slow and risky. Merchants resist adoption because they won't manage many stablecoins or educate users about swaps. **Solution:** We built an Auto-Swap Engine allow users can pay with any supported token they hold, and the protocol automatically swaps it to the merchant's desired token in a single transaction. **3. Checkout Complexity & Value Leakage Problem** **Problem:** Multiple approvals and signature steps break the instant "scan & pay" experience. These extra approvals and manual swaps create slippage and hidden costs (value leakage). **Solution:** ArtaPay offers a seamless QR Checkout Flow via transaction bundling. Users simply scan a QR code and sign once. The protocol handles gas payments, swapping, and transfers in the background, eliminating friction. Key Features: - Gasless Smart Accounts: Using Paymaster (ERC-4337) to pay gas fees directly with stablecoins, eliminating the need for ETH. - Auto‑Swap Settlement: Pay with any supported stablecoin you hold, and the receiver automatically gets the specific token they want.. - QR Checkout Flow: Experience instant "scan-and-pay" via signed payment requests for a frictionless transaction process. - Easy Onboarding and Top‑Up: Seamless login via Privy & Base App with direct IDRX top-up designed for real-world adoption. - Multicoin and Batch Transfer: Combine multiple stablecoins into a single payment and execute batch transfers in just one transaction. **ArtaPay bring a true "Cash-like" payment experience to the Base Network, enabling seamless global payments with automated local settlement.** **Smart Contract Addresses:** Paymaster: [0x1b14BF9ab47069a77c70Fb0ac02Bcb08A9Ffe290](https://base-sepolia.blockscout.com/address/0x1b14BF9ab47069a77c70Fb0ac02Bcb08A9Ffe290?tab=contract ) StableSwap: [0x822e1dfb7bf410249b2bE39809A5Ae0cbfae612f](https://base-sepolia.blockscout.com/address/0x822e1dfb7bf410249b2bE39809A5Ae0cbfae612f?tab=contract) PaymentProcessor: [0x4D053b241a91c4d8Cd86D0815802F69D34a0164B](https://base-sepolia.blockscout.com/address/0x4D053b241a91c4d8Cd86D0815802F69D34a0164B?tab=contract) StablecoinRegistry: [0x573f4D2b5e9E5157693a9Cc0008FcE4e7167c584](https://base-sepolia.blockscout.com/address/0x573f4D2b5e9E5157693a9Cc0008FcE4e7167c584?tab=contract) SimpleAccountFactory: [0xfEA9DD0034044C330c0388756Fd643A5015d94D2](https://base-sepolia.blockscout.com/address/0xfEA9DD0034044C330c0388756Fd643A5015d94D2?tab=contract) SimpleAccount: [0xaFb00201602036306f051236dc650fF712FB352E](https://base-sepolia.blockscout.com/address/0xaFb00201602036306f051236dc650fF712FB352E?tab=contract) MockStableCoin (USDC): [0x74FB067E49CBd0f97Dc296919e388CB3CFB62b4D](https://base-sepolia.blockscout.com/token/0x74FB067E49CBd0f97Dc296919e388CB3CFB62b4D?tab=contract) MockStableCoin (USDS): [0x79f3293099e96b840A0423B58667Bc276Ea19aC0](https://base-sepolia.blockscout.com/token/0x79f3293099e96b840A0423B58667Bc276Ea19aC0?tab=contract) MockStableCoin (EURC): [0xfF4dD486832201F6DC41126b541E3b47DC353438](https://base-sepolia.blockscout.com/token/0xfF4dD486832201F6DC41126b541E3b47DC353438?tab=contract) MockStableCoin (BRZ): [0x9d30F685C04f024f84D9A102d0fE8dF348aE7E7d](https://base-sepolia.blockscout.com/token/0x9d30F685C04f024f84D9A102d0fE8dF348aE7E7d?tab=contract) MockStableCoin (AUDD): [0x9f6b8aF49747304Ce971e2b9d131B2bcd1841d83](https://base-sepolia.blockscout.com/token/0x9f6b8aF49747304Ce971e2b9d131B2bcd1841d83?tab=contract) MockStableCoin (CADC): [0x6BB3FFD9279fBE76FE0685Df7239c23488bC96e4](https://base-sepolia.blockscout.com/token/0x6BB3FFD9279fBE76FE0685Df7239c23488bC96e4?tab=contract) MockStableCoin (ZCHF): [0xF27edF22FD76A044eA5B77E1958863cf9A356132](https://base-sepolia.blockscout.com/token/0xF27edF22FD76A044eA5B77E1958863cf9A356132?tab=contract) MockStableCoin (TGBP): [0xb4db79424725256a6E6c268fc725979b24171857](https://base-sepolia.blockscout.com/token/0xb4db79424725256a6E6c268fc725979b24171857?tab=contract)
How it's made
Challenges we ran into **1. The "Custom Paymaster vs. Bundler" Battle** * **The Problem:** We decided to build a **Custom Paymaster** from scratch (instead of using a standard preset) to handle stablecoin payments. However, connecting it to the ERC-4337 Bundler was a nightmare. We kept getting opaque error codes (like "AA33" or "AA23") because the Bundler rejected our custom logic for validating userOp. * **The Solution:** We had to deeply debug the paymasterAndData encoding. We iteratively refined our validatePaymasterUserOp function to ensure it returned the correct context and validationData exactly as the EntryPoint expected, finally getting the Bundler to accept our transactions. **2. Gas Price Volatility & The 5% Safety Guard** * **The Problem:** We charge users in Stablecoins (e.g., IDRX), but the network charges us in ETH. Since gas prices on Base can spike in seconds, there was a risk: we might collect 500 IDRX from the user, but end up paying 600 IDRX worth of ETH for gas—losing money on the transaction. * **The Solution:** We couldn't just use a static fee. We implemented a **5% Gas Slippage Guard (Markup)** in our calculation logic. This buffer covers sudden gas price spikes between the moment the user signs and the moment the transaction is mined, ensuring the protocol stays solvent. **3. Securing the "Free Gas" from Abuse** * **The Problem:** Since we sponsor gas, malicious actors could bypass our frontend and call our Paymaster contract directly to drain our ETH balance for their own transactions. Simple on-chain whitelisting was too rigid and expensive to update. * **The Solution:** We moved the security check off-chain. We implemented a **Backend (BE) Verifier**. The Paymaster contract now requires a cryptographic signature generated by our backend. The backend only issues this signature after verifying the user's identity and request validity, effectively blocking any direct contract abuse.