On-chain contracts
The Avalanche C-Chain contracts behind every balance: smart wallets, escrow, the phone registry and the paymaster.
Every AutoPayKe balance is USDC or USDT in the account holder's own smart contract wallet on Avalanche C-Chain. AutoPayKe can't spend from it on its own; the wallet only executes calls its owner authorises.
Contracts
| Contract | What it does |
|---|---|
AutopaySmartWallet | An ERC-4337 smart contract wallet per person. The relayer can only execute calls the wallet itself authorises. |
AutopayEscrow | Holds money sent to someone who isn't on AutoPayKe yet, with a claim link by SMS or WhatsApp. Refunded to the sender automatically after 7 days. |
AutopayRegistry | Maps phone numbers to wallets using a one-way hash. The number itself is never written on-chain. |
Paymaster | Sponsors gas, so people transact without ever holding AVAX. |
Deposits from outside
Anyone can send USDC or USDT on Avalanche C-Chain to an AutoPayKe address, and the recipient can cash it out to M-Pesa. Tokens sent on another network (Ethereum, Tron, BNB Chain, Solana) don't reach an AutoPayKe address.
The contracts have not completed an external security audit yet. When one is done we'll publish the report on the Security page.