# AutoPayKe > AutoPayKe is a phone-first money app for Kenya and Africa, run by AutoPayKe Limited (Nairobi). People send money to any phone number, top up from M-Pesa, cash out to M-Pesa or 40 Kenyan banks and SACCOs over PesaLink, pay any M-Pesa Till or PayBill, and hold USDC, USDT and AVAX in a non-custodial ERC-4337 smart wallet on Avalanche C-Chain. Kenyans abroad send money home by buying USDC or USDT and sending it on Avalanche C-Chain to their recipient's AutoPayKe address; the recipient cashes out in Kenyan shillings, usually within minutes. Cooperatives pay farmers in bulk to M-Pesa with SMS receipts and track coffee lots against the 5-day payment rule. Key facts: - Website: https://www.autopayke.com (English) and https://www.autopayke.com/it (Italian). App: installable web app (PWA), sign up with a phone number. - Deposits: USDC and USDT on Avalanche C-Chain only. Other networks (Ethereum, Tron/TRC-20, BNB Chain, Solana) do not reach an AutoPayKe address. - M-Pesa cash-outs: KES 10 to KES 150,000 per withdrawal. Bank cash-outs over PesaLink to 40 banks, microfinance banks and SACCOs. - Fees: an FX spread in the rate, plus a disclosed cash-out fee when money leaves AutoPayKe; shown before every confirmation. Published live at https://api.autopayke.com/api/v1/fees/published. - Sending to people not on AutoPayKe: an on-chain escrow with a claim link by SMS/WhatsApp, refunded automatically after 7 days (Kenya, Ghana, Uganda). - Status: Kenyan payment-service licensing and an external smart-contract audit are in progress. - API docs: https://www.autopayke.com/developers · OpenAPI: https://www.autopayke.com/openapi.json - Public API (no key): GET https://api.autopayke.com/api/v1/capabilities?country=KE&direction=payout · GET https://api.autopayke.com/api/v1/fees/published · GET https://api.autopayke.com/api/v1/fees/quote?product=cashout&amount=40¤cy=USDC - Support: autopayke@gmail.com · Developers: developers@autopayke.com Partner API (for businesses paying people in Kenya): - Keys from the Console at https://console.autopayke.com. Send "Authorization: Bearer ". apk_test_ keys = sandbox (no real money, available at once); apk_live_ keys = real money, after live access is approved and each key is approved by AutoPayKe. - Base URL https://api.autopayke.com, paths under /api/v1. Same host for test and live; the key prefix picks the environment. - Payouts: POST /api/v1/payouts with an Idempotency-Key header. amount = integer KES cents, whole shillings (150000 = KES 1,500). destination: mobile_money {phone, network?}, till {till_number}, paybill {paybill_number, account_number}, bank {bank_code, account_number, account_name}. Paid from the workspace's USDC balance. - Statuses: pending → processing → succeeded (may later be reversed), or failed; in_review holds a payout for a manual check. Results arrive by signed webhooks (AutoPayKe-Signature: t=…,v1=HMAC-SHA256(secret, "t.rawBody")). - Errors: {"ok": false, "error", "code", "requestId"}; branch on code. Retry only network errors, 5xx, RATE_LIMITED, IDEMPOTENCY_IN_PROGRESS, CAPABILITY_PAUSED and METHOD_UNAVAILABLE, with the same Idempotency-Key. - Sandbox values: +254700000001 succeeds, +254700000002 fails, +254700000003 in_review, +254700000004 reverses, amount 13300 times out, account 0000000000 fails. - Start: https://www.autopayke.com/developers/quickstart · Agent brief: https://www.autopayke.com/developers/ai-agents --- # AutoPayKe: Send Money to Kenya: M-Pesa, Banks & Farmers URL: https://www.autopayke.com/ KES 2.5M+ settled. Cooperatives pay farmers straight to M-Pesa or their bank, with an SMS receipt for every lot. Top up with M-Pesa, pay any till or PayBill, and cash out to 40 Kenyan banks and SACCOs, all with just a phone number. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App K E S   0 1 2 3 4 5 6 7 8 9 , 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 , 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 settled through AutoPayKe Pay Farmers. Show Every Step. Send every farmer their share on M-Pesa with an SMS receipt for every lot, and a link that shows each step from sale to payment. We never hold the money. For cooperatives For farmers Send money 01 Pay farmers 02 Send home 03 Receive from abroad 04 Cash out 05 Pay with crypto 06 Get paid Supported by Backed by the people building Africa's payment rails Lab Innova for Africa Settlement network Avalanche builder network Avalanche builders across Africa Farmers Market Nairobi Market partner As featured at From Nairobi to Rome Maker Faire Rome 2026 The European Edition · Lab Innova for Africa, with the Italian Trade Agency “ We are building an Africa to Africa payment solution, at the same time an Africa to EU payment solution. ” Lavender Esther Khayali, founder and CEO Watch the interview Avalanche Cascade Listed in Team1's directory of payments projects live on Avalanche See AutoPayKe on Cascade One phone number for every payment. AutoPayKe pays farmers to M-Pesa or their bank with a receipt for every lot, tops up from M-Pesa, pays any till or PayBill and cashes out to 40 Kenyan banks, with every fee shown before you confirm and your money in a wallet only you control. New For Farmers Paid For Every Kilo, With The Receipt To Prove It When a cooperative pays through AutoPayKe, every farmer gets an SMS for each lot: kilos, grade, station, price, every deduction by name and what's left for them. They reply 1 to keep it in their wallet or 2 to send it to M-Pesa, or dial the USSD menu. No smartphone needed. A short link on the SMS opens the full receipt in English or Kiswahili, with every step of the lot's payment clock. Explore farmer payments autopayke.com/l Payments for people and businesses of every size Send to any phone number, top up and cash out in shillings. Or run a till, a cooperative payout or a farmer register from the same account. One platform, built for how Kenya pays. Get started Sign in Personal. Money that moves like a text. Send to any phone number across Africa, top up from M-Pesa in seconds and cash out to M-Pesa or 40 Kenyan banks. Your number is your account. Explore personal Business. Payouts with proof. Pay every farmer with two-person approval and an SMS receipt for every lot, take till and PayBill payments by QR, and follow every settlement step. Explore business Send Money Type A Number. Type An Amount. Done. Pick a contact or type any phone number. Enter an amount in USD and watch the recipient's local total update live, with the FX rate locked while you review. If they already use AutoPayKe the money lands directly in their account, right away. Learn more There is no recipient-name verification on any rail today. The app asks you to double-check the number before you confirm, and so do we. autopayke.com/send Unclaimed Payments Send To People Who Aren't On AutoPayKe Yet The money goes into secure escrow and the recipient gets an SMS or WhatsApp claim link at autopayke.com/claim. They tap it, verify their number, and the funds settle to their mobile money. If nobody claims within 7 days, it comes straight back to you. Live today in Kenya, Ghana and Uganda, Nigeria's claim payout is still being finished. Learn more Escrow and the 7-day expiry are enforced automatically by code, not manual review. Every step is independently verifiable, not a promise on a webpage. autopayke.com/claim Merchant Pay Pay A Till Straight From Your Balance Pay any M-Pesa till or PayBill straight from your AutoPayKe balance. Run a shop? Register your own till or PayBill, take payments by QR or phone number, watch takings on your merchant dashboard and withdraw to your till whenever you like. Learn more A disclosed cash-out fee applies, shown on the review screen before you confirm, never a surprise at the till. Settlement Tracker Watch Every Shilling Land Four honest steps: initiated, payment confirmed, routed to the local rail, settled. Live status, reference number, the rail used, the locked FX rate, and a downloadable PDF receipt, no more wondering whether it went through. Learn more Your full activity feed is filterable by sent and received, with a timeline on every single transaction. autopayke.com/track Wallet & Passport One Balance You Actually Control Your balance is held in an account only you control. Top it up from M-Pesa or with a crypto deposit, cash out to M-Pesa or any of 40 Kenyan banks, and save the accounts you pay so they're one tap away. Share your AutoPayKe Passport QR to get paid, and get a notification the moment money lands. Learn more AutoPayKe is a payments technology provider, not a bank. Local payouts are executed by licensed settlement partners. autopayke.com/wallet Your Everyday Benefits Everything you need to move money in Kenya, from one phone number. See how it works Your Number Is Your Account Sign in with a phone number and a 6-digit code, then lock the app with your own PIN. A non-custodial smart wallet is set up for you on Avalanche, no seed phrase to lose, and no network fee to pay. M-Pesa In. M-Pesa Or Bank Out. Top up from M-Pesa in seconds. Cash out to any M-Pesa number or to 40 Kenyan banks and SACCOs over PesaLink, and save the accounts you use so the next payout is one tap. Send Even To Non-Users Pick someone from your contacts or type any number. If they're not on AutoPayKe yet, they get an SMS claim link; unclaimed money comes back to you automatically after 7 days. Built For Businesses Too Pay any till or PayBill from your balance. Merchants register their own till or PayBill, get paid by QR, and withdraw to it. Cooperatives pay every farmer with two-person approval. Italy · Europe In partnership with the Italian Trade Agency (ITA): piloting in Italy, October 2026, Rome & Naples Get Paid In EUR. Invest Back Home In Africa. Built for the Europe-based diaspora sending value home: starting with display support for EUR, so you can see your balance the way you think about it, before the full Italy pilot goes live. This is a pilot, not a live EUR funding rail yet. We'd rather say that plainly than let you find out mid-transfer. Start with Italy / EU The rails behind everyday money in Africa K E S   0 1 2 3 4 5 6 7 8 9 , 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 , 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 settled through AutoPayKe, counted live 4 countries where you can send and get paid 1 SMS receipt for every farmer, for every lot 40 Kenyan banks and SACCOs on PesaLink Live now Send and get paid in 🇺🇬 Uganda Mobile money 🇳🇬 Nigeria Mobile money 🇬🇭 Ghana Mobile money 🇹🇿 Tanzania Mobile money Now opening 🇿🇦 South Africa Next across Africa 🇷🇼 Rwanda 🇿🇲 Zambia 🇲🇼 Malawi 🇪🇹 Ethiopia 🇨🇮 Côte d’Ivoire 🇸🇳 Senegal 🇨🇲 Cameroon 🇪🇬 Egypt Send from anywhere Sending to Kenya from 🇺🇸 United States 🇬🇧 United Kingdom 🇨🇦 Canada 🇦🇪 United Arab Emirates 🇩🇪 Germany 🇮🇹 Italy 🇫🇷 France 🇳🇱 Netherlands 🇮🇪 Ireland 🇦🇺 Australia Your money stays in a wallet only you control Every account is its own smart contract wallet on Avalanche. AutoPayKe can only carry out the payments your wallet authorises, so we never hold your funds. Money sent to someone who isn't on AutoPayKe yet waits in an on-chain escrow and comes back to you automatically after 7 days. The contracts are public, and an external audit is on our roadmap. How we keep money safe Bank payouts Cash Out To M-Pesa Or Any Of 40 Kenyan Banks Withdraw from your AutoPayKe balance straight to an M-Pesa number or a bank account over PesaLink, Kenya's instant bank-to-bank network. Save the accounts you use and pick them in one tap next time, for yourself or for someone you pay often. Equity, KCB, Co-op, NCBA, Absa, Stanbic, DTB, I&M and more Microfinance banks and SACCOs, including Faulu, KWFT, Stima and Unaitas Every fee shown before you confirm, with a receipt once it lands Search banks All Banks Microfinance SACCOs 40 banks and SACCOs EB Equity Bank Bank KB KCB Bank Bank Co Co-operative Bank Bank NB NCBA Bank Bank AB Absa Bank Kenya Bank SC Standard Chartered Bank FB Family Bank Bank DT Diamond Trust Bank (DTB) Bank IM I&M Bank Bank SB Stanbic Bank Bank AB African Banking Corporation (ABC) Bank Bo Bank of Africa Bank Bo Bank of Baroda Bank C Citibank Bank CK CIB Kenya (Mayfair) Bank CB Consolidated Bank Bank CB Credit Bank Bank DI Dubai Islamic Bank Bank EK Ecobank Kenya Bank FC First Community Bank Bank GT Guaranty Trust Bank (GTBank) Bank GB Guardian Bank Bank GA Gulf African Bank Bank H HFC (Housing Finance) Bank KB Kingdom Bank Bank ME Middle East Bank Bank NB National Bank of Kenya Bank OC Oriental Commercial Bank Bank PB Paramount Bank Bank PB Prime Bank Bank SB SBM Bank Kenya Bank SB Sidian Bank Bank UB United Bank for Africa (UBA) Bank VC Victoria Commercial Bank Bank FM Faulu Microfinance Bank Microfinance bank KW Kenya Women Microfinance Bank (KWFT) Microfinance bank CM Caritas Microfinance Bank Microfinance bank CM Choice Microfinance Bank Microfinance bank SS Stima SACCO SACCO US Unaitas SACCO SACCO Show all 40 banks Coverage Where You Can Send Today Send-to-any-phone-number is switching on market by market. Withdraw is live wherever Send is. This list is pulled from the same source the app uses, so a country only appears here once it works in the app. The difference What Makes AutoPayKe Different Traditional remittance takes one to three business days and charges $5–$15 or more. We settle in seconds, and every fee, the FX spread plus any disclosed cash-out fee, is shown before you confirm. AutoPayKe Traditional Identity Phone number Account + password Wallet setup Automatic, no seed phrase Manual, technical Settlement Seconds 1–3 business days Transfer fee FX spread + a disclosed fee, shown upfront $5–$15+ per transfer Network gas Sponsored (paymaster): never hold AVAX Not applicable Non-user transfers SMS claim link Requires an account Local rails M-Pesa, MoMo, till & PayBill SWIFT / slow Bank payouts 40 Kenyan banks & SACCOs over PesaLink Branch visit or SWIFT Farmer receipts SMS per lot, every deduction named Paper slip, if any Built on the networks and rails Africa already uses MoMo USDC USDT Till & PayBill SMS & USSD receipts WhatsApp notifications ERC-4337 smart wallets Live mid-market FX MoMo USDC USDT Till & PayBill SMS & USSD receipts WhatsApp notifications ERC-4337 smart wallets Live mid-market FX Frequently Asked Questions All questions Do I need a bank account to use AutoPayKe? No. Your phone number is your account. Money lands on the mobile money service you already use, M-Pesa or MTN MoMo. If you do have a bank account, you can also cash out to any of 40 Kenyan banks and SACCOs. Which banks can I withdraw to? Any of 40 Kenyan banks, microfinance banks and SACCOs on PesaLink: Equity, KCB, Co-operative Bank, NCBA, Absa, Standard Chartered, Family, DTB, I&M, Stanbic, Faulu, KWFT, Stima SACCO, Unaitas and more. The full list is in the Bank payouts section above. Save the account once and it's one tap next time. How do I add money? Top up from M-Pesa: enter the amount, approve the prompt on your phone and it lands in your balance. You can also deposit USDC, USDT or AVAX straight to your own Avalanche address for free. What does it cost? Every send carries the FX spread built into the exchange rate you see before you confirm. A transfer that leaves AutoPayKe (to someone not yet on the app, a Withdraw, or a Merchant Pay payment) also carries a disclosed cash-out fee, shown on the review screen before you confirm. Direct AutoPayKe-to-AutoPayKe sends carry a small flat fee to cover network costs instead. Live rates and fees are always shown in the app before you confirm. Do I have to understand crypto? Not at all. Underneath, AutoPayKe settles in USDC and USDT on Avalanche, but you never see a seed phrase, a gas fee or a wallet address unless you go looking for one. I'm a farmer. Do I need a smartphone? No. Your cooperative pays you through AutoPayKe and you get an SMS receipt for every lot, with your kilos, the price and every deduction. Reply 1 to keep the money in your wallet or 2 to send it to M-Pesa, or dial the USSD menu. See the For farmers page for the whole journey. Who controls my money? You do. Every user gets their own ERC-4337 smart contract wallet on Avalanche C-Chain. AutoPayKe's relayer can only execute calls your wallet authorises. We never hold your funds directly. What if nobody claims the money I sent? Transfers to people without an account sit in an on-chain escrow contract for 7 days. If the money isn't claimed in that window it is automatically refunded to you. You can verify the contract yourself on the block explorer. This claim flow is live in Kenya, Ghana and Uganda; Nigeria's claim payout is still being finished. What about identity checks and licensing? We collect basic KYC details at sign-up, but full document verification with a licensed vendor is still being integrated, and our PSP licensing and data-protection registration conversations in Kenya are ongoing. We'd rather tell you that than claim a status we don't have yet. Have the smart contracts been audited? Not yet. An external security audit is on our roadmap and we will publish the report when it's done. Until then, the contracts are public and verifiable on-chain. Which countries are live? The live list is in the Coverage section above. It is pulled from the same source the app uses, so a country only shows as live once sending, withdrawing and claiming work there. Merchant Pay is live in Kenya today, with more markets rolling out as partner coverage is confirmed. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Sign in AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # How to Send Money to Kenya From Abroad (M-Pesa & Bank) | AutoPayKe URL: https://www.autopayke.com/send-money-to-kenya Send money to Kenya from the USA, UK, Europe, the UAE or anywhere: pay with USDC or USDT and your family receives Kenyan shillings on M-Pesa or in any of 40 banks, usually within minutes. Every fee is shown before you confirm. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Home Guides Send money to Kenya Guide · Sending money home How to Send Money to Kenya From Abroad Whether you're in the USA, the UK, Europe, the Gulf or Australia, you can get money to M-Pesa or a Kenyan bank in shillings without a wire transfer or a counter. Here is exactly how it works with AutoPayKe, what it costs and what to watch out for. Last updated 27 October 2026 Arrives on M-Pesa or any of 40 Kenyan banks Speed Usually minutes, 24/7 You send USDC or USDT on Avalanche Fees Shown before you confirm The short answer Buy USDC (a digital US dollar) on an exchange where you live, send it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they cash it out to M-Pesa or their bank in Kenyan shillings. The transfer itself takes seconds; the M-Pesa cash-out usually takes minutes; and they see the exact shilling amount and fee before confirming. Your recipient signs up free with their Kenyan phone number. You don't need a Kenyan bank account, and they don't need to understand crypto. Your options for sending money to Kenya There are three common ways to get money to Kenya from abroad. Each has a place; the right one depends on how fast it must arrive and how much you want to lose to fees and exchange rates along the way. Method Speed Where it lands What you pay International bank wire 1–5 working days A Kenyan bank account Sending and receiving bank fees, plus the bank's exchange-rate margin Money transfer apps and agents Minutes to a day M-Pesa, a bank or cash pickup A transfer fee and an exchange-rate margin that varies by provider Stablecoins with AutoPayKe Seconds to minutes, 24/7 M-Pesa, 40 banks and SACCOs, or kept in USDC Your exchange's conversion, plus AutoPayKe's disclosed cash-out fee Fees change, so always compare the Kenyan shilling amount your recipient will actually receive. Step by step: send money to Kenya with AutoPayKe 1 Your recipient opens a free AutoPayKe account They sign up at autopayke.com with their Kenyan phone number and a 6-digit code. A wallet only they control is created automatically, no bank account, no paperwork beyond basic details. 2 They share their AutoPayKe address with you In the app they open Receive and copy their wallet address (it starts with 0x). This is where you'll send the money. You can also send to an address of your own if you have an AutoPayKe account. 3 Buy USDC or USDT where you live On an exchange you trust in your country, buy USDC (or USDT where it's allowed) with your local currency. One USDC is designed to be worth one US dollar. 4 Withdraw it on the Avalanche C-Chain network Send the USDC to your recipient's address and choose Avalanche C-Chain (sometimes shown as AVAX C-Chain) as the network. Sending on any other network means the money won't arrive. Try a small amount first. 5 They cash out to M-Pesa or their bank The money appears in their AutoPayKe balance. They withdraw to their M-Pesa number, to someone else's, or to any of 40 Kenyan banks and SACCOs, seeing the exact Kenyan shilling amount and fee before they confirm. Always choose the Avalanche C-Chain network AutoPayKe addresses receive USDC and USDT on Avalanche C-Chain. If you withdraw on Ethereum, Tron (TRC-20), BNB Chain, Solana or any other network, the money will not arrive. Send a small test amount first. How your recipient gets the money M-Pesa: to their own number or anyone else's, from KES 10 up to KES 150,000 per cash-out. Receipts show the real recipient's number and name. Bank: to any of 40 Kenyan banks, microfinance banks and SACCOs over PesaLink. Save the account once, pick it in one tap next time. Bills and shops: pay any M-Pesa Till or PayBill number straight from the balance. Keep it in dollars: leave it as USDC or USDT in their own wallet and cash out when they choose. Every cash-out shows live progress in the app, step by step, and they get a push notification when it lands. Fees and exchange rates, explained There are two places a fee can appear. First, your exchange charges to convert your local currency into USDC and to withdraw it, check their price before you buy. Second, when the money leaves AutoPayKe for M-Pesa, a bank or a Till, there is a disclosed cash-out fee and the exchange rate to shillings is shown on the review screen. Nothing is taken without being shown first. Sending between two AutoPayKe users carries only a small flat network fee. Our current published prices are available to anyone at api.autopayke.com/api/v1/fees/published. Limits and timing Minimum cash-out: KES 10. M-Pesa: up to KES 150,000 per cash-out, subject to your recipient's own M-Pesa limits. Banks over PesaLink: larger amounts per transfer than M-Pesa. Timing: transfers and cash-outs run 24 hours a day, 7 days a week, including weekends and public holidays. Avoid these common mistakes Sending on the wrong network. Only Avalanche C-Chain reaches an AutoPayKe address. Copying the address by hand. Always paste it, and check the first and last few characters. Sending to the wrong phone number on cash-out. There is no recipient-name check yet, so read the number twice. Sharing sign-in codes. AutoPayKe will never ask for your code or PIN by phone, SMS or WhatsApp. Skipping a test. For a first transfer, send a small amount, confirm it arrived, then send the rest. Sending from a specific country? The steps are the same everywhere, but which stablecoin you can buy and who regulates your exchange differ. Pick your country for the details. Send money to Kenya from the USA Pay with USD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UK Pay with GBP, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Canada Pay with CAD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UAE Pay with AED, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Germany Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Italy Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from France Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the Netherlands Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Ireland Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Australia Pay with AUD, delivered to M-Pesa or a Kenyan bank in shillings. Frequently asked questions What is the cheapest way to send money to Kenya? The cheapest route is the one where your recipient ends up with the most Kenyan shillings for what you spend. With AutoPayKe you pay your exchange's conversion into USDC plus a disclosed AutoPayKe cash-out fee when the money leaves for M-Pesa or a bank. There is no correspondent bank in the middle. Compare the final KES amount, not the headline fee. How long does it take to send money to Kenya? A stablecoin transfer on Avalanche confirms in seconds. Once it reaches your recipient's balance, an M-Pesa cash-out usually completes within minutes, and the app shows each step live. Your exchange may take its own time to process the purchase and withdrawal. Can I send money directly to an M-Pesa number from abroad? The money goes to your recipient's AutoPayKe wallet first, and they move it to M-Pesa in a tap, to their own number or anyone else's. Each M-Pesa cash-out can be from KES 10 up to KES 150,000. Does my recipient need a smartphone? To receive from abroad, yes. They use the AutoPayKe web app on any phone browser and can install it like an app. Cooperative members who are paid by their cooperative can use SMS and USSD instead. Do I need to understand crypto? You need to know how to buy USDC on an exchange and withdraw it on the right network, the same steps as moving money between two accounts. Your recipient never sees a seed phrase or a gas fee: they see Kenyan shillings. Is it safe? Each user's money sits in their own smart contract wallet on Avalanche that AutoPayKe cannot spend from on its own. The main risks are human: sending on the wrong network, or to the wrong address or phone number. There is no recipient-name check on payouts today, so double-check before you confirm. Can I send money to a Kenyan bank account? Yes. Your recipient can withdraw to any of 40 Kenyan banks, microfinance banks and SACCOs over PesaLink, including Equity, KCB, Co-operative Bank, NCBA and Absa. They can save the account once and pick it in one tap next time. Can I pay bills in Kenya directly? Yes. From the AutoPayKe balance your recipient can pay any M-Pesa Till or PayBill number: rent, school fees, utilities or a shop. Is AutoPayKe licensed? AutoPayKe Limited is a Kenyan company. Our payment-service licensing and data-protection registration in Kenya are in progress. We say this plainly rather than claim a status we don't have yet. Related guides Convert USDC or USDT to M-Pesa Cash out stablecoins to M-Pesa in Kenyan shillings: which network to use, what it costs, how long it takes and the mistakes to avoid. Withdraw to 40 Kenyan banks and SACCOs Send money to Equity, KCB, Co-op Bank, NCBA, Absa and 35 more banks, microfinance banks and SACCOs over PesaLink. Pay any M-Pesa Till or PayBill from your balance Pay rent, school fees, utilities and shops on any Till or PayBill number straight from your AutoPayKe balance. Bulk M-Pesa payments for cooperatives and farmers Pay hundreds of farmers to M-Pesa or their bank in one run, with an SMS receipt for every lot and a record you can show anyone. Frequently asked questions Fees, speed, limits, safety, supported countries and how AutoPayKe works underneath, answered plainly. Developers: M-Pesa payout and coverage API Public endpoints for coverage, published fees and fee quotes, with examples you can paste into a terminal or hand to a coding agent. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Sign in AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Send Money to Kenya from the USA, M-Pesa & Bank | AutoPayKe URL: https://www.autopayke.com/send-money-to-kenya/from-usa How to send money to Kenya from the USA: buy USDC or USDT with USD, send it on Avalanche and your recipient gets Kenyan shillings on M-Pesa or in any of 40 banks, usually within minutes. Fees shown before you confirm. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Home Guides Send money to Kenya USA Guide · Sending money home How to Send Money to Kenya from the USA Get US dollars to M-Pesa or a Kenyan bank in shillings without a wire transfer: buy USDC or USDT where you live, send it on Avalanche to your recipient's AutoPayKe address, and they cash out in a tap. Last updated 27 October 2026 You pay with USD → USDC or USDT They receive KES on M-Pesa or in a bank Speed Usually minutes, 24/7 Network Avalanche C-Chain The short answer To send money to Kenya from the USA, buy USDC or USDT with US dollars on a regulated exchange, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they withdraw Kenyan shillings to M-Pesa or any of 40 Kenyan banks. They see the exact amount and fee before confirming. The United States is the largest single source of diaspora remittances to Kenya, according to the Central Bank of Kenya, so this is the most travelled route for money home. Which stablecoin to buy from the USA USDC (issued by Circle, a US company) and USDT are both widely available on US exchanges. USDC is the most common choice in the US, and one USDC is designed to be worth one US dollar. Before you buy Use a US exchange that is registered with FinCEN as a money services business and licensed in your state, and complete its identity checks before you buy. Step by step 1 Your recipient opens a free AutoPayKe account They sign up at autopayke.com with their Kenyan phone number and a 6-digit code. A wallet only they control is created automatically, no bank account, no paperwork beyond basic details. 2 They share their AutoPayKe address with you In the app they open Receive and copy their wallet address (it starts with 0x). This is where you'll send the money. You can also send to an address of your own if you have an AutoPayKe account. 3 Buy USDC or USDT where you live On an exchange you trust in your country, buy USDC (or USDT where it's allowed) with your local currency. One USDC is designed to be worth one US dollar. 4 Withdraw it on the Avalanche C-Chain network Send the USDC to your recipient's address and choose Avalanche C-Chain (sometimes shown as AVAX C-Chain) as the network. Sending on any other network means the money won't arrive. Try a small amount first. 5 They cash out to M-Pesa or their bank The money appears in their AutoPayKe balance. They withdraw to their M-Pesa number, to someone else's, or to any of 40 Kenyan banks and SACCOs, seeing the exact Kenyan shilling amount and fee before they confirm. Always choose the Avalanche C-Chain network AutoPayKe addresses receive USDC and USDT on Avalanche C-Chain. If you withdraw on Ethereum, Tron (TRC-20), BNB Chain, Solana or any other network, the money will not arrive. Send a small test amount first. What it costs Your exchange: its fee to convert USD into USDC or USDT and to withdraw it. Check before you buy. AutoPayKe: a disclosed cash-out fee when the money leaves for M-Pesa, a bank or a Till, with the shilling rate shown on the review screen. No receiving-bank fees and no correspondent banks in the middle. Frequently asked questions How do I send money to Kenya from the USA? Buy USDC or USDT with US dollars on an exchange you trust, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they cash it out to M-Pesa or a Kenyan bank in shillings. How long does it take from the USA? The transfer on Avalanche confirms in seconds. Once it reaches your recipient's balance, an M-Pesa cash-out usually completes within minutes, at any time of day. Your exchange may take its own time to process the purchase. What does it cost to send money to Kenya from the USA? You pay your exchange to convert USD into a dollar stablecoin and withdraw it, then a disclosed AutoPayKe cash-out fee when the money goes to M-Pesa or a bank. Your recipient sees the exact shilling amount before they confirm. Do I need a US bank account to send from the USA? You need whatever your exchange asks for to buy USDC, usually a US bank account or debit card. AutoPayKe itself never asks you for a US bank account: you only send the USDC to your recipient's AutoPayKe address. Does my recipient in Kenya need a bank account? No. Their Kenyan phone number is their account, and the money can go straight to M-Pesa. If they have a bank account, they can withdraw to any of 40 Kenyan banks and SACCOs too. Sending from somewhere else? Send money to Kenya from the UK Pay with GBP, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Canada Pay with CAD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UAE Pay with AED, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Germany Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Italy Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from France Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the Netherlands Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Ireland Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Australia Pay with AUD, delivered to M-Pesa or a Kenyan bank in shillings. Related guides How to send money to Kenya from abroad Send money home to M-Pesa or any Kenyan bank from the USA, UK, Europe, the Gulf or anywhere else, step by step, with every fee shown before you confirm. Convert USDC or USDT to M-Pesa Cash out stablecoins to M-Pesa in Kenyan shillings: which network to use, what it costs, how long it takes and the mistakes to avoid. Withdraw to 40 Kenyan banks and SACCOs Send money to Equity, KCB, Co-op Bank, NCBA, Absa and 35 more banks, microfinance banks and SACCOs over PesaLink. Pay any M-Pesa Till or PayBill from your balance Pay rent, school fees, utilities and shops on any Till or PayBill number straight from your AutoPayKe balance. Bulk M-Pesa payments for cooperatives and farmers Pay hundreds of farmers to M-Pesa or their bank in one run, with an SMS receipt for every lot and a record you can show anyone. Frequently asked questions Fees, speed, limits, safety, supported countries and how AutoPayKe works underneath, answered plainly. Developers: M-Pesa payout and coverage API Public endpoints for coverage, published fees and fee quotes, with examples you can paste into a terminal or hand to a coding agent. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Sign in AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Send Money to Kenya from the UK, M-Pesa & Bank | AutoPayKe URL: https://www.autopayke.com/send-money-to-kenya/from-uk How to send money to Kenya from the UK: buy USDC or USDT with GBP, send it on Avalanche and your recipient gets Kenyan shillings on M-Pesa or in any of 40 banks, usually within minutes. Fees shown before you confirm. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Home Guides Send money to Kenya UK Guide · Sending money home How to Send Money to Kenya from the UK Get British pounds to M-Pesa or a Kenyan bank in shillings without a wire transfer: buy USDC or USDT where you live, send it on Avalanche to your recipient's AutoPayKe address, and they cash out in a tap. Last updated 27 October 2026 You pay with GBP → USDC or USDT They receive KES on M-Pesa or in a bank Speed Usually minutes, 24/7 Network Avalanche C-Chain The short answer To send money to Kenya from the UK, buy USDC or USDT with British pounds on a regulated exchange, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they withdraw Kenyan shillings to M-Pesa or any of 40 Kenyan banks. They see the exact amount and fee before confirming. The UK is one of the biggest sources of money sent home to Kenya, with a large Kenyan community in London and across the country. Which stablecoin to buy from the UK USDC and USDT are both available on UK exchanges. You'll convert pounds to a dollar stablecoin, so the pound-to-dollar rate on your exchange is part of what you pay. Before you buy In the UK, crypto exchanges must be registered with the Financial Conduct Authority (FCA). Check the FCA register before you use one. Step by step 1 Your recipient opens a free AutoPayKe account They sign up at autopayke.com with their Kenyan phone number and a 6-digit code. A wallet only they control is created automatically, no bank account, no paperwork beyond basic details. 2 They share their AutoPayKe address with you In the app they open Receive and copy their wallet address (it starts with 0x). This is where you'll send the money. You can also send to an address of your own if you have an AutoPayKe account. 3 Buy USDC or USDT where you live On an exchange you trust in your country, buy USDC (or USDT where it's allowed) with your local currency. One USDC is designed to be worth one US dollar. 4 Withdraw it on the Avalanche C-Chain network Send the USDC to your recipient's address and choose Avalanche C-Chain (sometimes shown as AVAX C-Chain) as the network. Sending on any other network means the money won't arrive. Try a small amount first. 5 They cash out to M-Pesa or their bank The money appears in their AutoPayKe balance. They withdraw to their M-Pesa number, to someone else's, or to any of 40 Kenyan banks and SACCOs, seeing the exact Kenyan shilling amount and fee before they confirm. Always choose the Avalanche C-Chain network AutoPayKe addresses receive USDC and USDT on Avalanche C-Chain. If you withdraw on Ethereum, Tron (TRC-20), BNB Chain, Solana or any other network, the money will not arrive. Send a small test amount first. What it costs Your exchange: its fee to convert GBP into USDC or USDT and to withdraw it. Check before you buy. AutoPayKe: a disclosed cash-out fee when the money leaves for M-Pesa, a bank or a Till, with the shilling rate shown on the review screen. No receiving-bank fees and no correspondent banks in the middle. Frequently asked questions How do I send money to Kenya from the UK? Buy USDC or USDT with British pounds on an exchange you trust, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they cash it out to M-Pesa or a Kenyan bank in shillings. How long does it take from the UK? The transfer on Avalanche confirms in seconds. Once it reaches your recipient's balance, an M-Pesa cash-out usually completes within minutes, at any time of day. Your exchange may take its own time to process the purchase. What does it cost to send money to Kenya from the UK? You pay your exchange to convert GBP into a dollar stablecoin and withdraw it, then a disclosed AutoPayKe cash-out fee when the money goes to M-Pesa or a bank. Your recipient sees the exact shilling amount before they confirm. Is it cheaper to send pounds to Kenya through a stablecoin? It can be, because there is no correspondent bank in the middle, but you pay your exchange's pound-to-USDC conversion plus AutoPayKe's disclosed cash-out fee. Compare the KES amount your recipient will actually get, not the headline fee. Does my recipient in Kenya need a bank account? No. Their Kenyan phone number is their account, and the money can go straight to M-Pesa. If they have a bank account, they can withdraw to any of 40 Kenyan banks and SACCOs too. Sending from somewhere else? Send money to Kenya from the USA Pay with USD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Canada Pay with CAD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UAE Pay with AED, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Germany Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Italy Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from France Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the Netherlands Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Ireland Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Australia Pay with AUD, delivered to M-Pesa or a Kenyan bank in shillings. Related guides How to send money to Kenya from abroad Send money home to M-Pesa or any Kenyan bank from the USA, UK, Europe, the Gulf or anywhere else, step by step, with every fee shown before you confirm. Convert USDC or USDT to M-Pesa Cash out stablecoins to M-Pesa in Kenyan shillings: which network to use, what it costs, how long it takes and the mistakes to avoid. Withdraw to 40 Kenyan banks and SACCOs Send money to Equity, KCB, Co-op Bank, NCBA, Absa and 35 more banks, microfinance banks and SACCOs over PesaLink. Pay any M-Pesa Till or PayBill from your balance Pay rent, school fees, utilities and shops on any Till or PayBill number straight from your AutoPayKe balance. Bulk M-Pesa payments for cooperatives and farmers Pay hundreds of farmers to M-Pesa or their bank in one run, with an SMS receipt for every lot and a record you can show anyone. Frequently asked questions Fees, speed, limits, safety, supported countries and how AutoPayKe works underneath, answered plainly. Developers: M-Pesa payout and coverage API Public endpoints for coverage, published fees and fee quotes, with examples you can paste into a terminal or hand to a coding agent. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Sign in AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Send Money to Kenya from Canada, M-Pesa & Bank | AutoPayKe URL: https://www.autopayke.com/send-money-to-kenya/from-canada How to send money to Kenya from Canada: buy USDC with CAD, send it on Avalanche and your recipient gets Kenyan shillings on M-Pesa or in any of 40 banks, usually within minutes. Fees shown before you confirm. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Home Guides Send money to Kenya Canada Guide · Sending money home How to Send Money to Kenya from Canada Get Canadian dollars to M-Pesa or a Kenyan bank in shillings without a wire transfer: buy USDC where you live, send it on Avalanche to your recipient's AutoPayKe address, and they cash out in a tap. Last updated 27 October 2026 You pay with CAD → USDC They receive KES on M-Pesa or in a bank Speed Usually minutes, 24/7 Network Avalanche C-Chain The short answer To send money to Kenya from Canada, buy USDC with Canadian dollars on a regulated exchange, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they withdraw Kenyan shillings to M-Pesa or any of 40 Kenyan banks. They see the exact amount and fee before confirming. Canada has a large and growing Kenyan community, especially in Toronto, Calgary and Vancouver. Which stablecoin to buy from Canada Several Canadian platforms stopped offering USDT under Canadian Securities Administrators rules, so USDC is usually the simpler choice in Canada. Before you buy Use a crypto trading platform that is registered with Canadian securities regulators and lists USDC for withdrawal. Step by step 1 Your recipient opens a free AutoPayKe account They sign up at autopayke.com with their Kenyan phone number and a 6-digit code. A wallet only they control is created automatically, no bank account, no paperwork beyond basic details. 2 They share their AutoPayKe address with you In the app they open Receive and copy their wallet address (it starts with 0x). This is where you'll send the money. You can also send to an address of your own if you have an AutoPayKe account. 3 Buy USDC or USDT where you live On an exchange you trust in your country, buy USDC (or USDT where it's allowed) with your local currency. One USDC is designed to be worth one US dollar. 4 Withdraw it on the Avalanche C-Chain network Send the USDC to your recipient's address and choose Avalanche C-Chain (sometimes shown as AVAX C-Chain) as the network. Sending on any other network means the money won't arrive. Try a small amount first. 5 They cash out to M-Pesa or their bank The money appears in their AutoPayKe balance. They withdraw to their M-Pesa number, to someone else's, or to any of 40 Kenyan banks and SACCOs, seeing the exact Kenyan shilling amount and fee before they confirm. Always choose the Avalanche C-Chain network AutoPayKe addresses receive USDC and USDT on Avalanche C-Chain. If you withdraw on Ethereum, Tron (TRC-20), BNB Chain, Solana or any other network, the money will not arrive. Send a small test amount first. What it costs Your exchange: its fee to convert CAD into USDC and to withdraw it. Check before you buy. AutoPayKe: a disclosed cash-out fee when the money leaves for M-Pesa, a bank or a Till, with the shilling rate shown on the review screen. No receiving-bank fees and no correspondent banks in the middle. Frequently asked questions How do I send money to Kenya from Canada? Buy USDC with Canadian dollars on an exchange you trust, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they cash it out to M-Pesa or a Kenyan bank in shillings. How long does it take from Canada? The transfer on Avalanche confirms in seconds. Once it reaches your recipient's balance, an M-Pesa cash-out usually completes within minutes, at any time of day. Your exchange may take its own time to process the purchase. What does it cost to send money to Kenya from Canada? You pay your exchange to convert CAD into a dollar stablecoin and withdraw it, then a disclosed AutoPayKe cash-out fee when the money goes to M-Pesa or a bank. Your recipient sees the exact shilling amount before they confirm. Which stablecoin should I use from Canada? USDC. It is available on registered Canadian platforms, while USDT often is not. Make sure the platform lets you withdraw USDC on the Avalanche C-Chain network. Does my recipient in Kenya need a bank account? No. Their Kenyan phone number is their account, and the money can go straight to M-Pesa. If they have a bank account, they can withdraw to any of 40 Kenyan banks and SACCOs too. Sending from somewhere else? Send money to Kenya from the USA Pay with USD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UK Pay with GBP, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UAE Pay with AED, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Germany Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Italy Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from France Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the Netherlands Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Ireland Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Australia Pay with AUD, delivered to M-Pesa or a Kenyan bank in shillings. Related guides How to send money to Kenya from abroad Send money home to M-Pesa or any Kenyan bank from the USA, UK, Europe, the Gulf or anywhere else, step by step, with every fee shown before you confirm. Convert USDC or USDT to M-Pesa Cash out stablecoins to M-Pesa in Kenyan shillings: which network to use, what it costs, how long it takes and the mistakes to avoid. Withdraw to 40 Kenyan banks and SACCOs Send money to Equity, KCB, Co-op Bank, NCBA, Absa and 35 more banks, microfinance banks and SACCOs over PesaLink. Pay any M-Pesa Till or PayBill from your balance Pay rent, school fees, utilities and shops on any Till or PayBill number straight from your AutoPayKe balance. Bulk M-Pesa payments for cooperatives and farmers Pay hundreds of farmers to M-Pesa or their bank in one run, with an SMS receipt for every lot and a record you can show anyone. Frequently asked questions Fees, speed, limits, safety, supported countries and how AutoPayKe works underneath, answered plainly. Developers: M-Pesa payout and coverage API Public endpoints for coverage, published fees and fee quotes, with examples you can paste into a terminal or hand to a coding agent. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Sign in AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Send Money to Kenya from the UAE, M-Pesa & Bank | AutoPayKe URL: https://www.autopayke.com/send-money-to-kenya/from-uae How to send money to Kenya from the UAE: buy USDC or USDT with AED, send it on Avalanche and your recipient gets Kenyan shillings on M-Pesa or in any of 40 banks, usually within minutes. Fees shown before you confirm. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Home Guides Send money to Kenya UAE Guide · Sending money home How to Send Money to Kenya from the UAE Get UAE dirhams to M-Pesa or a Kenyan bank in shillings without a wire transfer: buy USDC or USDT where you live, send it on Avalanche to your recipient's AutoPayKe address, and they cash out in a tap. Last updated 27 October 2026 You pay with AED → USDC or USDT They receive KES on M-Pesa or in a bank Speed Usually minutes, 24/7 Network Avalanche C-Chain The short answer To send money to Kenya from the UAE, buy USDC or USDT with UAE dirhams on a regulated exchange, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they withdraw Kenyan shillings to M-Pesa or any of 40 Kenyan banks. They see the exact amount and fee before confirming. Kenyans working in the Gulf send home a growing share of Kenya's remittances, and the UAE is one of the main hubs. Which stablecoin to buy from the UAE USDC and USDT are both available from licensed UAE exchanges. The dirham is pegged to the US dollar, so the conversion to a dollar stablecoin is predictable. Before you buy Use a provider licensed in the UAE, for example by VARA in Dubai or by the ADGM in Abu Dhabi. Step by step 1 Your recipient opens a free AutoPayKe account They sign up at autopayke.com with their Kenyan phone number and a 6-digit code. A wallet only they control is created automatically, no bank account, no paperwork beyond basic details. 2 They share their AutoPayKe address with you In the app they open Receive and copy their wallet address (it starts with 0x). This is where you'll send the money. You can also send to an address of your own if you have an AutoPayKe account. 3 Buy USDC or USDT where you live On an exchange you trust in your country, buy USDC (or USDT where it's allowed) with your local currency. One USDC is designed to be worth one US dollar. 4 Withdraw it on the Avalanche C-Chain network Send the USDC to your recipient's address and choose Avalanche C-Chain (sometimes shown as AVAX C-Chain) as the network. Sending on any other network means the money won't arrive. Try a small amount first. 5 They cash out to M-Pesa or their bank The money appears in their AutoPayKe balance. They withdraw to their M-Pesa number, to someone else's, or to any of 40 Kenyan banks and SACCOs, seeing the exact Kenyan shilling amount and fee before they confirm. Always choose the Avalanche C-Chain network AutoPayKe addresses receive USDC and USDT on Avalanche C-Chain. If you withdraw on Ethereum, Tron (TRC-20), BNB Chain, Solana or any other network, the money will not arrive. Send a small test amount first. What it costs Your exchange: its fee to convert AED into USDC or USDT and to withdraw it. Check before you buy. AutoPayKe: a disclosed cash-out fee when the money leaves for M-Pesa, a bank or a Till, with the shilling rate shown on the review screen. No receiving-bank fees and no correspondent banks in the middle. Frequently asked questions How do I send money to Kenya from the UAE? Buy USDC or USDT with UAE dirhams on an exchange you trust, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they cash it out to M-Pesa or a Kenyan bank in shillings. How long does it take from the UAE? The transfer on Avalanche confirms in seconds. Once it reaches your recipient's balance, an M-Pesa cash-out usually completes within minutes, at any time of day. Your exchange may take its own time to process the purchase. What does it cost to send money to Kenya from the UAE? You pay your exchange to convert AED into a dollar stablecoin and withdraw it, then a disclosed AutoPayKe cash-out fee when the money goes to M-Pesa or a bank. Your recipient sees the exact shilling amount before they confirm. Can I send money to M-Pesa from Dubai? Yes. Buy USDC or USDT on a licensed UAE exchange, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they cash it out to M-Pesa in Kenyan shillings. Does my recipient in Kenya need a bank account? No. Their Kenyan phone number is their account, and the money can go straight to M-Pesa. If they have a bank account, they can withdraw to any of 40 Kenyan banks and SACCOs too. Sending from somewhere else? Send money to Kenya from the USA Pay with USD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UK Pay with GBP, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Canada Pay with CAD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Germany Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Italy Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from France Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the Netherlands Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Ireland Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Australia Pay with AUD, delivered to M-Pesa or a Kenyan bank in shillings. Related guides How to send money to Kenya from abroad Send money home to M-Pesa or any Kenyan bank from the USA, UK, Europe, the Gulf or anywhere else, step by step, with every fee shown before you confirm. Convert USDC or USDT to M-Pesa Cash out stablecoins to M-Pesa in Kenyan shillings: which network to use, what it costs, how long it takes and the mistakes to avoid. Withdraw to 40 Kenyan banks and SACCOs Send money to Equity, KCB, Co-op Bank, NCBA, Absa and 35 more banks, microfinance banks and SACCOs over PesaLink. Pay any M-Pesa Till or PayBill from your balance Pay rent, school fees, utilities and shops on any Till or PayBill number straight from your AutoPayKe balance. Bulk M-Pesa payments for cooperatives and farmers Pay hundreds of farmers to M-Pesa or their bank in one run, with an SMS receipt for every lot and a record you can show anyone. Frequently asked questions Fees, speed, limits, safety, supported countries and how AutoPayKe works underneath, answered plainly. Developers: M-Pesa payout and coverage API Public endpoints for coverage, published fees and fee quotes, with examples you can paste into a terminal or hand to a coding agent. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Sign in AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Send Money to Kenya from Germany, M-Pesa & Bank | AutoPayKe URL: https://www.autopayke.com/send-money-to-kenya/from-germany How to send money to Kenya from Germany: buy USDC with EUR, send it on Avalanche and your recipient gets Kenyan shillings on M-Pesa or in any of 40 banks, usually within minutes. Fees shown before you confirm. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Home Guides Send money to Kenya Germany Guide · Sending money home How to Send Money to Kenya from Germany Get euros to M-Pesa or a Kenyan bank in shillings without a wire transfer: buy USDC where you live, send it on Avalanche to your recipient's AutoPayKe address, and they cash out in a tap. Last updated 27 October 2026 You pay with EUR → USDC They receive KES on M-Pesa or in a bank Speed Usually minutes, 24/7 Network Avalanche C-Chain The short answer To send money to Kenya from Germany, buy USDC with euros on a regulated exchange, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they withdraw Kenyan shillings to M-Pesa or any of 40 Kenyan banks. They see the exact amount and fee before confirming. Germany has one of the largest Kenyan communities in continental Europe, many of them students and skilled workers. Which stablecoin to buy from Germany Under the EU's MiCA rules, exchanges serving EU customers have delisted USDT, while USDC, issued by Circle under an EU e-money licence, is still widely available. Buy USDC. Before you buy Since MiCA, crypto providers serving EU customers need an EU authorisation. Check that your exchange is authorised in the EU before you buy. Step by step 1 Your recipient opens a free AutoPayKe account They sign up at autopayke.com with their Kenyan phone number and a 6-digit code. A wallet only they control is created automatically, no bank account, no paperwork beyond basic details. 2 They share their AutoPayKe address with you In the app they open Receive and copy their wallet address (it starts with 0x). This is where you'll send the money. You can also send to an address of your own if you have an AutoPayKe account. 3 Buy USDC or USDT where you live On an exchange you trust in your country, buy USDC (or USDT where it's allowed) with your local currency. One USDC is designed to be worth one US dollar. 4 Withdraw it on the Avalanche C-Chain network Send the USDC to your recipient's address and choose Avalanche C-Chain (sometimes shown as AVAX C-Chain) as the network. Sending on any other network means the money won't arrive. Try a small amount first. 5 They cash out to M-Pesa or their bank The money appears in their AutoPayKe balance. They withdraw to their M-Pesa number, to someone else's, or to any of 40 Kenyan banks and SACCOs, seeing the exact Kenyan shilling amount and fee before they confirm. Always choose the Avalanche C-Chain network AutoPayKe addresses receive USDC and USDT on Avalanche C-Chain. If you withdraw on Ethereum, Tron (TRC-20), BNB Chain, Solana or any other network, the money will not arrive. Send a small test amount first. What it costs Your exchange: its fee to convert EUR into USDC and to withdraw it. Check before you buy. AutoPayKe: a disclosed cash-out fee when the money leaves for M-Pesa, a bank or a Till, with the shilling rate shown on the review screen. No receiving-bank fees and no correspondent banks in the middle. Frequently asked questions How do I send money to Kenya from Germany? Buy USDC with euros on an exchange you trust, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they cash it out to M-Pesa or a Kenyan bank in shillings. How long does it take from Germany? The transfer on Avalanche confirms in seconds. Once it reaches your recipient's balance, an M-Pesa cash-out usually completes within minutes, at any time of day. Your exchange may take its own time to process the purchase. What does it cost to send money to Kenya from Germany? You pay your exchange to convert EUR into a dollar stablecoin and withdraw it, then a disclosed AutoPayKe cash-out fee when the money goes to M-Pesa or a bank. Your recipient sees the exact shilling amount before they confirm. Can I send USDT from Europe instead of USDC? Most EU exchanges no longer offer USDT to EU customers under MiCA, so USDC is the practical choice. AutoPayKe accepts both on Avalanche, so if you already hold USDT elsewhere it will arrive too. Does my recipient in Kenya need a bank account? No. Their Kenyan phone number is their account, and the money can go straight to M-Pesa. If they have a bank account, they can withdraw to any of 40 Kenyan banks and SACCOs too. Sending from somewhere else? Send money to Kenya from the USA Pay with USD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UK Pay with GBP, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Canada Pay with CAD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UAE Pay with AED, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Italy Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from France Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the Netherlands Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Ireland Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Australia Pay with AUD, delivered to M-Pesa or a Kenyan bank in shillings. Related guides How to send money to Kenya from abroad Send money home to M-Pesa or any Kenyan bank from the USA, UK, Europe, the Gulf or anywhere else, step by step, with every fee shown before you confirm. Convert USDC or USDT to M-Pesa Cash out stablecoins to M-Pesa in Kenyan shillings: which network to use, what it costs, how long it takes and the mistakes to avoid. Withdraw to 40 Kenyan banks and SACCOs Send money to Equity, KCB, Co-op Bank, NCBA, Absa and 35 more banks, microfinance banks and SACCOs over PesaLink. Pay any M-Pesa Till or PayBill from your balance Pay rent, school fees, utilities and shops on any Till or PayBill number straight from your AutoPayKe balance. Bulk M-Pesa payments for cooperatives and farmers Pay hundreds of farmers to M-Pesa or their bank in one run, with an SMS receipt for every lot and a record you can show anyone. Frequently asked questions Fees, speed, limits, safety, supported countries and how AutoPayKe works underneath, answered plainly. Developers: M-Pesa payout and coverage API Public endpoints for coverage, published fees and fee quotes, with examples you can paste into a terminal or hand to a coding agent. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Sign in AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Send Money to Kenya from Italy, M-Pesa & Bank | AutoPayKe URL: https://www.autopayke.com/send-money-to-kenya/from-italy How to send money to Kenya from Italy: buy USDC with EUR, send it on Avalanche and your recipient gets Kenyan shillings on M-Pesa or in any of 40 banks, usually within minutes. Fees shown before you confirm. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Home Guides Send money to Kenya Italy Guide · Sending money home How to Send Money to Kenya from Italy Get euros to M-Pesa or a Kenyan bank in shillings without a wire transfer: buy USDC where you live, send it on Avalanche to your recipient's AutoPayKe address, and they cash out in a tap. Last updated 27 October 2026 You pay with EUR → USDC They receive KES on M-Pesa or in a bank Speed Usually minutes, 24/7 Network Avalanche C-Chain The short answer To send money to Kenya from Italy, buy USDC with euros on a regulated exchange, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they withdraw Kenyan shillings to M-Pesa or any of 40 Kenyan banks. They see the exact amount and fee before confirming. AutoPayKe is piloting in Italy, in Rome and Naples, in partnership with the Italian Trade Agency. The whole site and app are available in Italian, and you can sign up with an Italian phone number. Which stablecoin to buy from Italy Under the EU's MiCA rules, exchanges serving EU customers have delisted USDT, while USDC, issued by Circle under an EU e-money licence, is still widely available. Buy USDC. Before you buy Since MiCA, crypto providers serving EU customers need an EU authorisation. Check that your exchange is authorised in the EU before you buy. Step by step 1 Your recipient opens a free AutoPayKe account They sign up at autopayke.com with their Kenyan phone number and a 6-digit code. A wallet only they control is created automatically, no bank account, no paperwork beyond basic details. 2 They share their AutoPayKe address with you In the app they open Receive and copy their wallet address (it starts with 0x). This is where you'll send the money. You can also send to an address of your own if you have an AutoPayKe account. 3 Buy USDC or USDT where you live On an exchange you trust in your country, buy USDC (or USDT where it's allowed) with your local currency. One USDC is designed to be worth one US dollar. 4 Withdraw it on the Avalanche C-Chain network Send the USDC to your recipient's address and choose Avalanche C-Chain (sometimes shown as AVAX C-Chain) as the network. Sending on any other network means the money won't arrive. Try a small amount first. 5 They cash out to M-Pesa or their bank The money appears in their AutoPayKe balance. They withdraw to their M-Pesa number, to someone else's, or to any of 40 Kenyan banks and SACCOs, seeing the exact Kenyan shilling amount and fee before they confirm. Always choose the Avalanche C-Chain network AutoPayKe addresses receive USDC and USDT on Avalanche C-Chain. If you withdraw on Ethereum, Tron (TRC-20), BNB Chain, Solana or any other network, the money will not arrive. Send a small test amount first. What it costs Your exchange: its fee to convert EUR into USDC and to withdraw it. Check before you buy. AutoPayKe: a disclosed cash-out fee when the money leaves for M-Pesa, a bank or a Till, with the shilling rate shown on the review screen. No receiving-bank fees and no correspondent banks in the middle. Frequently asked questions How do I send money to Kenya from Italy? Buy USDC with euros on an exchange you trust, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they cash it out to M-Pesa or a Kenyan bank in shillings. How long does it take from Italy? The transfer on Avalanche confirms in seconds. Once it reaches your recipient's balance, an M-Pesa cash-out usually completes within minutes, at any time of day. Your exchange may take its own time to process the purchase. What does it cost to send money to Kenya from Italy? You pay your exchange to convert EUR into a dollar stablecoin and withdraw it, then a disclosed AutoPayKe cash-out fee when the money goes to M-Pesa or a bank. Your recipient sees the exact shilling amount before they confirm. Is AutoPayKe available in Italian? Yes. The website and the app are fully translated into Italian at autopayke.com/it, and visitors in Italy are offered Italian automatically. You can also sign up with an Italian (+39) number. Does my recipient in Kenya need a bank account? No. Their Kenyan phone number is their account, and the money can go straight to M-Pesa. If they have a bank account, they can withdraw to any of 40 Kenyan banks and SACCOs too. Sending from somewhere else? Send money to Kenya from the USA Pay with USD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UK Pay with GBP, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Canada Pay with CAD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UAE Pay with AED, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Germany Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from France Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the Netherlands Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Ireland Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Australia Pay with AUD, delivered to M-Pesa or a Kenyan bank in shillings. Related guides How to send money to Kenya from abroad Send money home to M-Pesa or any Kenyan bank from the USA, UK, Europe, the Gulf or anywhere else, step by step, with every fee shown before you confirm. Convert USDC or USDT to M-Pesa Cash out stablecoins to M-Pesa in Kenyan shillings: which network to use, what it costs, how long it takes and the mistakes to avoid. Withdraw to 40 Kenyan banks and SACCOs Send money to Equity, KCB, Co-op Bank, NCBA, Absa and 35 more banks, microfinance banks and SACCOs over PesaLink. Pay any M-Pesa Till or PayBill from your balance Pay rent, school fees, utilities and shops on any Till or PayBill number straight from your AutoPayKe balance. Bulk M-Pesa payments for cooperatives and farmers Pay hundreds of farmers to M-Pesa or their bank in one run, with an SMS receipt for every lot and a record you can show anyone. Frequently asked questions Fees, speed, limits, safety, supported countries and how AutoPayKe works underneath, answered plainly. Developers: M-Pesa payout and coverage API Public endpoints for coverage, published fees and fee quotes, with examples you can paste into a terminal or hand to a coding agent. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Sign in AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Send Money to Kenya from France, M-Pesa & Bank | AutoPayKe URL: https://www.autopayke.com/send-money-to-kenya/from-france How to send money to Kenya from France: buy USDC with EUR, send it on Avalanche and your recipient gets Kenyan shillings on M-Pesa or in any of 40 banks, usually within minutes. Fees shown before you confirm. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Home Guides Send money to Kenya France Guide · Sending money home How to Send Money to Kenya from France Get euros to M-Pesa or a Kenyan bank in shillings without a wire transfer: buy USDC where you live, send it on Avalanche to your recipient's AutoPayKe address, and they cash out in a tap. Last updated 27 October 2026 You pay with EUR → USDC They receive KES on M-Pesa or in a bank Speed Usually minutes, 24/7 Network Avalanche C-Chain The short answer To send money to Kenya from France, buy USDC with euros on a regulated exchange, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they withdraw Kenyan shillings to M-Pesa or any of 40 Kenyan banks. They see the exact amount and fee before confirming. France is home to a growing East African community, and euro-denominated USDC makes the route to Kenyan shillings straightforward. Which stablecoin to buy from France Under the EU's MiCA rules, exchanges serving EU customers have delisted USDT, while USDC, issued by Circle under an EU e-money licence, is still widely available. Buy USDC. Before you buy Since MiCA, crypto providers serving EU customers need an EU authorisation. Check that your exchange is authorised in the EU before you buy. Step by step 1 Your recipient opens a free AutoPayKe account They sign up at autopayke.com with their Kenyan phone number and a 6-digit code. A wallet only they control is created automatically, no bank account, no paperwork beyond basic details. 2 They share their AutoPayKe address with you In the app they open Receive and copy their wallet address (it starts with 0x). This is where you'll send the money. You can also send to an address of your own if you have an AutoPayKe account. 3 Buy USDC or USDT where you live On an exchange you trust in your country, buy USDC (or USDT where it's allowed) with your local currency. One USDC is designed to be worth one US dollar. 4 Withdraw it on the Avalanche C-Chain network Send the USDC to your recipient's address and choose Avalanche C-Chain (sometimes shown as AVAX C-Chain) as the network. Sending on any other network means the money won't arrive. Try a small amount first. 5 They cash out to M-Pesa or their bank The money appears in their AutoPayKe balance. They withdraw to their M-Pesa number, to someone else's, or to any of 40 Kenyan banks and SACCOs, seeing the exact Kenyan shilling amount and fee before they confirm. Always choose the Avalanche C-Chain network AutoPayKe addresses receive USDC and USDT on Avalanche C-Chain. If you withdraw on Ethereum, Tron (TRC-20), BNB Chain, Solana or any other network, the money will not arrive. Send a small test amount first. What it costs Your exchange: its fee to convert EUR into USDC and to withdraw it. Check before you buy. AutoPayKe: a disclosed cash-out fee when the money leaves for M-Pesa, a bank or a Till, with the shilling rate shown on the review screen. No receiving-bank fees and no correspondent banks in the middle. Frequently asked questions How do I send money to Kenya from France? Buy USDC with euros on an exchange you trust, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they cash it out to M-Pesa or a Kenyan bank in shillings. How long does it take from France? The transfer on Avalanche confirms in seconds. Once it reaches your recipient's balance, an M-Pesa cash-out usually completes within minutes, at any time of day. Your exchange may take its own time to process the purchase. What does it cost to send money to Kenya from France? You pay your exchange to convert EUR into a dollar stablecoin and withdraw it, then a disclosed AutoPayKe cash-out fee when the money goes to M-Pesa or a bank. Your recipient sees the exact shilling amount before they confirm. Can I send USDT from Europe instead of USDC? Most EU exchanges no longer offer USDT to EU customers under MiCA, so USDC is the practical choice. AutoPayKe accepts both on Avalanche, so if you already hold USDT elsewhere it will arrive too. Does my recipient in Kenya need a bank account? No. Their Kenyan phone number is their account, and the money can go straight to M-Pesa. If they have a bank account, they can withdraw to any of 40 Kenyan banks and SACCOs too. Sending from somewhere else? Send money to Kenya from the USA Pay with USD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UK Pay with GBP, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Canada Pay with CAD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UAE Pay with AED, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Germany Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Italy Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the Netherlands Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Ireland Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Australia Pay with AUD, delivered to M-Pesa or a Kenyan bank in shillings. Related guides How to send money to Kenya from abroad Send money home to M-Pesa or any Kenyan bank from the USA, UK, Europe, the Gulf or anywhere else, step by step, with every fee shown before you confirm. Convert USDC or USDT to M-Pesa Cash out stablecoins to M-Pesa in Kenyan shillings: which network to use, what it costs, how long it takes and the mistakes to avoid. Withdraw to 40 Kenyan banks and SACCOs Send money to Equity, KCB, Co-op Bank, NCBA, Absa and 35 more banks, microfinance banks and SACCOs over PesaLink. Pay any M-Pesa Till or PayBill from your balance Pay rent, school fees, utilities and shops on any Till or PayBill number straight from your AutoPayKe balance. Bulk M-Pesa payments for cooperatives and farmers Pay hundreds of farmers to M-Pesa or their bank in one run, with an SMS receipt for every lot and a record you can show anyone. Frequently asked questions Fees, speed, limits, safety, supported countries and how AutoPayKe works underneath, answered plainly. Developers: M-Pesa payout and coverage API Public endpoints for coverage, published fees and fee quotes, with examples you can paste into a terminal or hand to a coding agent. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Sign in AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Send Money to Kenya from the Netherlands, M-Pesa & Bank | AutoPayKe URL: https://www.autopayke.com/send-money-to-kenya/from-netherlands How to send money to Kenya from the Netherlands: buy USDC with EUR, send it on Avalanche and your recipient gets Kenyan shillings on M-Pesa or in any of 40 banks, usually within minutes. Fees shown before you confirm. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Home Guides Send money to Kenya Netherlands Guide · Sending money home How to Send Money to Kenya from the Netherlands Get euros to M-Pesa or a Kenyan bank in shillings without a wire transfer: buy USDC where you live, send it on Avalanche to your recipient's AutoPayKe address, and they cash out in a tap. Last updated 27 October 2026 You pay with EUR → USDC They receive KES on M-Pesa or in a bank Speed Usually minutes, 24/7 Network Avalanche C-Chain The short answer To send money to Kenya from the Netherlands, buy USDC with euros on a regulated exchange, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they withdraw Kenyan shillings to M-Pesa or any of 40 Kenyan banks. They see the exact amount and fee before confirming. The Netherlands has close trade ties with Kenya, especially in flowers and horticulture, and many Kenyans working there send money home. Which stablecoin to buy from the Netherlands Under the EU's MiCA rules, exchanges serving EU customers have delisted USDT, while USDC, issued by Circle under an EU e-money licence, is still widely available. Buy USDC. Before you buy Since MiCA, crypto providers serving EU customers need an EU authorisation. Check that your exchange is authorised in the EU before you buy. Step by step 1 Your recipient opens a free AutoPayKe account They sign up at autopayke.com with their Kenyan phone number and a 6-digit code. A wallet only they control is created automatically, no bank account, no paperwork beyond basic details. 2 They share their AutoPayKe address with you In the app they open Receive and copy their wallet address (it starts with 0x). This is where you'll send the money. You can also send to an address of your own if you have an AutoPayKe account. 3 Buy USDC or USDT where you live On an exchange you trust in your country, buy USDC (or USDT where it's allowed) with your local currency. One USDC is designed to be worth one US dollar. 4 Withdraw it on the Avalanche C-Chain network Send the USDC to your recipient's address and choose Avalanche C-Chain (sometimes shown as AVAX C-Chain) as the network. Sending on any other network means the money won't arrive. Try a small amount first. 5 They cash out to M-Pesa or their bank The money appears in their AutoPayKe balance. They withdraw to their M-Pesa number, to someone else's, or to any of 40 Kenyan banks and SACCOs, seeing the exact Kenyan shilling amount and fee before they confirm. Always choose the Avalanche C-Chain network AutoPayKe addresses receive USDC and USDT on Avalanche C-Chain. If you withdraw on Ethereum, Tron (TRC-20), BNB Chain, Solana or any other network, the money will not arrive. Send a small test amount first. What it costs Your exchange: its fee to convert EUR into USDC and to withdraw it. Check before you buy. AutoPayKe: a disclosed cash-out fee when the money leaves for M-Pesa, a bank or a Till, with the shilling rate shown on the review screen. No receiving-bank fees and no correspondent banks in the middle. Frequently asked questions How do I send money to Kenya from the Netherlands? Buy USDC with euros on an exchange you trust, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they cash it out to M-Pesa or a Kenyan bank in shillings. How long does it take from the Netherlands? The transfer on Avalanche confirms in seconds. Once it reaches your recipient's balance, an M-Pesa cash-out usually completes within minutes, at any time of day. Your exchange may take its own time to process the purchase. What does it cost to send money to Kenya from the Netherlands? You pay your exchange to convert EUR into a dollar stablecoin and withdraw it, then a disclosed AutoPayKe cash-out fee when the money goes to M-Pesa or a bank. Your recipient sees the exact shilling amount before they confirm. Can I send USDT from Europe instead of USDC? Most EU exchanges no longer offer USDT to EU customers under MiCA, so USDC is the practical choice. AutoPayKe accepts both on Avalanche, so if you already hold USDT elsewhere it will arrive too. Does my recipient in Kenya need a bank account? No. Their Kenyan phone number is their account, and the money can go straight to M-Pesa. If they have a bank account, they can withdraw to any of 40 Kenyan banks and SACCOs too. Sending from somewhere else? Send money to Kenya from the USA Pay with USD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UK Pay with GBP, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Canada Pay with CAD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UAE Pay with AED, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Germany Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Italy Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from France Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Ireland Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Australia Pay with AUD, delivered to M-Pesa or a Kenyan bank in shillings. Related guides How to send money to Kenya from abroad Send money home to M-Pesa or any Kenyan bank from the USA, UK, Europe, the Gulf or anywhere else, step by step, with every fee shown before you confirm. Convert USDC or USDT to M-Pesa Cash out stablecoins to M-Pesa in Kenyan shillings: which network to use, what it costs, how long it takes and the mistakes to avoid. Withdraw to 40 Kenyan banks and SACCOs Send money to Equity, KCB, Co-op Bank, NCBA, Absa and 35 more banks, microfinance banks and SACCOs over PesaLink. Pay any M-Pesa Till or PayBill from your balance Pay rent, school fees, utilities and shops on any Till or PayBill number straight from your AutoPayKe balance. Bulk M-Pesa payments for cooperatives and farmers Pay hundreds of farmers to M-Pesa or their bank in one run, with an SMS receipt for every lot and a record you can show anyone. Frequently asked questions Fees, speed, limits, safety, supported countries and how AutoPayKe works underneath, answered plainly. Developers: M-Pesa payout and coverage API Public endpoints for coverage, published fees and fee quotes, with examples you can paste into a terminal or hand to a coding agent. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Sign in AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Send Money to Kenya from Ireland, M-Pesa & Bank | AutoPayKe URL: https://www.autopayke.com/send-money-to-kenya/from-ireland How to send money to Kenya from Ireland: buy USDC with EUR, send it on Avalanche and your recipient gets Kenyan shillings on M-Pesa or in any of 40 banks, usually within minutes. Fees shown before you confirm. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Home Guides Send money to Kenya Ireland Guide · Sending money home How to Send Money to Kenya from Ireland Get euros to M-Pesa or a Kenyan bank in shillings without a wire transfer: buy USDC where you live, send it on Avalanche to your recipient's AutoPayKe address, and they cash out in a tap. Last updated 27 October 2026 You pay with EUR → USDC They receive KES on M-Pesa or in a bank Speed Usually minutes, 24/7 Network Avalanche C-Chain The short answer To send money to Kenya from Ireland, buy USDC with euros on a regulated exchange, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they withdraw Kenyan shillings to M-Pesa or any of 40 Kenyan banks. They see the exact amount and fee before confirming. Many Kenyans in Ireland work in healthcare and technology and send money home every month. Which stablecoin to buy from Ireland Under the EU's MiCA rules, exchanges serving EU customers have delisted USDT, while USDC, issued by Circle under an EU e-money licence, is still widely available. Buy USDC. Before you buy Since MiCA, crypto providers serving EU customers need an EU authorisation. Check that your exchange is authorised in the EU before you buy. Step by step 1 Your recipient opens a free AutoPayKe account They sign up at autopayke.com with their Kenyan phone number and a 6-digit code. A wallet only they control is created automatically, no bank account, no paperwork beyond basic details. 2 They share their AutoPayKe address with you In the app they open Receive and copy their wallet address (it starts with 0x). This is where you'll send the money. You can also send to an address of your own if you have an AutoPayKe account. 3 Buy USDC or USDT where you live On an exchange you trust in your country, buy USDC (or USDT where it's allowed) with your local currency. One USDC is designed to be worth one US dollar. 4 Withdraw it on the Avalanche C-Chain network Send the USDC to your recipient's address and choose Avalanche C-Chain (sometimes shown as AVAX C-Chain) as the network. Sending on any other network means the money won't arrive. Try a small amount first. 5 They cash out to M-Pesa or their bank The money appears in their AutoPayKe balance. They withdraw to their M-Pesa number, to someone else's, or to any of 40 Kenyan banks and SACCOs, seeing the exact Kenyan shilling amount and fee before they confirm. Always choose the Avalanche C-Chain network AutoPayKe addresses receive USDC and USDT on Avalanche C-Chain. If you withdraw on Ethereum, Tron (TRC-20), BNB Chain, Solana or any other network, the money will not arrive. Send a small test amount first. What it costs Your exchange: its fee to convert EUR into USDC and to withdraw it. Check before you buy. AutoPayKe: a disclosed cash-out fee when the money leaves for M-Pesa, a bank or a Till, with the shilling rate shown on the review screen. No receiving-bank fees and no correspondent banks in the middle. Frequently asked questions How do I send money to Kenya from Ireland? Buy USDC with euros on an exchange you trust, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they cash it out to M-Pesa or a Kenyan bank in shillings. How long does it take from Ireland? The transfer on Avalanche confirms in seconds. Once it reaches your recipient's balance, an M-Pesa cash-out usually completes within minutes, at any time of day. Your exchange may take its own time to process the purchase. What does it cost to send money to Kenya from Ireland? You pay your exchange to convert EUR into a dollar stablecoin and withdraw it, then a disclosed AutoPayKe cash-out fee when the money goes to M-Pesa or a bank. Your recipient sees the exact shilling amount before they confirm. Can I send USDT from Europe instead of USDC? Most EU exchanges no longer offer USDT to EU customers under MiCA, so USDC is the practical choice. AutoPayKe accepts both on Avalanche, so if you already hold USDT elsewhere it will arrive too. Does my recipient in Kenya need a bank account? No. Their Kenyan phone number is their account, and the money can go straight to M-Pesa. If they have a bank account, they can withdraw to any of 40 Kenyan banks and SACCOs too. Sending from somewhere else? Send money to Kenya from the USA Pay with USD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UK Pay with GBP, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Canada Pay with CAD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UAE Pay with AED, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Germany Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Italy Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from France Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the Netherlands Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Australia Pay with AUD, delivered to M-Pesa or a Kenyan bank in shillings. Related guides How to send money to Kenya from abroad Send money home to M-Pesa or any Kenyan bank from the USA, UK, Europe, the Gulf or anywhere else, step by step, with every fee shown before you confirm. Convert USDC or USDT to M-Pesa Cash out stablecoins to M-Pesa in Kenyan shillings: which network to use, what it costs, how long it takes and the mistakes to avoid. Withdraw to 40 Kenyan banks and SACCOs Send money to Equity, KCB, Co-op Bank, NCBA, Absa and 35 more banks, microfinance banks and SACCOs over PesaLink. Pay any M-Pesa Till or PayBill from your balance Pay rent, school fees, utilities and shops on any Till or PayBill number straight from your AutoPayKe balance. Bulk M-Pesa payments for cooperatives and farmers Pay hundreds of farmers to M-Pesa or their bank in one run, with an SMS receipt for every lot and a record you can show anyone. Frequently asked questions Fees, speed, limits, safety, supported countries and how AutoPayKe works underneath, answered plainly. Developers: M-Pesa payout and coverage API Public endpoints for coverage, published fees and fee quotes, with examples you can paste into a terminal or hand to a coding agent. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Sign in AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Send Money to Kenya from Australia, M-Pesa & Bank | AutoPayKe URL: https://www.autopayke.com/send-money-to-kenya/from-australia How to send money to Kenya from Australia: buy USDC or USDT with AUD, send it on Avalanche and your recipient gets Kenyan shillings on M-Pesa or in any of 40 banks, usually within minutes. Fees shown before you confirm. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Home Guides Send money to Kenya Australia Guide · Sending money home How to Send Money to Kenya from Australia Get Australian dollars to M-Pesa or a Kenyan bank in shillings without a wire transfer: buy USDC or USDT where you live, send it on Avalanche to your recipient's AutoPayKe address, and they cash out in a tap. Last updated 27 October 2026 You pay with AUD → USDC or USDT They receive KES on M-Pesa or in a bank Speed Usually minutes, 24/7 Network Avalanche C-Chain The short answer To send money to Kenya from Australia, buy USDC or USDT with Australian dollars on a regulated exchange, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they withdraw Kenyan shillings to M-Pesa or any of 40 Kenyan banks. They see the exact amount and fee before confirming. Australia's Kenyan community is concentrated in Melbourne, Sydney and Perth, a long way from home in both distance and time zones. Which stablecoin to buy from Australia USDC and USDT are both available on Australian exchanges. You'll convert Australian dollars to a US-dollar stablecoin, so check the AUD rate your exchange gives you. Before you buy Australian digital currency exchanges must be registered with AUSTRAC. Check the register before you use one. Step by step 1 Your recipient opens a free AutoPayKe account They sign up at autopayke.com with their Kenyan phone number and a 6-digit code. A wallet only they control is created automatically, no bank account, no paperwork beyond basic details. 2 They share their AutoPayKe address with you In the app they open Receive and copy their wallet address (it starts with 0x). This is where you'll send the money. You can also send to an address of your own if you have an AutoPayKe account. 3 Buy USDC or USDT where you live On an exchange you trust in your country, buy USDC (or USDT where it's allowed) with your local currency. One USDC is designed to be worth one US dollar. 4 Withdraw it on the Avalanche C-Chain network Send the USDC to your recipient's address and choose Avalanche C-Chain (sometimes shown as AVAX C-Chain) as the network. Sending on any other network means the money won't arrive. Try a small amount first. 5 They cash out to M-Pesa or their bank The money appears in their AutoPayKe balance. They withdraw to their M-Pesa number, to someone else's, or to any of 40 Kenyan banks and SACCOs, seeing the exact Kenyan shilling amount and fee before they confirm. Always choose the Avalanche C-Chain network AutoPayKe addresses receive USDC and USDT on Avalanche C-Chain. If you withdraw on Ethereum, Tron (TRC-20), BNB Chain, Solana or any other network, the money will not arrive. Send a small test amount first. What it costs Your exchange: its fee to convert AUD into USDC or USDT and to withdraw it. Check before you buy. AutoPayKe: a disclosed cash-out fee when the money leaves for M-Pesa, a bank or a Till, with the shilling rate shown on the review screen. No receiving-bank fees and no correspondent banks in the middle. Frequently asked questions How do I send money to Kenya from Australia? Buy USDC or USDT with Australian dollars on an exchange you trust, withdraw it on the Avalanche C-Chain network to your recipient's AutoPayKe address, and they cash it out to M-Pesa or a Kenyan bank in shillings. How long does it take from Australia? The transfer on Avalanche confirms in seconds. Once it reaches your recipient's balance, an M-Pesa cash-out usually completes within minutes, at any time of day. Your exchange may take its own time to process the purchase. What does it cost to send money to Kenya from Australia? You pay your exchange to convert AUD into a dollar stablecoin and withdraw it, then a disclosed AutoPayKe cash-out fee when the money goes to M-Pesa or a bank. Your recipient sees the exact shilling amount before they confirm. Will the money arrive while Kenya is asleep? Yes. Stablecoin transfers and M-Pesa cash-outs run around the clock, so the time difference between Australia and Kenya doesn't hold the money up. Does my recipient in Kenya need a bank account? No. Their Kenyan phone number is their account, and the money can go straight to M-Pesa. If they have a bank account, they can withdraw to any of 40 Kenyan banks and SACCOs too. Sending from somewhere else? Send money to Kenya from the USA Pay with USD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UK Pay with GBP, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Canada Pay with CAD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UAE Pay with AED, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Germany Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Italy Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from France Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the Netherlands Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Ireland Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Related guides How to send money to Kenya from abroad Send money home to M-Pesa or any Kenyan bank from the USA, UK, Europe, the Gulf or anywhere else, step by step, with every fee shown before you confirm. Convert USDC or USDT to M-Pesa Cash out stablecoins to M-Pesa in Kenyan shillings: which network to use, what it costs, how long it takes and the mistakes to avoid. Withdraw to 40 Kenyan banks and SACCOs Send money to Equity, KCB, Co-op Bank, NCBA, Absa and 35 more banks, microfinance banks and SACCOs over PesaLink. Pay any M-Pesa Till or PayBill from your balance Pay rent, school fees, utilities and shops on any Till or PayBill number straight from your AutoPayKe balance. Bulk M-Pesa payments for cooperatives and farmers Pay hundreds of farmers to M-Pesa or their bank in one run, with an SMS receipt for every lot and a record you can show anyone. Frequently asked questions Fees, speed, limits, safety, supported countries and how AutoPayKe works underneath, answered plainly. Developers: M-Pesa payout and coverage API Public endpoints for coverage, published fees and fee quotes, with examples you can paste into a terminal or hand to a coding agent. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Sign in AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Convert USDC or USDT to M-Pesa in Kenya (Step-by-Step) | AutoPayKe URL: https://www.autopayke.com/usdc-to-mpesa Cash out USDC or USDT to M-Pesa in Kenyan shillings: deposit on Avalanche C-Chain to your own AutoPayKe wallet, then withdraw to any M-Pesa number or 40 Kenyan banks. See the rate and fee before you confirm. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Home Guides USDC to M-Pesa Guide · Stablecoins to shillings How to Convert USDC or USDT to M-Pesa Holding digital dollars and need Kenyan shillings on M-Pesa? Deposit them to your own AutoPayKe wallet on Avalanche and withdraw to any M-Pesa number or Kenyan bank, at a rate and fee you see before you confirm. Last updated 27 October 2026 Accepted USDC · USDT Network Avalanche C-Chain Paid out to M-Pesa or 40 Kenyan banks Per M-Pesa withdrawal KES 10 – 150,000 The short answer Send your USDC or USDT on the Avalanche C-Chain network to your AutoPayKe address, then tap Withdraw → M-Pesa. The deposit arrives in seconds and the M-Pesa payout usually lands within minutes, with the shilling amount and fee shown up front. Step by step 1 Create your AutoPayKe account Sign up at autopayke.com with your Kenyan phone number and a 6-digit code. Your own smart contract wallet on Avalanche is created automatically. 2 Copy your deposit address Open Receive (or Wallet) and copy your address. It starts with 0x and is yours alone, deposits to it are free. 3 Send USDC or USDT on Avalanche C-Chain From your exchange or wallet, withdraw USDC or USDT to that address and pick Avalanche C-Chain as the network. It shows in your balance as soon as the transfer confirms, usually in seconds. 4 Withdraw to M-Pesa Tap Withdraw, choose M-Pesa, enter the number, yours or anyone's, and the amount. The review screen shows the Kenyan shilling amount, the rate and the fee before you confirm with your PIN. 5 Watch it land The app shows each step live and sends a push notification when the money reaches M-Pesa, usually within minutes. The receipt shows the real recipient's number and name. Which networks work Network USDC USDT Reaches AutoPayKe? Avalanche C-Chain Yes Yes Yes: use this one Ethereum (ERC-20) Yes Yes No: withdraw on Avalanche instead Tron (TRC-20) - Yes No: withdraw on Avalanche instead BNB Chain, Solana, Polygon, Base Varies Varies No: withdraw on Avalanche instead Wrong network = lost time or lost money Funds sent on another network do not arrive in your AutoPayKe balance. Always select Avalanche C-Chain, and send a small test amount the first time. Other ways to use your stablecoins in Kenya Withdraw to any of 40 Kenyan banks, microfinance banks and SACCOs over PesaLink. Pay any M-Pesa Till or PayBill (rent, school fees, utilities, shops) straight from your balance. Send to any phone number in Kenya, Ghana or Uganda; people not on AutoPayKe get a claim link. Keep it in USDC or USDT in your own wallet and cash out later. Frequently asked questions Can I send USDT on TRC-20 (Tron) to AutoPayKe? No. AutoPayKe receives USDC and USDT on Avalanche C-Chain only. USDT sent on Tron, Ethereum, BNB Chain, Solana or any other network will not arrive. Most exchanges let you choose Avalanche C-Chain when you withdraw, convert or withdraw there first. How long does USDC to M-Pesa take? The deposit confirms on Avalanche in seconds. An M-Pesa withdrawal usually completes within minutes, at any hour, and you can follow every step live in the app. What is the minimum and maximum? You can withdraw from KES 10. Each M-Pesa withdrawal can be up to KES 150,000, within your own M-Pesa account limits. For larger amounts, withdraw to a Kenyan bank over PesaLink. What rate do I get? You see the live USDC-to-KES rate and the cash-out fee on the review screen before you confirm, and that is what you get. Our published prices are public at api.autopayke.com/api/v1/fees/published. Do I need AVAX for gas? No. Gas inside AutoPayKe is sponsored, so you never need to hold AVAX to withdraw or send. Your exchange pays the network fee for the deposit. Is this a P2P trade? No. There's no counterparty to find or trust and no escrow chat: you withdraw from your own wallet to M-Pesa at the price shown, like any other payment. Can I withdraw to someone else's M-Pesa number? Yes. Enter any Kenyan M-Pesa number. The receipt and your history show the real recipient's number and name. There is no recipient-name check before you confirm, so double-check the number. Related guides How to send money to Kenya from abroad Send money home to M-Pesa or any Kenyan bank from the USA, UK, Europe, the Gulf or anywhere else, step by step, with every fee shown before you confirm. Withdraw to 40 Kenyan banks and SACCOs Send money to Equity, KCB, Co-op Bank, NCBA, Absa and 35 more banks, microfinance banks and SACCOs over PesaLink. Pay any M-Pesa Till or PayBill from your balance Pay rent, school fees, utilities and shops on any Till or PayBill number straight from your AutoPayKe balance. Bulk M-Pesa payments for cooperatives and farmers Pay hundreds of farmers to M-Pesa or their bank in one run, with an SMS receipt for every lot and a record you can show anyone. Frequently asked questions Fees, speed, limits, safety, supported countries and how AutoPayKe works underneath, answered plainly. Developers: M-Pesa payout and coverage API Public endpoints for coverage, published fees and fee quotes, with examples you can paste into a terminal or hand to a coding agent. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Sign in AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Send Money to Any Kenyan Bank or SACCO via PesaLink | AutoPayKe URL: https://www.autopayke.com/kenyan-banks Withdraw to 40 Kenyan banks, microfinance banks and SACCOs (Equity, KCB, Co-operative Bank, NCBA, Absa, Stanbic, Family, DTB, I&M and more) over PesaLink, from USDC or USDT. Full list, steps, limits and fees. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Home Guides Kenyan banks Guide · Bank payouts Send Money to Any Kenyan Bank or SACCO Withdraw from your AutoPayKe balance to 40 Kenyan banks, microfinance banks and SACCOs over PesaLink, your own account or anyone else's, with the shilling amount and fee shown before you confirm. Last updated 27 October 2026 Banks 34 Microfinance banks 4 SACCOs 2 Network PesaLink Every bank and SACCO you can withdraw to Search banks All Banks Microfinance SACCOs 40 banks and SACCOs EB Equity Bank Bank KB KCB Bank Bank Co Co-operative Bank Bank NB NCBA Bank Bank AB Absa Bank Kenya Bank SC Standard Chartered Bank FB Family Bank Bank DT Diamond Trust Bank (DTB) Bank IM I&M Bank Bank SB Stanbic Bank Bank AB African Banking Corporation (ABC) Bank Bo Bank of Africa Bank Bo Bank of Baroda Bank C Citibank Bank CK CIB Kenya (Mayfair) Bank CB Consolidated Bank Bank CB Credit Bank Bank DI Dubai Islamic Bank Bank EK Ecobank Kenya Bank FC First Community Bank Bank GT Guaranty Trust Bank (GTBank) Bank GB Guardian Bank Bank GA Gulf African Bank Bank H HFC (Housing Finance) Bank KB Kingdom Bank Bank ME Middle East Bank Bank NB National Bank of Kenya Bank OC Oriental Commercial Bank Bank PB Paramount Bank Bank PB Prime Bank Bank SB SBM Bank Kenya Bank SB Sidian Bank Bank UB United Bank for Africa (UBA) Bank VC Victoria Commercial Bank Bank FM Faulu Microfinance Bank Microfinance bank KW Kenya Women Microfinance Bank (KWFT) Microfinance bank CM Caritas Microfinance Bank Microfinance bank CM Choice Microfinance Bank Microfinance bank SS Stima SACCO SACCO US Unaitas SACCO SACCO How to withdraw to a bank 1 Open Withdraw and choose Bank In the AutoPayKe app, tap Withdraw and pick Bank transfer. 2 Pick the bank and enter the account Search for the bank or SACCO, then enter the account number and the account holder's name. Save it to pick it in one tap next time, account numbers are encrypted before they're stored. 3 Review the amount, rate and fee The review screen shows the exact Kenyan shilling amount that will reach the account, the exchange rate and the cash-out fee. 4 Confirm with your PIN Confirm and follow the transfer live. Your receipt and history show the bank, the account and the status. Saved accounts Save the bank accounts you pay often in Settings → Saved accounts. They appear on the Withdraw screen, one tap away. Why withdraw to a bank instead of M-Pesa? Larger amounts: bank transfers aren't capped at M-Pesa's per-transaction limit. Savings and loans: move money straight into a SACCO or a savings account. Business payments: pay suppliers and staff who are paid into a bank. Frequently asked questions Which Kenyan banks can I send money to? Any of the 40 banks, microfinance banks and SACCOs listed on this page, all reached over PesaLink, including Equity, KCB, Co-operative Bank, NCBA, Absa, Standard Chartered, Stanbic, Family, DTB, I&M, Faulu, KWFT, Stima SACCO and Unaitas. What is PesaLink? PesaLink is Kenya's real-time interbank transfer network, run by Integrated Payment Services Limited and owned by Kenyan banks. It moves money between member banks in seconds, any day of the week. How long does a bank withdrawal take? PesaLink transfers are usually credited within minutes. The app shows the transfer's progress step by step and updates the status in your history. Can I send to someone else's bank account? Yes. Enter their bank, account number and name. Save it as a payout account if you'll pay them again. Can I send money from abroad straight to a Kenyan bank? Yes. Send USDC or USDT on Avalanche to your recipient's AutoPayKe address from wherever you are, and they withdraw to their bank in shillings. See our guide to sending money to Kenya from abroad. Related guides How to send money to Kenya from abroad Send money home to M-Pesa or any Kenyan bank from the USA, UK, Europe, the Gulf or anywhere else, step by step, with every fee shown before you confirm. Convert USDC or USDT to M-Pesa Cash out stablecoins to M-Pesa in Kenyan shillings: which network to use, what it costs, how long it takes and the mistakes to avoid. Pay any M-Pesa Till or PayBill from your balance Pay rent, school fees, utilities and shops on any Till or PayBill number straight from your AutoPayKe balance. Bulk M-Pesa payments for cooperatives and farmers Pay hundreds of farmers to M-Pesa or their bank in one run, with an SMS receipt for every lot and a record you can show anyone. Frequently asked questions Fees, speed, limits, safety, supported countries and how AutoPayKe works underneath, answered plainly. Developers: M-Pesa payout and coverage API Public endpoints for coverage, published fees and fee quotes, with examples you can paste into a terminal or hand to a coding agent. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Sign in AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Pay Any M-Pesa Till or PayBill With USDC or USDT | AutoPayKe URL: https://www.autopayke.com/mpesa-till-paybill-with-usdc Pay rent, school fees, KPLC tokens, water bills and shops on any M-Pesa Till or PayBill number straight from your AutoPayKe balance in USDC or USDT, from Kenya or from abroad. Amount and fee shown before you confirm. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Home Guides Till & PayBill Guide · Merchant Pay Pay Any M-Pesa Till or PayBill From Your Balance Pay the counters Kenya already runs on (shops, landlords, schools, utilities) straight from your AutoPayKe balance in USDC or USDT, without moving the money to M-Pesa first. Last updated 27 October 2026 Works with Any Till or PayBill Pay from USDC · USDT Live in Kenya Receipt Downloadable PDF How to pay a Till or PayBill 1 Open Pay In the AutoPayKe app, tap Pay and choose Till or PayBill. 2 Enter the number Type the Till number, or the PayBill business number and the account number the merchant gave you, or scan the merchant's QR. 3 Enter the amount in shillings The app works out how much USDC or USDT that is at the live rate and shows the cash-out fee. 4 Check and confirm There is no merchant-name check on the rail yet, so the app asks you to confirm the number. Confirm with your PIN and keep the PDF receipt. Check the number twice A wrong Till or PayBill number pays a stranger. The app makes you confirm the number before money moves. What people use it for School fees paid straight to the school's PayBill, from anywhere in the world. Rent paid to a landlord's Till or PayBill on the day it's due. Electricity tokens, water and internet bills. Everyday shopping at any Lipa na M-Pesa Till. Frequently asked questions Can I pay a PayBill from abroad? Yes. If you have an AutoPayKe balance, you can pay any Kenyan Till or PayBill from wherever you are, useful for paying school fees, rent or a relative's bills directly instead of sending cash. Which bills can I pay? Anything with an M-Pesa Till or PayBill number: rent, school fees, electricity tokens, water, internet, insurance, SACCO contributions and shops. How fast does the merchant get paid? Usually within minutes. The payment carries a reference, the app shows its progress live, and you get a downloadable receipt. What does it cost? A disclosed cash-out fee, shown with the exchange rate before you confirm. There are no monthly or account fees. Can my business accept payments this way? Yes. Merchants keep their existing Till or PayBill, and AutoPayKe users can pay it. Businesses can also register their own Till or PayBill in AutoPayKe to withdraw their balance to it. Related guides How to send money to Kenya from abroad Send money home to M-Pesa or any Kenyan bank from the USA, UK, Europe, the Gulf or anywhere else, step by step, with every fee shown before you confirm. Convert USDC or USDT to M-Pesa Cash out stablecoins to M-Pesa in Kenyan shillings: which network to use, what it costs, how long it takes and the mistakes to avoid. Withdraw to 40 Kenyan banks and SACCOs Send money to Equity, KCB, Co-op Bank, NCBA, Absa and 35 more banks, microfinance banks and SACCOs over PesaLink. Bulk M-Pesa payments for cooperatives and farmers Pay hundreds of farmers to M-Pesa or their bank in one run, with an SMS receipt for every lot and a record you can show anyone. Frequently asked questions Fees, speed, limits, safety, supported countries and how AutoPayKe works underneath, answered plainly. Developers: M-Pesa payout and coverage API Public endpoints for coverage, published fees and fee quotes, with examples you can paste into a terminal or hand to a coding agent. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Sign in AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Bulk M-Pesa Payments for Cooperatives: Pay Farmers With Proof | AutoPayKe URL: https://www.autopayke.com/bulk-mpesa-payments-for-cooperatives Pay hundreds of farmers to M-Pesa or their bank in one approved run, send every farmer an SMS receipt in English or Swahili, and track each coffee or tea lot against the 5-day payment rule. Built for Kenyan cooperatives, unions and marketing agents. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Home Guides Cooperative payments Guide · For cooperatives Pay Every Farmer to M-Pesa, With Proof Cooperatives, unions and marketing agents use AutoPayKe to pay farmers in bulk, approve every run with two people, and give each farmer a receipt they can read. Here is how it works, end to end. Last updated 27 October 2026 Paid to M-Pesa or a farmer wallet Approvals Two people, every run Receipts SMS in English or Swahili Deadline tracking 5-day payment rule How a payout run works 1 Register your cooperative and farmers Create your organization, then import farmers from a spreadsheet or the national registry. Each farmer is matched to a phone number for M-Pesa. 2 Record deliveries or lots Buying stations log each delivery by weight and grade from a phone, or you track auction lots from sale to bank release in the Lot Tracker. 3 Build a payout run Shares are worked out from weight and price, with every levy and deduction named. Anything that doesn't add up is held with a reason. 4 Approve it: by a second person Whoever builds the run can't approve it. The approver sees the full quote, fees included, before money moves. 5 Farmers get paid and receipted Each farmer is paid to M-Pesa or their AutoPayKe wallet, and gets an SMS with their kilos, price, deductions and net amount, plus a link to check it. Controls your board will ask about Maker-checker: the person who builds a run can never approve it. Holds with reasons: voided deliveries, mismatched details and screening hits stop that one payment until someone clears it. No double payments: retries after a timeout can't pay the same farmer twice. Weekly report: days to credit, late-payment share, farmer queries per 100 lots and receipt open rate, with a CSV. Built with the Nairobi Coffee Exchange pilot in mind The Lot Tracker follows each lot from auction sale to farmers paid, against the 5-day rule, without AutoPayKe ever holding the sale proceeds. Frequently asked questions How do cooperatives pay farmers via M-Pesa in bulk? With AutoPayKe, a cooperative builds a payout run from recorded deliveries or lot shares, a second person approves it against a locked quote, and each farmer is paid to their M-Pesa number with an SMS receipt. One farmer failing never holds up the others. What is the 5-day payment rule for coffee farmers? Farmers must be paid within five days of their lot selling at auction. The AutoPayKe Lot Tracker starts a clock for every lot at the sale date and shows what is on time, at risk and overdue. Do farmers need a smartphone? No. Receipts arrive by plain SMS in English or Swahili. Farmers can reply to keep the money in their wallet or send it to M-Pesa, or use the USSD menu. Can the bank update payment status automatically? Yes. A bank or broker can push each payment step (buyer paid, warrant issued, bank released, farmers paid) to the Lot Tracker through a status feed with its own key. The feed only records steps. It never moves money. Can we only track payments without paying through AutoPayKe? Yes. A records-only setting switches payout runs off, so you can use the Lot Tracker, receipts and weekly report while paying farmers through your existing bank. Learn more AutoPayKe for cooperatives The full product: lots, payout runs, receipts and reports. How farmers get paid What a farmer sees, kilo by kilo, from delivery to M-Pesa. How to send money to Kenya from abroad Send money home to M-Pesa or any Kenyan bank from the USA, UK, Europe, the Gulf or anywhere else, step by step, with every fee shown before you confirm. Convert USDC or USDT to M-Pesa Cash out stablecoins to M-Pesa in Kenyan shillings: which network to use, what it costs, how long it takes and the mistakes to avoid. Withdraw to 40 Kenyan banks and SACCOs Send money to Equity, KCB, Co-op Bank, NCBA, Absa and 35 more banks, microfinance banks and SACCOs over PesaLink. Pay any M-Pesa Till or PayBill from your balance Pay rent, school fees, utilities and shops on any Till or PayBill number straight from your AutoPayKe balance. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Sign in AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Personal: Send, Receive and Hold Money With a Phone Number | AutoPayKe URL: https://www.autopayke.com/personal Send money to any phone number in Africa, top up from M-Pesa, cash out to M-Pesa or 40 Kenyan banks and SACCOs, receive with your AutoPayKe Passport QR, and hold USDC, USDT and AVAX in a non-custodial wallet. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Personal Everything You Can Do With Just a Number Sign up with a phone number and a 6-digit code. A non-custodial Avalanche smart wallet is created for you automatically: then send, receive, top up and cash out in the local currency you already think in. Get started Sign in Your Everyday Benefits Everything you need to move money in Kenya, from one phone number. 1 Send money Any phone number, across Africa 2 Receive & Passport QR Your number, your QR code 3 Add money Top up from M-Pesa in seconds 4 Cash out M-Pesa or any of 40 Kenyan banks 5 Wallet Non-custodial USDC, USDT & AVAX Send money Type A Number. Type An Amount. Done. Pick someone from your phone's contacts (only if you allow it. The app asks first) or type any number. Enter an amount in USD and the recipient's local equivalent updates live, with the FX rate locked while you review. If they already use AutoPayKe, the funds land in their wallet near-instantly, on-chain. If they don't, the money goes into the AutopayEscrow contract and they get an SMS or WhatsApp claim link. They tap it, verify their number and the funds settle to their mobile money. Unclaimed after 7 days, it is automatically refunded to you. This works today in Kenya, Ghana and Uganda, Nigeria's claim payout to bank is still being finished, so non-user claims aren't live there yet. There is no recipient-name verification on any rail today. Always double-check the number before you confirm. autopayke.com/send Kenya · M-Pesa Live +254 · KES Ghana · MTN MoMo Live +233 · GHS Nigeria · Bank Live +234 · NGN: existing users only, non-user claims coming soon Uganda · MTN MoMo Live +256 · UGX Malawi, DR Congo & Ethiopia Soon +265 / +243 / +251, waiting on local rail partners. Receive Your AutoPayKe Passport Every account gets a personal page with your phone number and a QR code anyone can scan to pay you. Download the QR for a shopfront, or copy your number in a tap and paste it into a chat. When money arrives you get a push notification on your phone, and claim links go out by SMS or WhatsApp. Sign-in codes come by email, with SMS as a fallback. autopayke.com/receive Add money Top Up From M-Pesa In Seconds Enter an amount, approve the prompt on your phone with your M-Pesa PIN, and the money lands in your AutoPayKe balance. Already hold stablecoins? Deposit them straight to your own address. Live rates and fees are always shown in the app before you confirm. autopayke.com/fund M-Pesa Enter the amount, approve the prompt with your M-Pesa PIN, done. Crypto deposit Send USDC, USDT or AVAX straight to your own Avalanche address. Free. Cash out To M-Pesa Or Any Of 40 Kenyan Banks Withdraw to your own M-Pesa number, to someone else's, or to a bank account over PesaLink. Receipts show the real recipient's number and name, and every withdrawal is in your history with its status. Save the M-Pesa numbers and bank accounts you use in Settings → Saved accounts, and pick them in one tap next time. Account numbers are encrypted before they're stored. A disclosed cash-out fee applies, shown on the review screen before you confirm. autopayke.com/withdraw Search banks All Banks Microfinance SACCOs 40 banks and SACCOs EB Equity Bank Bank KB KCB Bank Bank Co Co-operative Bank Bank NB NCBA Bank Bank AB Absa Bank Kenya Bank SC Standard Chartered Bank FB Family Bank Bank DT Diamond Trust Bank (DTB) Bank IM I&M Bank Bank SB Stanbic Bank Bank AB African Banking Corporation (ABC) Bank Bo Bank of Africa Bank Bo Bank of Baroda Bank C Citibank Bank CK CIB Kenya (Mayfair) Bank CB Consolidated Bank Bank CB Credit Bank Bank DI Dubai Islamic Bank Bank EK Ecobank Kenya Bank FC First Community Bank Bank GT Guaranty Trust Bank (GTBank) Bank GB Guardian Bank Bank GA Gulf African Bank Bank H HFC (Housing Finance) Bank KB Kingdom Bank Bank ME Middle East Bank Bank NB National Bank of Kenya Bank OC Oriental Commercial Bank Bank PB Paramount Bank Bank PB Prime Bank Bank SB SBM Bank Kenya Bank SB Sidian Bank Bank UB United Bank for Africa (UBA) Bank VC Victoria Commercial Bank Bank FM Faulu Microfinance Bank Microfinance bank KW Kenya Women Microfinance Bank (KWFT) Microfinance bank CM Caritas Microfinance Bank Microfinance bank CM Choice Microfinance Bank Microfinance bank SS Stima SACCO SACCO US Unaitas SACCO SACCO Show all 40 banks Wallet Non-Custodial, Multi-Asset, Gasless Your balance lives in an ERC-4337 smart contract wallet on Avalanche C-Chain that only you can authorise. Hold USDC, USDT and AVAX side by side with USD equivalents, and open your address on a block explorer any time you want to check our work. A paymaster contract sponsors the on-chain gas, so you never need to keep AVAX around just to send your own money. Lock the app with your own PIN, and choose which phone permissions (contacts, notifications, camera for QR) the app may use. autopayke.com/wallet Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Talk to us AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Business: Merchant Pay, Settlement and Fees | AutoPayKe URL: https://www.autopayke.com/business Pay tills and PayBill numbers from your AutoPayKe balance, track every settlement step with receipts, and see exactly how our fees work. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Business One Balance, Every Local Counter The business side of AutoPayKe connects your balance, always under your control, to the tills, PayBill numbers and bank accounts merchants already run on, with a settlement trail you can hand to an accountant. Get started Talk to us Four Steps, Fully On The Record Your activity feed is filterable by sent and received, and every transaction carries its own live timeline, so you never have to ask support where the money is. 1 Initiated The transfer is created with a reference number, asset and locked FX rate. 2 Confirmed on-chain The Avalanche transaction is mined and linkable on a block explorer. 3 Routed to rail The settlement partner picks up the payout to mobile money or bank. 4 Settled Funds land, and a downloadable PDF receipt is generated. Merchant Pay Pay A Till Or PayBill From Your Balance Enter an M-Pesa-style Till or PayBill number and an amount, and the payment is settled from your own balance through our pan-African settlement partner, no pooled treasury account sits in the middle. As with Send, there is no merchant-name verification on the rail, so the app asks you to confirm the number before it goes out. We'd rather add friction than let a typo become a stranger's payday. Merchant Pay is live in Kenya today (Till and PayBill). More markets switch on as partner coverage is confirmed. autopayke.com/track Built for businesses too Merchant Pay Till and PayBill from your wallet Learn more Cooperatives Pay farmers with proof, lot by lot Learn more Farmers How farmers get paid, kilo by kilo Learn more autopayke.com/l Pricing One Honest, All-In Price No rate card games: every cost, published live from the same source the app charges against. The exact total is always shown before you confirm. No monthly or account fees Receiving money into AutoPayKe is free No charge appears after you confirm Sending to another AutoPayKe user has no cash-out fee Fees One Cost, Shown Before You Confirm How the all-in rate above breaks down. The live figure is always displayed in the app at send time, so the exact amount is never a surprise. Every transfer carries the FX spread built into the exchange rate you see at send time. A transfer that leaves AutoPayKe (to someone not yet on the app, a Withdraw, or a Merchant Pay payment) also carries a disclosed cash-out fee, shown before you confirm. Direct AutoPayKe-to-AutoPayKe sends carry a small flat fee instead, to cover network costs. AutoPayKe-to-AutoPayKe FX spread plus a small flat network-cost fee, shown before you confirm. Withdraw & Merchant Pay FX spread plus a disclosed cash-out fee, shown before you confirm. M-Pesa top-up Shown in the app before you approve the prompt. Crypto deposit Free: it's your own address. For comparison: traditional bank and remittance transfers typically take one to three business days and cost $5–$15 or more. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Talk to us AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Cooperatives: Farmer Payments With Proof | AutoPayKe URL: https://www.autopayke.com/cooperatives Track every lot from sale to farmers paid, meet the 5-day payment rule with proof, pay farmers to M-Pesa with maker-checker approval, and send every farmer an SMS receipt in English or Swahili. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App For cooperatives and buyers Every Farmer Paid. Every Shilling Accounted For. AutoPayKe shows a farmer exactly where their money is, from the day their lot sells to the day they're paid. Cooperatives, unions and marketing agents track every lot against the 5-day payment rule, pay farmers to M-Pesa with two-person approval, and keep proof of every step. We never hold the money. Register your organization Talk to us first From the weighing scale to the farmer's phone 1 Record deliveries Buying stations log each delivery by weight and grade from a phone. Every kilo is tied to a registered farmer. 2 Follow every lot Each lot shows where its money is, how many days are left before the 5-day deadline, and who updated what. 3 Build a payout run Shares are worked out from weight and price. Anything that doesn't add up is held with a named reason and a fix. 4 Approve with two people One person requests, a second approves against a locked all-in quote. Nobody pays out alone. 5 Farmers get a receipt An SMS with the lot, price per kilo, their kilos, every deduction by name and the net amount, plus a link to check it. The 5-day rule Know which lots are late before anyone asks Farmers must be paid within five days of their lot selling. The Lot Tracker puts a clock on every lot, so your team sees what's on time, what's at risk and what's overdue, and can act before a farmer has to call. The deadline counts five days from the sale date. Overdue lots and farmers paid late are counted in the weekly report. 1 Sold The lot clears at auction. The 5-day clock starts. 2 Buyer paid The buyer's payment is recorded, by your team or the bank feed. 3 Warrant issued The warrant for the lot is on the record. 4 Bank released The bank releases the proceeds to your account. 5 Farmers paid Every farmer's share is paid and receipted. For farmers A receipt they can read, in their language Every farmer gets an SMS in English or Swahili for each lot: the price per kilo, their kilos, every deduction named, what's left for them, and whether it's been paid. A short link opens their receipt page, with each step of the lot's payment clock. The receipt page tells farmers who to contact, and your team logs every query on the lot it's about. Fewer phone calls, fewer disputes, and a record of every answer. autopayke.com/l Named deductions Levies, transport and loans are listed one by one, never folded into a single figure. Works on any phone Plain SMS, no app to install. The link opens in any browser. Paid to M-Pesa Live in Kenya Payout runs pay each farmer straight to their M-Pesa number, or to their own AutoPayKe wallet. Private by default A receipt link shows one farmer's share of one lot, nothing else. Built for audits, boards and regulators Controls and proof Two-person approval Whoever builds a payout run can't approve it. The approver sees the full quote, fees included, before money moves. Held, not guessed Voided deliveries, details that don't match the registry and screening hits hold that one payment until someone clears it. Never paid twice Retries after a timeout can't send the same payment again. One farmer failing never touches the others. Weekly report Days to credit, share of late payments, farmer queries per 100 lots and receipt open rate, with a CSV for your board. Your bank Bank updates without the typing Each organization gets its own feed key. You can switch the feed off at any time. Your bank can post lot payment updates (buyer paid, proceeds released) straight to your Lot Tracker with a private feed key, so the clock moves the moment the bank does. Files work too: import a statement and every matching lot updates. Bank status feed Updates arrive as the bank sends them. File import Upload a CSV from your bank or exchange. Farmers told Receipts update when the lot moves. Getting started Set up in an afternoon You can explore the Lot Tracker with example data first. It's clearly marked, and you can switch it off at any time. 1 Create your AutoPayKe account with your phone number. 2 Register your organization and submit its documents for verification. 3 Invite your finance team, approvers and buying stations. 4 Add your farmers, or import them from a spreadsheet. 5 Record deliveries and lots, and pay your first run. Register your organization Talk to us first Pay every farmer, with proof Register your organization, invite your team and pay your first run. You can explore the Lot Tracker with example data first. Register your organization Talk to us first AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Farmers: Paid For Every Kilo, With Proof | AutoPayKe URL: https://www.autopayke.com/farmers How farmers get paid through AutoPayKe: every delivery weighed and recorded, an SMS receipt for every lot with each deduction named, the 5-day payment clock, and your money to your wallet, M-Pesa or any of 40 Kenyan banks. No smartphone needed. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App For farmers and the cooperatives that pay them Every Kilo Counted. Every Shilling Shown. From the weighing scale to your phone: every delivery is recorded against your name, every lot is tracked against the 5-day payment rule, and every payment arrives with an SMS receipt that names each deduction. Keep it, send it to M-Pesa, or cash out to your bank. See how it works For cooperatives KES 0.0M+ Settled through AutoPayKe 1 SMS Receipt for every lot 5 days Payment clock, tracked per lot 40 Banks & SACCOs for cash-out AP AutoPayKe Text message AutoPayKe: Gatanga Farmers Co-op paid you KES 8,640 for 96kg AA at Kiriko station, 14 Oct. Ref R-20418. In your AutoPayKe wallet. Reply 1 to keep it, 2 to cash out to mobile money. 2 AutoPayKe: Sending KES 8,640 to your mobile money now. M-Pesa · KES 8,640 received Paid 3 days after the lot sold How it works From the weighing scale to your phone, in seven steps Most of the work happens at your cooperative. Your part is simple: deliver your produce, read your SMS, and choose where your money goes. You Your cooperative AutoPayKe Step 1 Your cooperative You're added to the farmer register Your cooperative registers you once with your name, member number and phone number, or imports the whole membership from a spreadsheet. Your phone number becomes your AutoPayKe account. Any phone works: a basic feature phone is enough Your details are checked against the register before every payout Change your number with your cooperative if you get a new line Step 2 Your cooperative Your farm goes on the record A field officer captures your plot once (a GPS point, or a boundary walked with a phone) and it's reused every season. Buyers who need proof of where produce came from can see it was grown on a registered farm. Captured once, reused season after season Area worked out from the boundary, checked for mistakes Shared only as part of your cooperative's records Step 3 Your cooperative Every delivery is weighed and logged When you bring cherry, milk or grain to the buying station, the clerk records the weight and grade on a phone against your name. Every kilo you deliver is tied to you, not to a paper slip that can get lost. Weight, grade, station and date on every delivery A voided or corrected delivery is kept on the record, never erased Your kilos add up into the lots your cooperative sells Step 4 Your cooperative Your lot sells, and the 5-day clock starts When the lot your produce went into sells, the payment clock starts. Your cooperative's Lot Tracker follows it through buyer paid, warrant issued and bank released, and flags it before the 5-day deadline passes. The deadline counts five days from the sale date Late lots and late payments are counted in the weekly report Bank updates can move the clock automatically Step 5 Your cooperative Your share is worked out, and checked by two people Your payment is your kilos times the price, minus each deduction by name. One person builds the payout run; a second person approves it against a locked quote. Nobody can pay out alone. Anything that doesn't add up is held with a reason, not guessed A retry can never pay you twice If one farmer's payment fails, everyone else is still paid Step 6 AutoPayKe You get an SMS receipt The moment you're paid, an SMS tells you who paid you, how much, for how many kilos, the grade, the station and the date, with a reference number. A short link opens the full receipt in English or Kiswahili. Every deduction listed by name, never folded into one number Fits in a normal SMS, no app, no data needed to read it The receipt link shows your share of your lot, nothing else Step 7 You You choose where the money goes Keep it in your AutoPayKe wallet with no fee, reply 2 to send it to M-Pesa, dial the USSD menu, or open the app and withdraw to any of 40 Kenyan banks and SACCOs. Your money, your choice. Reply 1 to keep, 2 to cash out to mobile money USSD menu shows your balance and last payment Bank withdrawals over PesaLink from the app Your receipt Read it line by line. Nothing folded in Every receipt starts with what your kilos earned and takes off each deduction by name. Tap a line to see what it means. 96 kg × KES 102 KES 9,792 Society deduction − KES 480 Transport − KES 192 Loan recovery − KES 480 Paid to you KES 8,640 What this line means Your 96 kg times the price your lot sold for, KES 102 a kilo. This is what your produce earned before anything comes off. English or Kiswahili Switch the receipt language any time. Private to you The link shows your share of one lot, nothing else. The receipt your farmers open English Kiswahili autopayke.com/l The 5-day rule Paid within five days of your lot selling Your cooperative's Lot Tracker puts a clock on every lot, so late payments are spotted before you have to call. Here's an example lot, paid on day 3. 1 Day 0 Sold at auction Imeuzwa mnadani Your lot clears at auction. The clock starts. 2 Day 1 Buyer paid Mnunuzi amelipa The buyer's payment is recorded, by your cooperative or the bank feed. 3 Day 1 Warrant issued Hati imetolewa The warrant for the lot is on the record. 4 Day 2 Bank released Benki imetoa pesa The bank releases the money to your cooperative's account. 5 Day 3 Farmers paid Wakulima wamelipwa Every farmer's share is paid and the SMS receipts go out. Deadline: day 5. Lots at risk and overdue lots are flagged on the tracker, and every late payment is counted in the cooperative's weekly report to its board. Your money, your choice Keep it, send it to M-Pesa, or cash out to your bank However you like to use your phone, there's a way to decide what happens to your payment. Reply by SMS Dial USSD Use the app Reply 1 to keep, 2 to cash out Answer the receipt SMS itself. Keeping money in your wallet has no fee, and you can pay other AutoPayKe numbers from it any time. Reply 2 later and it goes to your M-Pesa. Keep No fee in your wallet M-Pesa Reply 2 or dial USSD Bank 40 banks & SACCOs …In your AutoPayKe wallet. Reply 1 to keep it, 2 to cash out to mobile money. 1 AutoPayKe: KES 8,640 is kept in your wallet. No fee. Reply 2 any time to cash out to your mobile money. Cash out to your bank 40 Kenyan banks, microfinance banks and SACCOs Withdraw from your AutoPayKe wallet to an account at any of these over PesaLink, Kenya's instant bank-to-bank network. Search banks All Banks Microfinance SACCOs 40 banks and SACCOs EB Equity Bank Bank KB KCB Bank Bank Co Co-operative Bank Bank NB NCBA Bank Bank AB Absa Bank Kenya Bank SC Standard Chartered Bank FB Family Bank Bank DT Diamond Trust Bank (DTB) Bank IM I&M Bank Bank SB Stanbic Bank Bank AB African Banking Corporation (ABC) Bank Bo Bank of Africa Bank Bo Bank of Baroda Bank C Citibank Bank CK CIB Kenya (Mayfair) Bank CB Consolidated Bank Bank CB Credit Bank Bank DI Dubai Islamic Bank Bank EK Ecobank Kenya Bank FC First Community Bank Bank GT Guaranty Trust Bank (GTBank) Bank GB Guardian Bank Bank GA Gulf African Bank Bank H HFC (Housing Finance) Bank KB Kingdom Bank Bank ME Middle East Bank Bank NB National Bank of Kenya Bank OC Oriental Commercial Bank Bank PB Paramount Bank Bank PB Prime Bank Bank SB SBM Bank Kenya Bank SB Sidian Bank Bank UB United Bank for Africa (UBA) Bank VC Victoria Commercial Bank Bank FM Faulu Microfinance Bank Microfinance bank KW Kenya Women Microfinance Bank (KWFT) Microfinance bank CM Caritas Microfinance Bank Microfinance bank CM Choice Microfinance Bank Microfinance bank SS Stima SACCO SACCO US Unaitas SACCO SACCO Run a cooperative? Everything your farmers see starts with your Lot Tracker Register your organization, invite your finance team, approvers and buying stations, add your farmers, and pay your first run, in an afternoon. See the cooperative tools Talk to us Deliveries by weight and grade Buying stations record every delivery from a phone, tied to a registered farmer. Every lot on the 5-day clock See what's on time, at risk or overdue, with bank feeds and file imports moving lots along. Two-person approval Whoever builds a payout run can't approve it. The approver sees the locked all-in quote first. Verified Passport A public page buyers and farmers can check before they pay or get paid by you. Questions farmers ask Straight answers Do I need a smartphone or the internet? What does it cost me? What if my kilos or my payment look wrong? Can I get the receipt in Kiswahili? Can I send the money to my bank? Who holds my money? What if I lose my phone? Want your cooperative to pay you this way? Share this page with your society's manager or board, or ask them to get in touch. We'll walk them through it. For cooperatives Open your wallet AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Guides: Send Money to Kenya, M-Pesa, Banks and Stablecoins | AutoPayKe URL: https://www.autopayke.com/guides Step-by-step guides to sending money to Kenya from abroad, converting USDC and USDT to M-Pesa, withdrawing to Kenyan banks, paying Tills and PayBills, and paying farmers in bulk. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Home Guides Guides Everything About Moving Money to Kenya Plain-language, step-by-step guides written by the AutoPayKe team: what to do, what it costs, how long it takes and what to avoid. Last updated 27 October 2026 Popular guides How to send money to Kenya from abroad Send money home to M-Pesa or any Kenyan bank from the USA, UK, Europe, the Gulf or anywhere else, step by step, with every fee shown before you confirm. Convert USDC or USDT to M-Pesa Cash out stablecoins to M-Pesa in Kenyan shillings: which network to use, what it costs, how long it takes and the mistakes to avoid. Withdraw to 40 Kenyan banks and SACCOs Send money to Equity, KCB, Co-op Bank, NCBA, Absa and 35 more banks, microfinance banks and SACCOs over PesaLink. Pay any M-Pesa Till or PayBill from your balance Pay rent, school fees, utilities and shops on any Till or PayBill number straight from your AutoPayKe balance. Bulk M-Pesa payments for cooperatives and farmers Pay hundreds of farmers to M-Pesa or their bank in one run, with an SMS receipt for every lot and a record you can show anyone. Frequently asked questions Fees, speed, limits, safety, supported countries and how AutoPayKe works underneath, answered plainly. Developers: M-Pesa payout and coverage API Public endpoints for coverage, published fees and fee quotes, with examples you can paste into a terminal or hand to a coding agent. Send money to Kenya by country Send money to Kenya from the USA Pay with USD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UK Pay with GBP, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Canada Pay with CAD, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the UAE Pay with AED, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Germany Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Italy Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from France Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from the Netherlands Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Ireland Pay with EUR, delivered to M-Pesa or a Kenyan bank in shillings. Send money to Kenya from Australia Pay with AUD, delivered to M-Pesa or a Kenyan bank in shillings. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Sign in AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # AutoPayKe FAQ: Fees, Speed, Safety, M-Pesa and Stablecoins URL: https://www.autopayke.com/faq Answers to the questions people ask most about AutoPayKe: sending money to Kenya, M-Pesa and bank cash-outs, USDC and USDT, fees and exchange rates, limits, safety, licensing and paying farmers. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Home FAQ Help Frequently Asked Questions Straight answers about sending money to Kenya, cashing out stablecoins to M-Pesa, fees, limits, safety and running a business on AutoPayKe. Can't find yours? Our support team answers by email. Last updated 27 October 2026 Sending money to Kenya Money, fees and limits Your account and safety Businesses, cooperatives and developers Sending money to Kenya What is the cheapest way to send money to Kenya? The cheapest route is the one where your recipient ends up with the most Kenyan shillings for what you spend. With AutoPayKe you pay your exchange's conversion into USDC plus a disclosed AutoPayKe cash-out fee when the money leaves for M-Pesa or a bank. There is no correspondent bank in the middle. Compare the final KES amount, not the headline fee. How long does it take to send money to Kenya? A stablecoin transfer on Avalanche confirms in seconds. Once it reaches your recipient's balance, an M-Pesa cash-out usually completes within minutes, and the app shows each step live. Your exchange may take its own time to process the purchase and withdrawal. Can I send money directly to an M-Pesa number from abroad? The money goes to your recipient's AutoPayKe wallet first, and they move it to M-Pesa in a tap, to their own number or anyone else's. Each M-Pesa cash-out can be from KES 10 up to KES 150,000. Does my recipient need a smartphone? To receive from abroad, yes. They use the AutoPayKe web app on any phone browser and can install it like an app. Cooperative members who are paid by their cooperative can use SMS and USSD instead. Do I need to understand crypto? You need to know how to buy USDC on an exchange and withdraw it on the right network, the same steps as moving money between two accounts. Your recipient never sees a seed phrase or a gas fee: they see Kenyan shillings. Is it safe? Each user's money sits in their own smart contract wallet on Avalanche that AutoPayKe cannot spend from on its own. The main risks are human: sending on the wrong network, or to the wrong address or phone number. There is no recipient-name check on payouts today, so double-check before you confirm. Can I send money to a Kenyan bank account? Yes. Your recipient can withdraw to any of 40 Kenyan banks, microfinance banks and SACCOs over PesaLink, including Equity, KCB, Co-operative Bank, NCBA and Absa. They can save the account once and pick it in one tap next time. Can I pay bills in Kenya directly? Yes. From the AutoPayKe balance your recipient can pay any M-Pesa Till or PayBill number: rent, school fees, utilities or a shop. Is AutoPayKe licensed? AutoPayKe Limited is a Kenyan company. Our payment-service licensing and data-protection registration in Kenya are in progress. We say this plainly rather than claim a status we don't have yet. Money, fees and limits Which currencies and assets does AutoPayKe support? Your balance holds USDC, USDT and AVAX on Avalanche C-Chain. You can send to phone numbers in Kenya (KES), Ghana (GHS), Uganda (UGX) and, for existing users, Nigeria (NGN), and cash out in Kenya to M-Pesa or 40 banks and SACCOs. How do I add money in Kenya? Top up from M-Pesa: enter the amount, approve the prompt on your phone with your M-Pesa PIN, and it lands in your balance. You can also deposit USDC or USDT on Avalanche C-Chain to your own address for free. What are the limits? Cash-outs start at KES 10. Each M-Pesa withdrawal can be up to KES 150,000, within your M-Pesa account's own limits; bank transfers over PesaLink allow larger amounts. Where can I see your fees? In the app before every confirmation, on our Business page, and as public data at api.autopayke.com/api/v1/fees/published. Is AutoPayKe available in Italian? Yes. The website and app are fully available in Italian at autopayke.com/it, and visitors in Italy are offered Italian automatically. You can switch language from the header, the footer or Settings. Your account and safety Do I need a bank account to use AutoPayKe? No. Your phone number is your account. Money lands on the mobile money service you already use, M-Pesa or MTN MoMo. If you do have a bank account, you can also cash out to any of 40 Kenyan banks and SACCOs. How do I add money? Top up from M-Pesa: enter the amount, approve the prompt on your phone and it lands in your balance. You can also deposit USDC, USDT or AVAX straight to your own Avalanche address for free. What does it cost? Every send carries the FX spread built into the exchange rate you see before you confirm. A transfer that leaves AutoPayKe (to someone not yet on the app, a Withdraw, or a Merchant Pay payment) also carries a disclosed cash-out fee, shown on the review screen before you confirm. Direct AutoPayKe-to-AutoPayKe sends carry a small flat fee to cover network costs instead. Live rates and fees are always shown in the app before you confirm. Do I have to understand crypto? Not at all. Underneath, AutoPayKe settles in USDC and USDT on Avalanche, but you never see a seed phrase, a gas fee or a wallet address unless you go looking for one. I'm a farmer. Do I need a smartphone? No. Your cooperative pays you through AutoPayKe and you get an SMS receipt for every lot, with your kilos, the price and every deduction. Reply 1 to keep the money in your wallet or 2 to send it to M-Pesa, or dial the USSD menu. See the For farmers page for the whole journey. Who controls my money? You do. Every user gets their own ERC-4337 smart contract wallet on Avalanche C-Chain. AutoPayKe's relayer can only execute calls your wallet authorises. We never hold your funds directly. What if nobody claims the money I sent? Transfers to people without an account sit in an on-chain escrow contract for 7 days. If the money isn't claimed in that window it is automatically refunded to you. You can verify the contract yourself on the block explorer. This claim flow is live in Kenya, Ghana and Uganda; Nigeria's claim payout is still being finished. What about identity checks and licensing? We collect basic KYC details at sign-up, but full document verification with a licensed vendor is still being integrated, and our PSP licensing and data-protection registration conversations in Kenya are ongoing. We'd rather tell you that than claim a status we don't have yet. Have the smart contracts been audited? Not yet. An external security audit is on our roadmap and we will publish the report when it's done. Until then, the contracts are public and verifiable on-chain. Businesses, cooperatives and developers Can my business accept payments? Yes. Keep your existing Till or PayBill, AutoPayKe users can pay it, and register it in AutoPayKe to withdraw your balance to it. Every payment carries a reference and a downloadable receipt. Can a cooperative pay farmers in bulk? Yes. Build a payout run from deliveries or lot shares, have a second person approve it, and every farmer is paid to M-Pesa with an SMS receipt in English or Swahili. Is there an API? Public read endpoints are live today for coverage, published fees and fee quotes. Transaction endpoints are available to partners on request, see the Developers page. Step-by-step guides How to send money to Kenya from abroad Send money home to M-Pesa or any Kenyan bank from the USA, UK, Europe, the Gulf or anywhere else, step by step, with every fee shown before you confirm. Convert USDC or USDT to M-Pesa Cash out stablecoins to M-Pesa in Kenyan shillings: which network to use, what it costs, how long it takes and the mistakes to avoid. Withdraw to 40 Kenyan banks and SACCOs Send money to Equity, KCB, Co-op Bank, NCBA, Absa and 35 more banks, microfinance banks and SACCOs over PesaLink. Pay any M-Pesa Till or PayBill from your balance Pay rent, school fees, utilities and shops on any Till or PayBill number straight from your AutoPayKe balance. Bulk M-Pesa payments for cooperatives and farmers Pay hundreds of farmers to M-Pesa or their bank in one run, with an SMS receipt for every lot and a record you can show anyone. Developers: M-Pesa payout and coverage API Public endpoints for coverage, published fees and fee quotes, with examples you can paste into a terminal or hand to a coding agent. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Sign in AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # AutoPayKe API Docs: M-Pesa, Bank and Till Payouts from USDC URL: https://www.autopayke.com/developers Developer documentation for the AutoPayKe API: API keys, a sandbox, payouts to M-Pesa, Airtel Money, Tills, PayBills and Kenyan banks, signed webhooks, idempotency and errors, with cURL, JavaScript and Python samples and an OpenAPI file. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started AutoPayKe Platform Start building with AutoPayKe Pay people in Kenya from your own product: M-Pesa, Airtel Money, Tills, PayBills and banks, paid from a USDC balance. Instant sandbox keys, signed webhooks and plain JSON, from first call to production. Search Ctrl K Quickstart Get an API key API reference cURL JavaScript Python # Pay KES 1,500 to an M-Pesa number (sandbox key: no real money) curl -X POST "https://api.autopayke.com/api/v1/payouts" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{ "amount": 150000, "currency": "KES", "destination": { "type": "mobile_money", "phone": "+254700000001" }, "reference": "order_1042" }' Platform Choose what you build Each guide takes you from the first call to handling every status, with samples in cURL, JavaScript and Python. Send payouts Pay M-Pesa, Airtel Money, Tills, PayBills and Kenyan banks from your USDC balance, with every status pushed to you. Read the guide Get webhooks Signed events for every payout status, with retries, and verification code for five languages. Read the guide Test everything A sandbox with numbers that succeed, fail, reverse, hold for review or time out, and free test money. Read the guide Go live Apply in the Console, get your live keys approved, fund your balance and send your first real payout. Read the guide Live pricing On-ramp and off-ramp, priced in the open These are today's prices, read from the API as this page loads, the same settings the app and every charge use. Partner fees are included unless the table says otherwise. Fees and the calculator Explore the docs First steps Introduction Quickstart API keys Sandbox and test values Going live More ways in Public endpoints About AutoPayKe Using the API Authentication Requests and responses Idempotency Pagination Errors Rate limits Versioning and changelog Payouts Payouts Recipient verification Funding your balance Fees and pricing Coverage and limits In the AutoPayKe apps Top-ups (on-ramp) Cash-outs (off-ramp) Payment links Real-time status Build Webhooks Reconciliation Security Go-live checklist Client libraries App SDK and OpenAPI AI agents and llms.txt On-chain contracts Help Support and legal FAQ and glossary Partner access API reference Overview Account, balance and banks Payouts Recipients Transactions and receipts Events Webhook endpoints Sandbox Capabilities Fees Payment links (payer) Top-ups Balance Payout accounts Saved cards Payment requests Developer questions Is there an API to send money to M-Pesa? Yes. Open a workspace in the AutoPayKe Console, create a test key straight away, and send payouts to M-Pesa, Airtel Money, Tills, PayBills and Kenyan banks from a USDC balance. Live access is by application, and every live key is approved by our team. How do I get an API key? Sign in at console.autopayke.com with your AutoPayKe account, open a developer workspace and create a key. Test keys (apk_test_) work at once in the sandbox; live keys (apk_live_) need live access and our approval. Can I test without real money? Yes. Test keys use a sandbox with free test USDC and phone numbers that force every outcome: success, failure, review, reversal and timeout. Webhooks fire just like live. Which chain and tokens do you settle on? Avalanche C-Chain, in USDC and USDT. Your workspace balance is held in a smart contract wallet; each payout converts USDC to Kenyan shillings at a locked rate. Can AI agents use AutoPayKe? Yes. llms.txt, llms-full.txt and an OpenAPI file describe the whole API for language models, and the AI agents guide has a brief to give your coding agent and the guardrails an agent that moves money needs. © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Introduction · AutoPayKe API docs URL: https://www.autopayke.com/developers/introduction What the AutoPayKe API does, who it's for, and how workspaces, keys, balances, payouts and webhooks fit together. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference First steps Introduction Quickstart API keys Sandbox and test values Going live More ways in Public endpoints About AutoPayKe Docs First steps Introduction Copy page What the AutoPayKe API does, who it's for, and how workspaces, keys, balances, payouts and webhooks fit together. AutoPayKe lets your software pay people in Kenya: M-Pesa and Airtel Money wallets, Till (Buy Goods) and PayBill numbers, and accounts at Kenyan banks. You hold a balance in USDC, a dollar stablecoin on the Avalanche C-Chain, and each payout converts it to Kenyan shillings at a locked rate and delivers it, usually within a minute for mobile money. It suits payroll and rider or driver payouts, marketplace seller settlements, supplier and farmer payments, remittance apps, and anyone whose money arrives in dollars or stablecoins but whose people need shillings. How it fits together Piece What it is Workspace Your developer account, tied to an AutoPayKe personal, business or organization account. It holds your keys, webhooks, limits and balance. Console The dashboard at console.autopayke.com where you create keys, add webhooks, read logs, watch usage and apply for live access. API keys apk_test_… keys use the sandbox (no real money, instant). apk_live_… keys move real money and work once we approve them. Balance Live: USDC in your workspace's smart wallet, which you fund by sending USDC or USDT, or topping up with M-Pesa in the AutoPayKe app. Test: free test USDC from the faucet. Payouts A request to send KES somewhere. You get an id at once and the outcome by webhook. Events and webhooks Every status change is an event. We POST it, signed, to your webhook URL and keep it readable through the API. A payout, end to end 1 Quote POST /api/v1/payouts/quote checks the destination and your limits and returns the rate, our fee and the USDC total. Optional, but it lets you show the cost before committing. 2 Create POST /api/v1/payouts with an Idempotency-Key . We take the total from your balance and return the payout with status pending . 3 Follow We send payout.processing , then payout.succeeded or payout.failed to your webhook. A failed payout returns the money to your balance. 4 Reconcile Match payouts to your records by reference and metadata , pull receipts, and list transactions for your books. Start here Quickstart A test payout in five minutes. API keys Create, scope, allowlist, roll and revoke keys. Sandbox Test values that force every outcome. Payouts Destinations, statuses, failures and fees. Webhooks Events, signatures, retries and ordering. Going live The application, approvals and checklist. Two other APIs on this site Besides the partner API, these docs cover public endpoints (coverage, published fees, quotes; no key) and the account API , which the AutoPayKe app itself uses with a signed-in person's token (top-ups, payment links, real-time status). Businesses integrating payouts should use API keys. Next Quickstart © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Quickstart · AutoPayKe API docs URL: https://www.autopayke.com/developers/quickstart A test key, test money and a test M-Pesa payout that succeeds, in five minutes. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference First steps Introduction Quickstart API keys Sandbox and test values Going live More ways in Public endpoints About AutoPayKe Docs First steps Quickstart Copy page A test key, test money and a test M-Pesa payout that succeeds, in five minutes. In five minutes you'll have a test key, test money and a test payout that succeeds, without touching real money. You need an AutoPayKe account (sign up in the app with your phone) with an email address on your profile. 1 Open a workspace Sign in at console.autopayke.com with your AutoPayKe account and choose Open developer workspace for the account you want to integrate (personal, business or organization). It starts in the sandbox at once. 2 Create a test key In API keys , with Test selected at the top, choose Create key , pick the Payouts preset and create it. Copy the key (it starts apk_test_ ) into your environment. It's shown once. export AUTOPAYKE_API_KEY= "apk_test_…" 3 Check the key works cURL JavaScript Python curl "https://api.autopayke.com/api/v1/account" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" livemode: false confirms you're in the sandbox. 4 Add test money curl -X POST "https://api.autopayke.com/api/v1/sandbox/faucet" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "amount_usdc": 1000 }' The Console's Overview has the same button. Test USDC isn't real and can't be withdrawn. 5 Send a test payout cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/payouts" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{ "amount": 150000, "currency": "KES", "destination": { "type": "mobile_money", "phone": "+254700000001" }, "reference": "order_1042" }' The answer comes back at once with status: "pending" . About five seconds later the payout succeeds: +254700000001 is a sandbox number that always does. 6 See the result curl "https://api.autopayke.com/api/v1/payouts/po_…" -H "Authorization: Bearer $AUTOPAYKE_API_KEY" Or open Logs in the Console to see the request and response. Next, add a webhook so you're told instead of asking. Next Webhooks : get payout.succeeded and payout.failed pushed to you, and verify signatures. Sandbox : numbers and amounts that fail, reverse, hold for review or time out. Payouts : every destination type and what each status means. Going live : apply, get approved, get your live key approved, fund your balance. Previous Introduction Next API keys © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # API keys · AutoPayKe API docs URL: https://www.autopayke.com/developers/api-keys Test and live keys, scopes, IP allowlists, expiry, rolling, revoking, and how live keys are approved. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference First steps Introduction Quickstart API keys Sandbox and test values Going live More ways in Public endpoints About AutoPayKe Docs First steps API keys Copy page Test and live keys, scopes, IP allowlists, expiry, rolling, revoking, and how live keys are approved. An API key identifies your workspace and decides what a request may do. Send it on every call as a bearer token: Authorization: Bearer apk_live_3f9aXyZ… Test and live keys Test Live Starts with apk_test_ apk_live_ Money Simulated. Paid from free test USDC. Real KES to real people, from your USDC. Available At once, in any workspace. After live access is approved, and each key after we approve it. Scopes Any scope. Only the capabilities your workspace is approved for. IP allowlist Optional. Required for keys with payouts:write . Expiry 30 days, 90 days, 1 year, or never for read-only keys. 30 days, 90 days or 1 year. Never isn't allowed. Both use the same base URL, https://api.autopayke.com . The key's prefix decides the environment, and objects never cross: a test key can't see live payouts. Create a key 1 Open API keys in the Console Choose Test or Live at the top, then Create key . Owners and admins of the account can create keys; other team members can see them. 2 Name it After where it runs: "Production server", "Payroll job". You'll see the name in logs and emails. 3 Choose scopes Give each key only what it needs. A reporting job needs read scopes; only the service that pays people needs payouts:write. 4 Add an IP allowlist One IP address or CIDR range per line, e.g. 203.0.113.10 or 198.51.100.0/24 . Calls from anywhere else get IP_NOT_ALLOWED . Use your servers' fixed egress addresses (a NAT gateway or static IP), not a laptop or office line. 5 Pick an expiry and confirm Live keys ask for your PIN, and your authenticator code if you use two-factor sign-in. The key is shown once. We store only a keyed hash and can't show it again. Live keys are approved one by one Every new live key, including one made by rolling, starts as Waiting for approval . Our team checks its scopes and allowlist against what your workspace was approved for, usually within one business day, and we email your technical contact either way. Until then, calls with it return KEY_PENDING_APPROVAL . A rejected key returns KEY_REJECTED ; the reason is in the Console. Scopes Scope Unlocks Notes account:read GET /api/v1/account Read the workspace, key, limits and usage. balance:read GET /api/v1/balance Read the balance payouts are paid from. payouts:read Quote, list and get payouts Price payouts and read them. payouts:write POST /api/v1/payouts Send money. Live keys with it need an IP allowlist. recipients:read POST /api/v1/recipients/verify Look up the name on a number or bank account. transactions:read Transactions and receipts Read money movements and receipts. events:read GET /api/v1/events Read the event log. webhooks:write Webhook endpoints Create and manage webhook endpoints through the API. collections:read / collections:write Not yet available Reserved for M-Pesa collections (on-ramp) through the API. payment_links:read / payment_links:write Not yet available Reserved for payment links through the API. batches:read / batches:write Not yet available Reserved for bulk payouts. batches:write will need an IP allowlist on live keys. A call without the scope it needs gets INSUFFICIENT_SCOPE (403) naming the missing scope. On live keys a scope also has to be one your workspace is approved for; if we take a capability away, keys that still list it stop being able to use it. Request more capabilities on the Console's Live access page. Presets in the Console: Read only (every :read scope), Payouts (account, balance, payouts, recipients, transactions, events), Full access (everything your plan allows). Roll a key Rolling issues a new key with the same name, scopes, allowlist and lifetime, and keeps the old one working for a grace period you choose: immediately, 1 hour, 24 hours or 7 days. Deploy the new key, then let the old one lapse. For a live key, the new key needs our approval first, and the old key keeps working until we approve it; the grace period starts then. We email the technical contact 30, 7 and 1 days before a key expires, and send an api_key.expiring webhook. Revoke a key Revoking is immediate and permanent: the next call gets KEY_REVOKED . Do it the moment a key may have leaked, then create a replacement. Our team can also suspend or revoke a key that's being misused, and will email your security contact. Keeping keys safe Keep keys on servers only: never in a mobile app, browser code, a public repository or a support ticket. Store them in a secret manager or environment variables, not in code or config files you commit. One key per service and environment, so you can revoke one without stopping the others. Up to 10 active keys per environment. If a key leaks: revoke it in the Console, create a new one, and check Logs for calls you didn't make. Anyone with a live key that has payouts:write can send money from your balance, within your limits and from your allowlisted addresses. Treat it like a bank password. Previous Quickstart Next Sandbox and test values © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Sandbox and test values · AutoPayKe API docs URL: https://www.autopayke.com/developers/sandbox Phone numbers, amounts and accounts that force every payout outcome, test money, and simulating statuses. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference First steps Introduction Quickstart API keys Sandbox and test values Going live More ways in Public endpoints About AutoPayKe Docs First steps Sandbox and test values Copy page Phone numbers, amounts and accounts that force every payout outcome, test money, and simulating statuses. The sandbox behaves like live, with the same endpoints, validation, limits, idempotency, events and webhooks, but no money moves and nothing reaches a payout network. Use a apk_test_ key. Every workspace has it from the start. Test money Test payouts are paid from a sandbox balance of free test USDC. Add up to 10,000 at a time with POST /api/v1/sandbox/faucet or the Console's Overview. A payout bigger than the balance fails with INSUFFICIENT_BALANCE , just as live. Values that force an outcome Send Outcome Timing +254700000001 Succeeds: payout.succeeded About 5 seconds +254700000002 Fails with RECIPIENT_INVALID ; test USDC returned About 5 seconds +254700000003 Held: payout.in_review About 5 seconds, then stays +254700000004 Succeeds, then reverses: payout.reversed ; test USDC returned About 5 seconds amount 13300 (KES 133) Times out: fails with METHOD_UNAVAILABLE About 60 seconds account_number 0000000000 Bank or PayBill payout fails with RECIPIENT_INVALID About 5 seconds Anything else Succeeds About 5 seconds Every test payout goes pending → processing → its outcome, with a webhook at each step. Recipient checks resolve every number to JANE WANJIKU DOE except +254700000002 , and every account except 0000000000 . Force a status yourself To test a branch without waiting, move any test payout to the status you want with POST /api/v1/sandbox/payouts/:id/simulate : curl -X POST "https://api.autopayke.com/api/v1/sandbox/payouts/po_…/simulate" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "outcome": "reversed" }' What's different from live The rate and fees are computed the same way but nothing is charged. Banks come from a fixed list when the live list isn't reachable; codes look the same. Transactions list your test payouts only. Sandbox limits match the Starter plan's money limits, at 5 requests a second. Test webhooks need a test endpoint; live events never go to test endpoints. Test webhooks still need a public https URL. While developing, a tunnel such as ngrok or Cloudflare Tunnel to your laptop works. Previous API keys Next Going live © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Going live · AutoPayKe API docs URL: https://www.autopayke.com/developers/going-live The live access application, what we check, plans and limits, capabilities, pricing and the first live payout. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference First steps Introduction Quickstart API keys Sandbox and test values Going live More ways in Public endpoints About AutoPayKe Docs First steps Going live Copy page The live access application, what we check, plans and limits, capabilities, pricing and the first live payout. Live access is for businesses we've reviewed. It takes an application in the Console, usually decided within 2 business days. Businesses registered outside Kenya can apply too. The steps 1 Build and test in the sandbox Work through the go-live checklist : idempotent retries, webhook signature checks, every payout outcome. 2 Apply in the Console Live access has a six-part form. It saves as you go, so you can finish it over several sittings: Business : registered name and number, KRA PIN for Kenyan companies, country, website, directors and anyone owning 10% or more. Use case : what you'll use the API for, who your customers are, where the money comes from and who receives it, the capabilities you need, and whether you pay people you haven't verified. Volumes : expected monthly volume in USD, payouts a month, the average and largest payout in KES. Compliance : your AML policy link, licences, how you screen against sanctions lists, politically exposed persons, and a complaints contact. Technical : your servers' IPs, webhook URL, and technical and security contacts. Agreements : the API terms, acceptable use policy, data processing terms and pricing, and the plan you want. 3 Review We run automatic checks, then a person reviews. If we need more, we write to you in the Console and by email; reply there and submit again. You'll get a decision with the reason either way. 4 Create a live key and wait for its approval Switch to Live , create a key with an IP allowlist, and we approve it. See API keys . 5 Fund your balance Send USDC (or USDT) on the Avalanche C-Chain to the wallet address in the Console's Overview or GET /api/v1/balance , or top up from M-Pesa in the AutoPayKe app. See Funding your balance . 6 Send a small live payout Pay KES 10 to your own number, confirm the webhook arrives and the money lands, then go. Plans and limits Plan Per payout Per day Per month Requests a second Who it's for Sandbox KES 150,000 KES 1,000,000 KES 10,000,000 5 Everyone, test keys only Starter KES 150,000 KES 1,000,000 KES 10,000,000 10 Approved businesses Growth KES 500,000 KES 10,000,000 KES 100,000,000 25 After a clean track record, reviewed Enterprise KES 1,000,000+ KES 50,000,000+ KES 500,000,000+ 50 By agreement Days and months follow Nairobi time. Your own limits are in GET /api/v1/account and the Console's Usage page. A payout over a limit is refused with LIMIT_PER_TX_EXCEEDED , LIMIT_DAILY_EXCEEDED or LIMIT_MONTHLY_EXCEEDED ; nothing is charged. Raising a workspace above Starter is checked by two people on our side. Capabilities Approval comes with a set of capabilities (scopes) your live keys may use. To add one later, for example M-Pesa collections when it launches, request it on the Live access page with a short reason. Capabilities that move or take money are approved by two people. Pricing API payouts cost our published cash-out fee less 0.5 percentage points, plus the Avalanche network fee. The exact charge for any payout is in its quote ( fee_breakdown ) before you send. See Fees and pricing . What we watch after you're live Unusual spikes in payouts, high error rates, many refused calls, and recipient checks that don't resolve all alert our team. We may hold a payout for review ( in_review ), pause a key, or suspend a workspace while we talk to you. Keep your contacts current in Settings so we can reach you. Previous Sandbox and test values Next Public endpoints © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Public endpoints · AutoPayKe API docs URL: https://www.autopayke.com/developers/public-endpoints Check coverage and price a cash-out with no key at all. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference First steps Introduction Quickstart API keys Sandbox and test values Going live More ways in Public endpoints About AutoPayKe Docs More ways in Public endpoints Copy page Check coverage and price a cash-out with no key at all. Prerequisites A terminal with curl , or Node.js 18+ or Python 3.9+. Nothing else: the endpoints in this guide are public and need no key. Call the API 1 Check where you can pay out Ask for Kenya's live payout methods. The answer lists each method with its operators and the smallest and largest amount per transaction, in KES cents. cURL JavaScript Python curl "https://api.autopayke.com/api/v1/capabilities?country=KE&direction=payout" 2 Price a cash-out Quote the fee for sending 40 USDC out to M-Pesa. You pass the amount in major units; everything in the response is in minor units. cURL JavaScript Python curl "https://api.autopayke.com/api/v1/fees/quote?product=cashout&amount=40¤cy=USDC" Response { "ok" : true , "data" : { "product" : "cashout" , "currency" : "USDC" , "amount" : "40000000" , "fees" : [ { "code" : "service_fee" , "label" : "Service fee" , "amount" : "1200000" , "currency" : "USDC" } ], "totalFee" : "1200000" , "total" : "41200000" , "placeholder" : false , "settingsVersion" : "2026-11-03T07:03:31.541Z" } } 3 Read the result totalFee is 1,200,000 micro-USDC, which is 1.20 USDC: 3% of 40. placeholder: false means the price is final. Show your customer this number before they confirm. Next steps Authenticate Get a token for the account endpoints: balance, top-ups and payment requests. Fees and pricing Every on-ramp and off-ramp price, live. Previous Going live Next About AutoPayKe © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # About AutoPayKe · AutoPayKe API docs URL: https://www.autopayke.com/developers/about-autopayke The product, the chain and the account API behind the AutoPayKe apps. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference First steps Introduction Quickstart API keys Sandbox and test values Going live More ways in Public endpoints About AutoPayKe Docs More ways in About AutoPayKe Copy page The product, the chain and the account API behind the AutoPayKe apps. AutoPayKe moves money between M-Pesa , Kenyan banks and USDC on Avalanche . People and businesses use the app to top up from M-Pesa, pay any Till or PayBill, pay farmers in bulk and cash out. The same system is open to developers over a JSON API. What you can build Show live prices Quote the exact fee for any amount before your customer commits, from the same settings every charge uses. Check live coverage Know which operators, Tills, PayBills and limits work right now, instead of hard-coding a list. Collect payments Create a link anyone can pay by M-Pesa, with the money landing in your AutoPayKe balance. Top up a balance Start an M-Pesa prompt and follow it, stage by stage, until the money is credited. How the API is organised Area Auth What it covers Capabilities Public Countries, methods, operators and limits that are live now Fees Public Published prices and itemised quotes Payment links (payer) Public Viewing and paying a link, following the payment Top-ups Bearer Money in by mobile money, card or bank transfer Balance Bearer What an account holds, can send and can withdraw Payout accounts Bearer Saved M-Pesa numbers and bank accounts, with name checks Payment requests Bearer Creating and cancelling payment links Principles One price, everywhere. The docs, the app's confirm screen and the charge all read the same fee settings. If a price changes, every one of them changes together. No card details, ever. Cards are paid on a hosted checkout. Any request that contains a card number is refused before it reaches business logic. Coverage is data. Methods come and go as partners go live or pause. Ask /capabilities rather than assuming. We never hold the money. Balances live in each person's own smart wallet on Avalanche C-Chain. See On-chain contracts . Next steps Quickstart Your first two calls, in under five minutes. API reference Every endpoint, parameter and response. Previous Public endpoints Next Authentication © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Authentication · AutoPayKe API docs URL: https://www.autopayke.com/developers/authentication API keys for integrations, account tokens for the apps, and which endpoints need which. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Using the API Authentication Requests and responses Idempotency Pagination Errors Rate limits Versioning and changelog Docs Using the API Authentication Copy page API keys for integrations, account tokens for the apps, and which endpoints need which. The API has three kinds of endpoint, and each reference page says which it is. Kind How to authenticate Used for Partner (API key) Authorization: Bearer apk_test_… / apk_live_… Everything a business integration does: payouts, recipients, transactions, events, webhooks. Public Nothing Coverage, published fees, fee quotes. Safe to call from anywhere. Account Authorization: Bearer The AutoPayKe app's own endpoints for a signed-in person: top-ups, payment links, live status. API keys Create keys in the Console . A request is accepted when the key exists, isn't revoked, expired, suspended, waiting for approval or rejected; comes from an allowed IP; has the scope the endpoint needs; and the workspace isn't suspended. Each failure has its own code, so you can tell them apart. See API keys and Errors . cURL JavaScript Python curl "https://api.autopayke.com/api/v1/account" -H "Authorization: Bearer $AUTOPAYKE_API_KEY" Account tokens The account API signs a person in with a one-time code sent to their phone, and returns a short-lived access token and a refresh token. It exists for the AutoPayKe apps and for building on behalf of a person who signs in; it's not how a business integrates payouts. See the existing Requests and responses page and the account endpoints in the API reference. Account tokens in detail Two kinds of endpoint Kind Header Examples Public None /capabilities , /fees/* , /p/ {code} Account Authorization: Bearer /balance , /funding/* , /payment-requests Account endpoints act on behalf of one AutoPayKe account, with exactly the permissions its owner has in the app. The token is the same one the app uses after sign-in. Get a token Signing in is two calls: ask for a one-time code, then exchange it for tokens. 1 Request a code The code goes to the account's email, or by SMS when there's no email on file. It's valid for 5 minutes. cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/auth/send-otp" \ -H "Content-Type: application/json" \ -d '{ "phone": "+254712345678" }' 2 Exchange it for tokens cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/auth/verify-otp" \ -H "Content-Type: application/json" \ -d '{ "phone": "+254712345678", "code": "123456" }' If the account has two-factor sign-in on, the answer is { twoFactorRequired: true, challengeToken } instead. Send the challenge and a code from the authenticator app to POST /api/auth/verify-2fa to get the tokens. 3 Call an account endpoint cURL JavaScript Python curl "https://api.autopayke.com/api/v1/balance" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" Token lifetimes Token Lasts Use accessToken 15 minutes The Authorization header on every account call refreshToken 30 days Get a new access token: POST /api/auth/refresh with { refreshToken } When a call answers 401 AUTH_ERROR , refresh once and retry. If refreshing fails too, the person must sign in again. POST /api/auth/logout with the refresh token ends the session everywhere it's used. Keep tokens on your server. A token can move the account's money. Never put one in a mobile app bundle, a web page or a repository. Store refresh tokens encrypted. Server-to-server access Tokens belong to a person who signed in. If your integration needs to run without anyone signing in (paying out to many people from your platform, for example) talk to us about partner access . Previous About AutoPayKe Next Requests and responses © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Requests and responses · AutoPayKe API docs URL: https://www.autopayke.com/developers/requests-and-responses Base URL, the { ok, data } envelope, amounts in minor units and CORS. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Using the API Authentication Requests and responses Idempotency Pagination Errors Rate limits Versioning and changelog Docs Using the API Requests and responses Copy page Base URL, the { ok, data } envelope, amounts in minor units and CORS. Base URL https://api.autopayke.com/api/v1 Everything is HTTPS. Send JSON bodies with Content-Type: application/json . The response envelope Every response, success or failure, has the same outer shape: // Success { "ok" : true , "data" : { … } } // Failure { "ok" : false , "error" : "Enter a valid amount" , "code" : "VALIDATION_ERROR" } Branch on ok , then on code . error is a sentence written for people: you can show it as it is. See Errors for every code. Amounts Requests take major units as a decimal string: "1500" is KES 1,500, "40" is 40 USDC. Responses give minor units as a decimal string, so no precision is lost to floating point. Currency Minor units 1 unit is Example KES 2 decimals (cents) "100" "150000" = KES 1,500.00 NGN 2 decimals (kobo) "100" "2000000" = ₦20,000.00 USD 2 decimals (cents) "100" "5000" = $50.00 USDC 6 decimals "1000000" "40000000" = 40 USDC Parse minor units with BigInt in JavaScript or int in Python, and only divide when you display them. Idempotency Anything that moves money accepts an idempotencyKey (8–80 characters) in the body. Top-ups also accept it as an Idempotency-Key header. Retrying with the same key returns the original result instead of charging twice, so it's safe to retry after a timeout. curl -X POST "https://api.autopayke.com/api/v1/funding/mobile-money" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" \ -H "Idempotency-Key: order-1042-topup" \ -H "Content-Type: application/json" \ -d '{ "amount": "1500", "phone": "+254712345678" }' Identifiers and timestamps Ids are UUIDs, except payment link codes (6–32 letters, digits, - or _ ). Times are ISO 8601 in UTC, e.g. 2026-11-03T09:10:41.000Z . Countries are ISO 3166-1 alpha-2 ( KE ), currencies ISO 4217 ( KES ), phones E.164 ( +254712345678 ). Calling from a browser Browsers only allow calls from AutoPayKe's own sites (CORS). Call the API from your server, and keep tokens there. Public endpoints work from any server, script or terminal. Caching /capabilities and /fees/published send Cache-Control: public, max-age=60 . Caching them for up to a minute is safe; quotes and everything else should be fetched fresh. Previous Authentication Next Idempotency © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Idempotency · AutoPayKe API docs URL: https://www.autopayke.com/developers/idempotency Make retries safe: how Idempotency-Key works, how to choose keys, and a retry loop that can't pay twice. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Using the API Authentication Requests and responses Idempotency Pagination Errors Rate limits Versioning and changelog Docs Using the API Idempotency Copy page Make retries safe: how Idempotency-Key works, how to choose keys, and a retry loop that can't pay twice. Networks fail. A request can reach us and the answer get lost on the way back. Without protection, retrying a payout could pay someone twice. Idempotency keys make retries safe. The rule Every request that moves money (today POST /api/v1/payouts ) needs an Idempotency-Key header. Without one you get IDEMPOTENCY_KEY_REQUIRED and nothing happens. You send We do A new key Process the request and store the response for 24 hours. The same key and the same body (within 24 hours) Return the stored response, with the header Idempotent-Replayed: true . No second payout. The same key and a different body Refuse with IDEMPOTENCY_KEY_REUSED (409). The same key while the first is still running Refuse with IDEMPOTENCY_IN_PROGRESS (409). Wait a second and retry. A key whose first request failed validation or a limit The key is released: fix the request and retry with the same key. Choosing keys 8 to 128 characters: letters, digits, . _ : - . One key per payout you intend to make, created before the first attempt and saved with your record (order, payroll line), so a retry after a crash reuses it. A UUID works, or something derived from your own id, such as payroll-2026-11:line-42 . Never reuse a key for a different payout. Keys are separate per environment: the same key in test and live doesn't collide. Retrying safely retry.js // Retry network errors and 5xx with backoff, reusing the same Idempotency-Key. async function createPayout (body, idempotencyKey) { for ( let attempt = 0 ; attempt < 5 ; attempt++) { try { const res = await fetch ( "https://api.autopayke.com/api/v1/payouts" , { method: "POST" , headers: { Authorization: `Bearer ${process.env.AUTOPAYKE_API_KEY}` , "Idempotency-Key" : idempotencyKey, "Content-Type" : "application/json" , }, body: JSON. stringify (body), }); const json = await res. json (); if (json.ok) return json.data; // Retry only what's worth retrying. if ([ "IDEMPOTENCY_IN_PROGRESS" , "RATE_LIMITED" , "CAPABILITY_PAUSED" , "METHOD_UNAVAILABLE" ]. includes (json.code) || res.status >= 500 ) { await new Promise ((r) => setTimeout (r, 2 ** attempt * 500 )); continue; } throw Object. assign ( new Error (json.error), { code: json.code, requestId: json.requestId }); } catch (err) { if (err.code) throw err; // an API error we decided not to retry await new Promise ((r) => setTimeout (r, 2 ** attempt * 500 )); // network error: retry } } throw new Error ( "Gave up; check GET /api/v1/payouts?reference=… before trying again" ); } After 24 hours a key can be used again as new. If you're unsure whether an old attempt went through, look it up by reference with GET /api/v1/payouts?reference=… before retrying. Previous Requests and responses Next Pagination © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Pagination · AutoPayKe API docs URL: https://www.autopayke.com/developers/pagination Cursor pagination with limit and starting_after, and walking every page. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Using the API Authentication Requests and responses Idempotency Pagination Errors Rate limits Versioning and changelog Docs Using the API Pagination Copy page Cursor pagination with limit and starting_after, and walking every page. List endpoints (payouts, transactions, events) return newest first, in pages, using a cursor. The page looks like this: { "ok" : true , "data" : { "object" : "list" , "data" : [ … ], "has_more" : true } } Parameter Meaning limit Items per page, 1 to 100. Default 20. starting_after The id of the last item you received. Returns the next (older) page. Walking every page cURL JavaScript Python curl "https://api.autopayke.com/api/v1/payouts?limit=100" -H "Authorization: Bearer $AUTOPAYKE_API_KEY" # then, while has_more is true: curl "https://api.autopayke.com/api/v1/payouts?limit=100&starting_after=po_LAST_ID" -H "Authorization: Bearer $AUTOPAYKE_API_KEY" New items that arrive while you page don't shift your cursor. To sync incrementally, page events from the newest until you reach one you've already processed. Previous Idempotency Next Errors © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Errors · AutoPayKe API docs URL: https://www.autopayke.com/developers/errors Every error code, its HTTP status, whether to retry and what to do. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Using the API Authentication Requests and responses Idempotency Pagination Errors Rate limits Versioning and changelog Docs Using the API Errors Copy page Every error code, its HTTP status, whether to retry and what to do. Partner API errors Partner API errors look like every other error, plus a requestId (also in the X-Request-ID header) and sometimes details . Branch on code ; error is a sentence for people and may change. { "ok" : false , "error" : "This payout would take today's total past your daily limit of KES 1,000,000." , "code" : "LIMIT_DAILY_EXCEEDED" , "requestId" : "0c1f7a3e-5b2d-4e8f-9a61-7d3c2b1e0f45" , "details" : { "used_today" : 980000 , "daily_limit" : 1000000 } } Retry: yes means retry the same request later with backoff (and the same Idempotency-Key); after fixing means change something first; no means don't retry as is. Code HTTP Retry When What to do INVALID_API_KEY 401 no No key, a malformed key, or one we don't know. Check the Authorization header is Bearer apk_… with the whole key. KEY_REVOKED 401 no The key was revoked, or a rolled key's grace period ended. Use the replacement key, or create a new one. KEY_EXPIRED 401 no Past the key's expiry date. Roll or create a key. We email before expiry. KEY_SUSPENDED 401 no Our team paused the key. Check your security contact's email, or contact support. KEY_PENDING_APPROVAL 401 no A new live key we haven't approved yet. Wait for the approval email; keep using your current key. KEY_REJECTED 401 no We didn't approve this live key. Read the reason in the Console and create a key that fits it. KEY_WRONG_ENVIRONMENT 401 no A key used against the other environment's host. Use test keys for testing and live keys for live. INSUFFICIENT_SCOPE 403 after fixing The key lacks the scope the endpoint needs, or the workspace isn't approved for it. details.scope names it. Use a key with it, or request the capability. IP_NOT_ALLOWED 403 after fixing The request came from an IP outside the key's allowlist. Call from an allowlisted server, or add the address to a new key. WORKSPACE_SUSPENDED 403 no API access for the workspace is suspended. Contact support. LIVE_ACCESS_REQUIRED 403 after fixing A live key in a workspace without live access. Apply for live access. VALIDATION_ERROR 422 after fixing The body or a parameter is invalid. error names the field; details.issues lists every problem. NOT_FOUND 404 no No such object in this environment. Check the id and that you're using the right environment's key. IDEMPOTENCY_KEY_REQUIRED 400 after fixing A money-moving POST without Idempotency-Key. Send one. See Idempotency. IDEMPOTENCY_KEY_REUSED 409 no The key was used with a different body. Use a new key for a different payout. IDEMPOTENCY_IN_PROGRESS 409 yes The first request with this key is still running. Retry in a second with the same key. RECIPIENT_INVALID 422 after fixing The number or account can't receive this payout. Ask the recipient for different details. METHOD_UNAVAILABLE 503 yes The payout method is down or not enabled for you. Retry later, or use another method. LIMIT_PER_TX_EXCEEDED 422 after fixing Above your per-payout limit. Send less, or ask us to review your limits. LIMIT_DAILY_EXCEEDED 422 yes Today's total would pass your daily limit. Wait until midnight Nairobi time. LIMIT_MONTHLY_EXCEEDED 422 yes This month's total would pass your monthly limit. Wait for the 1st, or ask us to review your limits. INSUFFICIENT_BALANCE 402 after fixing Your balance doesn't cover the payout and its fees. details.required_usdc says how much. Fund your balance. CAPABILITY_PAUSED 503 yes We paused payouts, a method, or writes for maintenance or an incident. Retry later with backoff. RATE_LIMITED 429 yes Too many requests a second for the key, or too many recipient checks a minute. Wait for Retry-After seconds. RECIPIENT_NAME_MISMATCH 422 after fixing Reserved: not returned today. Use recipients/verify and name_match instead. QUOTE_EXPIRED 410 after fixing Reserved: not returned today; creating a payout reprices it. - PAYOUT_IN_REVIEW 202 no Reserved: held payouts return the payout with status in_review instead. - Failures after the payout was accepted A payout that was accepted but didn't complete ends as failed with a failure_code on the payout object (not an HTTP error): RECIPIENT_INVALID , METHOD_UNAVAILABLE , FUNDING_FAILED , PAYOUT_FAILED or PAYOUT_RETURNED . See Payouts . Public and account API errors Shape HTTP/ 1.1 422 Unprocessable Entity { "ok" : false , "error" : "amount must be a positive decimal in major units" , "code" : "VALIDATION_ERROR" } code is stable: build your logic on it. error can change wording and is safe to show to people. Codes Code HTTP Meaning What to do VALIDATION_ERROR 422 A parameter is missing or invalid. Fix the request; error says which field and why. AUTH_ERROR 401 No token, or it has expired or been revoked. Refresh the access token and retry once. FORBIDDEN 403 The account isn't allowed to do this. Don't retry. Check the account's role or verification. NOT_FOUND 404 The resource or route doesn't exist, or isn't this account's. Check the id and the path. CONFLICT 409 The request clashes with the current state. Re-read the resource, then decide. QUOTE_EXPIRED 410 The exchange rate you confirmed has expired. Get a new quote and confirm again. INSUFFICIENT_FUNDS 402 The balance can't cover the amount and fees. Top up or lower the amount. RATE_LIMIT 429 Too many requests from this address. Wait and retry with backoff. See Rate limits. NOT_SUPPORTED 405 The operation is deliberately not offered. Use the alternative the error describes. RAIL_ERROR 502 A payment network refused or failed the request. Retry later; the money hasn't moved. BLOCKCHAIN_ERROR 502 Avalanche didn't accept the transaction. Retry later. SERVICE_PAUSED 503 Payments are briefly paused; money is safe. Retry in a few minutes. INTERNAL_ERROR 500 Something broke on our side. Retry with the same idempotency key; tell us if it persists. Handling errors cURL JavaScript Python curl -i "https://api.autopayke.com/api/v1/fees/quote?product=cashout&amount=-1¤cy=USDC" # HTTP/1.1 422 # {"ok":false,"error":"amount must be a positive decimal in major units","code":"VALIDATION_ERROR"} Retrying Retry 429 , 502 , 503 and 500 with exponential backoff: 1s, 2s, 4s, 8s, then give up. Always retry money-moving calls with the same idempotency key. Never retry 4xx errors other than 429 without changing the request. Previous Pagination Next Rate limits © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Rate limits · AutoPayKe API docs URL: https://www.autopayke.com/developers/rate-limits Requests a second per key, the headers that report them, and the money limits per plan. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Using the API Authentication Requests and responses Idempotency Pagination Errors Rate limits Versioning and changelog Docs Using the API Rate limits Copy page Requests a second per key, the headers that report them, and the money limits per plan. Partner API rate limits Each key may make a set number of requests a second, by plan: sandbox 5, Starter 10, Growth 25, Enterprise 50 (yours is limits.requests_per_second in GET /api/v1/account ). Every keyed response carries: Header Meaning X-RateLimit-Limit Requests allowed this second. X-RateLimit-Remaining Left this second. X-RateLimit-Reset Unix second when the window resets. Retry-After On RATE_LIMITED only: seconds to wait. Recipient checks have their own limit of 30 a minute per key. Money limits (per payout, day and month) are separate; see Plans and limits . For bulk work, send payouts from a queue at a steady rate below your limit rather than all at once, and back off on 429 with jitter. Public and account API limits Limits are counted per IP address and per endpoint, over a rolling window. Rate-limited endpoints tell you where you are on every response: X-RateLimit-Limit: 10 X-RateLimit-Remaining: 7 Limits Endpoint Limit POST /api/v1/funding/* 10 per minute POST /api/v1/p/ {code} /pay 10 per 5 minutes POST /api/v1/wallet/destinations 20 per 5 minutes (shared with resolve-name) POST /api/auth/send-otp 3 per 5 minutes per address, and 3 per 5 minutes per phone POST /api/auth/verify-otp 5 per 5 minutes GET /api/v1/capabilities Cached for 60 seconds: cache it on your side too GET /api/v1/fees/published Cached for 60 seconds When you hit a limit You get 429 with code: "RATE_LIMIT" and a message naming the limit. Wait for the window to pass, then retry with backoff. If your use needs more, tell us about it in partner access . Previous Errors Next Versioning and changelog © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Versioning and changelog · AutoPayKe API docs URL: https://www.autopayke.com/developers/versioning What can change within v1, how breaking changes are announced, and what's new. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Using the API Authentication Requests and responses Idempotency Pagination Errors Rate limits Versioning and changelog Docs Using the API Versioning and changelog Copy page What can change within v1, how breaking changes are announced, and what's new. The API version is in the path: /api/v1 . Within v1 we only make changes that don't break a correct integration: New endpoints, new optional parameters, new fields in responses and webhook payloads. New event types (endpoints subscribed to * receive them; ignore types you don't know). New error codes for new situations (treat an unknown code by its HTTP status). New values in status-like fields only where documented as open. Anything that would break an integration (removing or renaming a field, changing a type, making an optional parameter required) would ship as /api/v2 , announced here and by email to technical contacts with at least six months' overlap. Build to last Parse JSON leniently: ignore fields you don't use. Branch on code , never on error text. Handle unknown event types by acknowledging them with 2xx and ignoring them. Don't depend on the order of keys in JSON or of items you didn't sort. Changelog Date Change 2026-11 Partner API: API keys, the Console, sandbox, payouts, recipient checks, transactions, receipts, events and signed webhooks. Live keys approved one by one; capabilities granted per workspace. 2026 Public endpoints (coverage, fees, quotes) and the account API used by the AutoPayKe apps. Previous Rate limits Next Payouts © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Payouts · AutoPayKe API docs URL: https://www.autopayke.com/developers/payouts Send KES to M-Pesa, Airtel Money, Tills, PayBills and banks: destinations, amounts, statuses, failures, quotes and fees. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Payouts Payouts Recipient verification Funding your balance Fees and pricing Coverage and limits In the AutoPayKe apps Top-ups (on-ramp) Cash-outs (off-ramp) Payment links Real-time status Docs Payouts Payouts Copy page Send KES to M-Pesa, Airtel Money, Tills, PayBills and banks: destinations, amounts, statuses, failures, quotes and fees. A payout sends Kenyan shillings to one recipient, paid from your USDC balance. This page covers everything about them; the endpoint details are in the Payouts reference . Destinations Choose the destination by type . Your workspace may be limited to some types ( limits.methods in GET /api/v1/account ); others get METHOD_UNAVAILABLE . destination // M-Pesa or Airtel Money wallet { "type" : "mobile_money" , "phone" : "+254712345678" , "network" : "safaricom" , "name" : "Jane Wanjiku" } // Till (Buy Goods) { "type" : "till" , "till_number" : "5123456" } // PayBill { "type" : "paybill" , "paybill_number" : "247247" , "account_number" : "INV-2041" } // Kenyan bank account (bank_code from GET /api/v1/banks) { "type" : "bank" , "bank_code" : "KCBLKENX" , "account_number" : "1234567890" , "account_name" : "Jane Wanjiku" } Type Fields Rules mobile_money phone, network?, name? A Kenyan mobile number in any common format (+254712345678, 254712345678, 0712345678). network: safaricom (default) or airtel. name: who you expect, for checks. till till_number 5 to 8 digits. paybill paybill_number, account_number PayBill 5 to 7 digits; account number 1 to 20 characters, exactly as the business gave it. bank bank_code, account_number, account_name bank_code from GET /api/v1/banks ; account number 6 to 34 characters; the holder's name. Amounts amount is what the recipient receives, in KES cents , as an integer: 150000 is KES 1,500. Whole shillings only: the amount must be a multiple of 100, or you get VALIDATION_ERROR . Fees are added on top. The total taken from your balance is debited_usdc on the payout. USDC amounts are decimal strings with 6 places ( "11.948310" ). Don't parse them into floats for accounting; use a decimal type. Sending one cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/payouts" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{ "amount": 150000, "currency": "KES", "destination": { "type": "mobile_money", "phone": "+254700000001" }, "reference": "order_1042" }' What happens when you call it: We check the Idempotency-Key, your key's scope and allowlist, and whether payouts are paused. We validate the destination and check your per-payout, daily and monthly limits. We price it at the current rate and check your balance covers the amount plus fees. We take the total from your balance, record the payout and answer with it, status pending . We send the money. Webhooks follow as it moves. If any check fails, nothing is charged, you get an error code, and you can retry with the same Idempotency-Key. Statuses pending ──► processing ──► succeeded ──► reversed │ │ │ ├──► in_review ──► processing / succeeded / failed │ │ └─────────────┴──► failed Status Final? Meaning Webhook pending No Accepted and paid for from your balance; about to be sent. payout.created processing No On its way to the recipient's network. payout.processing in_review No Held for a manual check before it's paid. Usually decided within hours. payout.in_review succeeded Usually The recipient has the money. payout.succeeded failed Yes It didn't go through. Nothing was paid; any debit is back in your balance. payout.failed reversed Yes It succeeded, then the money came back to your balance (rare: e.g. the network returned it). payout.reversed Treat succeeded as done for your customer, but keep listening: a reversal can arrive later. Mobile money usually completes in under a minute; banks can take longer, depending on the bank. Why payouts fail failure_code Meaning What to do RECIPIENT_INVALID The number or account can't receive this payout (closed, wrong, or not registered for mobile money). Ask the recipient for different details. METHOD_UNAVAILABLE The payout network didn't answer in time. Nothing was paid. Retry later with a new Idempotency-Key. FUNDING_FAILED We couldn't fund it from your wallet. Nothing left the wallet. Check your balance and retry. PAYOUT_FAILED It couldn't be completed. Any money taken is returned. Retry later; contact support with the payout id if it repeats. PAYOUT_RETURNED The money was sent back to your wallet before completing. Check the recipient's details. A failed payout is final. To try again, create a new payout with a new Idempotency-Key. Reusing the old key returns the old, failed payout. Quotes POST /api/v1/payouts/quote takes the same body as a payout (minus reference, description and metadata) and returns the rate, fee_usdc , total_usdc and a fee_breakdown , after running the same destination and limit checks. It doesn't hold money or the rate; creating the payout prices it again, and the rate can move slightly in between. Quotes are free and don't count against limits. Fees You pay our cash-out fee less 0.5 percentage points (the API partner price) plus the Avalanche network fee. Depending on how fees are configured, the payout network's own charge is either inside our fee or shown separately as payout_cost_usdc . The quote and the payout always show exactly what you paid. See Fees and pricing for today's published rates. References and metadata Put your own id in reference (up to 64 characters) and anything else you'll want back in metadata (up to 20 string pairs). Both come back on the payout, its events and webhooks, and you can list payouts by reference. Don't store personal data you don't need, secrets or card numbers there. Paying many people There's no batch endpoint yet; send one payout per person from a queue. Give each its own Idempotency-Key derived from your batch and line ( payroll-2026-11:line-42 ), keep under your requests-a-second limit, check your balance first with GET /api/v1/balance , and reconcile from webhooks. Previous Versioning and changelog Next Recipient verification © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Recipient verification · AutoPayKe API docs URL: https://www.autopayke.com/developers/recipient-verification Check the name on a number or account before you pay it. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Payouts Payouts Recipient verification Funding your balance Fees and pricing Coverage and limits In the AutoPayKe apps Top-ups (on-ramp) Cash-outs (off-ramp) Payment links Real-time status Docs Payouts Recipient verification Copy page Check the name on a number or account before you pay it. Paying the wrong number is the most common and most expensive mistake. Before the first payout to someone new, check the name on their account with POST /api/v1/recipients/verify . cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/recipients/verify" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "type": "mobile_money", "phone": "0712345678", "name": "Jane Doe" }' Reading the answer Result Do resolved true, name_match matched Go ahead. resolved true, name_match mismatch Show the person the registered name and ask them to confirm before you pay. resolved false We couldn't get a name: the account may not exist, or the network doesn't share names for it. Confirm the details another way. Names come as the network registered them, often upper case and with middle names. matched means every word of the shorter name appears in the longer one. Limits and fair use 30 checks a minute per key; more get RATE_LIMITED with Retry-After. Only check numbers people gave you. Many checks that don't resolve look like someone sweeping for valid accounts; that alerts our team and can get a key suspended. Keep results only as long as you need them, under your privacy policy. Previous Payouts Next Funding your balance © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Funding your balance · AutoPayKe API docs URL: https://www.autopayke.com/developers/funding Fund live payouts with USDC or USDT on Avalanche, or from M-Pesa in the app, and watch the balance. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Payouts Payouts Recipient verification Funding your balance Fees and pricing Coverage and limits In the AutoPayKe apps Top-ups (on-ramp) Cash-outs (off-ramp) Payment links Real-time status Docs Payouts Funding your balance Copy page Fund live payouts with USDC or USDT on Avalanche, or from M-Pesa in the app, and watch the balance. Live payouts are paid from your workspace's USDC on the Avalanche C-Chain, held in a smart contract wallet AutoPayKe operates for your account. Fund it before you send. Ways to fund Method How Notes USDC on Avalanche Send to wallet_address from GET /api/v1/balance or the Console's Overview. Credited once the transfer confirms on-chain, usually seconds. Use the Avalanche C-Chain only. USDT on Avalanche Same address. Shows as usdt in the balance. M-Pesa, card or bank Top up from the AutoPayKe app signed in to the same account. See Top-ups (on-ramp) for how top-ups work and cost. Send only USDC or USDT on the Avalanche C-Chain . Tokens sent on another network (Ethereum, Tron, Polygon…) to this address may be lost. Watching the balance Check GET /api/v1/balance before a large run. Set a low-balance alert in the Console's Settings. We email your finance contact and send a balance.low webhook when it drops below it. A payout bigger than the balance fails with INSUFFICIENT_BALANCE ; details.required_usdc says what it needed. Sandbox Test payouts use free test USDC from POST /api/v1/sandbox/faucet . It isn't real and can't be moved. Previous Recipient verification Next Fees and pricing © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Fees and pricing · AutoPayKe API docs URL: https://www.autopayke.com/developers/fees What on-ramp and off-ramp cost, read live from the same settings every charge uses, with a calculator. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Payouts Payouts Recipient verification Funding your balance Fees and pricing Coverage and limits In the AutoPayKe apps Top-ups (on-ramp) Cash-outs (off-ramp) Payment links Real-time status Docs Payouts Fees and pricing Copy page What on-ramp and off-ramp cost, read live from the same settings every charge uses, with a calculator. These are the prices in force right now, read live from /api/v1/fees/published : the same settings the app's confirm screen and every charge use. Partner and network costs are included in the price shown unless the table says otherwise. Prices Calculator Quote any amount. This calls /api/v1/fees/quote as you type. Product Cash out (off-ramp) M-Pesa top-up (on-ramp) Card top-up (on-ramp) AutoPayKe to AutoPayKe Amount USDC GET /api/v1/fees/quote?product=cashout&amount=40¤cy=USDC Quoting… Off-ramp: cash out Moving money out (to M-Pesa, Airtel Money, a Till or a PayBill) costs a percentage of the amount with a small minimum. The payout partner's own fee is paid out of that, not added on top. For a narrow band of small amounts the fee is raised by a fraction of a cent so it still covers the partner's cost; the quote always shows the exact figure. The recipient gets the full amount you quoted. Fees are added to what leaves the sender's balance. When a payout is re-priced at the moment it's sent and the recipient's amount would move by more than a small tolerance, the payout stops for review instead of paying a different amount. Exchange rate Converting between shillings and USDC uses the market rate with a published spread. The spread is in the rate, not a separate line: the rate you're quoted is the rate you get, for as long as the quote is valid. On-ramp: top up Top-up prices are published per method. While a method's price is still being set, the table says so and the fee is quoted before the customer confirms placeholder: true in a quote means exactly that. Between AutoPayKe accounts Sending to another AutoPayKe account costs at most the small network fee shown above; there's no percentage. Never hard-code a price. Quote it with /fees/quote just before the customer confirms, and show the number you got back. Previous Funding your balance Next Coverage and limits © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Coverage and limits · AutoPayKe API docs URL: https://www.autopayke.com/developers/coverage The countries, mobile money operators, Tills, PayBills and banks money can reach today, and per-transaction limits. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Payouts Payouts Recipient verification Funding your balance Fees and pricing Coverage and limits In the AutoPayKe apps Top-ups (on-ramp) Cash-outs (off-ramp) Payment links Real-time status Docs Payouts Coverage and limits Copy page The countries, mobile money operators, Tills, PayBills and banks money can reach today, and per-transaction limits. Where money can come from and go to changes as partners go live, pause or change limits. This table is read live from /api/v1/capabilities ; your integration should read it the same way. Live coverage Reading it in code cURL JavaScript Python curl "https://api.autopayke.com/api/v1/capabilities?country=KE&direction=payout" Things to know minAmount and maxAmount are per transaction, in minor units of the method's currency. null means no limit is published. Operators are listed by code and label: send the code (e.g. Safaricom ), show the label (M-Pesa). Kenyan bank payouts over PesaLink to 40 banks, microfinance banks and SACCOs are built and tested but not switched on yet. They'll appear here the moment they are. Previous Fees and pricing Next Top-ups (on-ramp) © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Top-ups (on-ramp) · AutoPayKe API docs URL: https://www.autopayke.com/developers/on-ramp Bring money in from M-Pesa, card or bank transfer and follow it until it's in the balance. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Payouts Payouts Recipient verification Funding your balance Fees and pricing Coverage and limits In the AutoPayKe apps Top-ups (on-ramp) Cash-outs (off-ramp) Payment links Real-time status Docs In the AutoPayKe apps Top-ups (on-ramp) Copy page Bring money in from M-Pesa, card or bank transfer and follow it until it's in the balance. A top-up turns local money into an AutoPayKe balance, held as USDC in the account's own wallet. Today that means M-Pesa in Kenya. Card and bank transfer are built and appear when they're switched on. The JavaScript and Python samples use the call helper from Errors , with auth set to { Authorization: `Bearer ${token}` } . 1. See what's on cURL JavaScript Python curl "https://api.autopayke.com/api/v1/funding/options" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" 2. Start the top-up The customer gets an M-Pesa prompt on their phone and approves it with their PIN. cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/funding/mobile-money" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "amount": "1500", "phone": "+254712345678", "operator": "Safaricom", "idempotencyKey": "topup-2026-11-03-0001" }' 3. Follow it Stream changes from /funding/ {id} /live , or poll /funding/ {id} every two seconds, until progress.terminal is true. See Real-time status . Statuses Status Means pending Created; waiting for the customer (open the checkout, approve the prompt, make the transfer) processing The payment network is handling it succeeded The money arrived; crediting is next crediting USDC is on its way to the wallet credited In the balance. Final. requires_review Held for a manual check before it continues failed Didn't go through; failureReason says why. Final. expired Nobody paid in time. Final. cancelled Stopped before payment. Final. reversed Paid, then returned to the payer. Final. Card and bank transfer Card returns a checkoutUrl on a hosted page; card details never touch your servers or ours. Money from a new card can be held for a period before it can be withdrawn; holdUntil says until when. Bank transfer returns a virtualAccount to transfer into, the exact amount, and when it expires. It's in Nigerian naira today. Full parameters are in the Top-ups reference . Previous Coverage and limits Next Cash-outs (off-ramp) © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Cash-outs (off-ramp) · AutoPayKe API docs URL: https://www.autopayke.com/developers/off-ramp How a signed-in person sends money out to M-Pesa, Airtel Money, Tills, PayBills and Kenyan banks. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Payouts Payouts Recipient verification Funding your balance Fees and pricing Coverage and limits In the AutoPayKe apps Top-ups (on-ramp) Cash-outs (off-ramp) Payment links Real-time status Docs In the AutoPayKe apps Cash-outs (off-ramp) Copy page How a signed-in person sends money out to M-Pesa, Airtel Money, Tills, PayBills and Kenyan banks. Off-ramp is money leaving AutoPayKe for a phone or a bank: M-Pesa, Airtel Money, an M-Pesa Till (Buy Goods), a PayBill, and, soon, Kenyan banks. Recipients get Kenyan shillings, usually within minutes. Where money can go What it costs A percentage of the amount with a small minimum, partner fees included. Quote it with product=cashout ; see Fees and pricing for the live figures. cURL JavaScript Python curl "https://api.autopayke.com/api/v1/fees/quote?product=cashout&amount=40¤cy=USDC" Sending a payout Today payouts are made from the AutoPayKe app (Send, Withdraw and Pay a Till or PayBill) and in bulk by cooperatives and businesses. Before each one the app shows the recipient's registered name, the rate, the fee and the exact shillings that arrive. Creating payouts through the API, for platforms that pay out at volume, is available to partners. See Partner access . In the meantime you can already build the parts around it: Save and name-check recipients with Payout accounts . Show live prices and limits with Fees and Capabilities . Check what an account can withdraw with Balance . Name checks Before money goes to a number or account, AutoPayKe looks up the name it's registered to so the sender can confirm it. POST /api/v1/wallet/destinations/resolve-name does the same for you. Kenyan bank payouts over PesaLink are built but not live yet. Bank accounts can be saved now; usableForWithdrawals on each tells you whether it can be paid today. Previous Top-ups (on-ramp) Next Payment links © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Payment links · AutoPayKe API docs URL: https://www.autopayke.com/developers/payment-links Ask anyone to pay you with a link they can pay by M-Pesa or card, no account needed. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Payouts Payouts Recipient verification Funding your balance Fees and pricing Coverage and limits In the AutoPayKe apps Top-ups (on-ramp) Cash-outs (off-ramp) Payment links Real-time status Docs In the AutoPayKe apps Payment links Copy page Ask anyone to pay you with a link they can pay by M-Pesa or card, no account needed. A payment link asks someone for a fixed amount. They open it, pay by M-Pesa (or card, where it's on), and the money lands in your AutoPayKe balance. The payer doesn't need an account. The JavaScript and Python samples use the call helper from Errors . Create a link cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/payment-requests" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "amount": "2500", "description": "Invoice 1042, fertiliser", "allowedMethods": ["mobile_money"], "expiresInDays": 7 }' Send the url by SMS, WhatsApp, email or a QR code. It works on any phone with a browser. Build your own pay page If you'd rather keep payers on your own site, the payer endpoints are public. Load the link, then pay it: cURL JavaScript Python curl "https://api.autopayke.com/api/v1/p/Kq7mZp2xA" curl -X POST "https://api.autopayke.com/api/v1/p/Kq7mZp2xA/pay" \ -H "Content-Type: application/json" \ -d '{ "method": "mobile_money", "country": "KE", "phone": "+254712345678", "idempotencyKey": "inv-1042-1" }' Then poll GET /api/v1/p/ {code} /payments/ {id} until the status is final. Lifecycle Link status Means active Can be paid paid Paid; paidAt says when expired Passed expiresAt unpaid cancelled You cancelled it Who pays the card fee With cardFeePayer: "customer" (the default) a card payer pays the card fee on top. With "owner" , it's taken from what you receive. Mobile money payers pay the amount on the link. Previous Cash-outs (off-ramp) Next Real-time status © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Real-time status · AutoPayKe API docs URL: https://www.autopayke.com/developers/real-time-status Follow an app payment as it moves: server-sent events or polling, and what each status means. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Payouts Payouts Recipient verification Funding your balance Fees and pricing Coverage and limits In the AutoPayKe apps Top-ups (on-ramp) Cash-outs (off-ramp) Payment links Real-time status Docs In the AutoPayKe apps Real-time status Copy page Follow an app payment as it moves: server-sent events or polling, and what each status means. Money takes seconds to minutes to move. There are two ways to follow it. Server-sent events GET /api/v1/funding/ {id} /live keeps the connection open and sends an event with the full top-up now and on every change. It closes itself once progress.terminal is true. cURL JavaScript Python curl -N "https://api.autopayke.com/api/v1/funding/3e5b2a90-8c1d-4f6e-b0a2-1c9d7e4f5a33/live" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" Polling Where a long-lived connection isn't practical, poll GET /api/v1/funding/ {id} every 2 seconds while someone is watching, and every 30 seconds otherwise. Stop when progress.terminal is true. Progress Every top-up carries a progress object: the stages from request to balance, each done , active , pending or failed , with the time it happened. It's what the app shows on its own tracking screen, so you can show the same steps. { "stages" : [ { "key" : "requested" , "title" : "Payment requested" , "detail" : "We sent a prompt to +254 712 ••• 678" , "state" : "done" , "at" : "2026-11-03T09:10:00.000Z" }, { "key" : "payer" , "title" : "Waiting for approval" , "detail" : "Approve the prompt with your M-Pesa PIN" , "state" : "active" , "at" : null }, { "key" : "credited" , "title" : "In your balance" , "detail" : "" , "state" : "pending" , "at" : null } ], "terminal" : false , "hint" : "This usually takes under a minute." } Outbound webhooks to your own URL aren't offered yet. If you need them, say so in partner access . Previous Payment links Next Webhooks © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Webhooks · AutoPayKe API docs URL: https://www.autopayke.com/developers/webhooks Every event type, the payload, verifying signatures in five languages, retries, duplicates and ordering. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Build Webhooks Reconciliation Security Go-live checklist Client libraries App SDK and OpenAPI AI agents and llms.txt On-chain contracts Help Support and legal FAQ and glossary Partner access Docs Build Webhooks Copy page Every event type, the payload, verifying signatures in five languages, retries, duplicates and ordering. Webhooks tell your server when something happens, such as a payout succeeding, so you don't have to poll. We POST a signed JSON event to an https URL you choose, retry if you don't answer, and keep every event readable through the API. Set up an endpoint 1 Write a handler An https route on your server that reads the raw body, checks the signature, answers 2xx quickly and processes the event in the background. 2 Add it In the Console's Webhooks (choose Test or Live first), or with POST /api/v1/webhook-endpoints . Pick the events, or * for all. Copy the signing secret ( whsec_… ) into your secrets. 3 Send a test event Send test event in the Console delivers a webhook.test event to that endpoint only. Check your handler accepts it, then trigger real ones with sandbox payouts. URLs must be https and on the public internet; private, local and link-local addresses are refused. We don't follow redirects (a 3xx counts as a failure). Event types Type Sent when data.object payout.created A payout is accepted (status pending). payout payout.processing It's on its way. payout payout.succeeded The recipient has the money. payout payout.failed It didn't go through; money returned. payout payout.reversed A succeeded payout came back. payout payout.in_review Held for a manual check. payout balance.low Your live balance dropped below your alert level (checked hourly). { object: balance, total_usd, threshold_usd } api_key.expiring A key expires within 30, 7 or 1 days. { object: api_key, id, name, prefix, expires_at, days_left } webhook.test You pressed Send test event (that endpoint only). { object: webhook_endpoint, id, message } topup.pending / topup.succeeded / topup.failed Reserved; not sent yet. - payment_link.paid Reserved; not sent yet. - What we send A delivery POST /webhooks/autopayke HTTP/1.1 Content-Type: application/json User-Agent: AutoPayKe-Webhooks/1.0 AutoPayKe-Signature: t=1793782206,v1=5f8a0c1b9e2d7f3a6b4c8e1d0f9a2b7c3e6d5f4a1b8c9e0d7f2a3b6c5e4d1f0a AutoPayKe-Event-Id: evt_3Jk8Qw2Zp7Lm4Nx6Rt1Vb9Yc AutoPayKe-Event-Type: payout.succeeded { "id": "evt_3Jk8Qw2Zp7Lm4Nx6Rt1Vb9Yc", "object": "event", "type": "payout.succeeded", "created": "2026-11-03T09:10:06.000Z", "livemode": true, "data": { "object": { "id": "po_8Fq2mZx7Lk3Rt9Vb", "object": "payout", "livemode": true, "status": "succeeded", "amount": 150000, "currency": "KES", "source_token": "USDC", "debited_usdc": "11.948310", "fee_usdc": "0.302310", "rate": "128.80", "destination": { "type": "mobile_money", "network": "safaricom", "phone": "+254 712 ••• 678" }, "recipient_name": "JANE WANJIKU DOE", "reference": "order_1042", "description": null, "metadata": { "rider_id": "r_5521" }, "failure_code": null, "failure_message": null, "created": "2026-11-03T09:10:00.000Z", "updated": "2026-11-03T09:10:06.000Z" } } } data.object is the object exactly as GET would return it at that moment, so the payload and the API never disagree. Phone and account numbers are masked. Verify the signature Every delivery has AutoPayKe-Signature: t=,v1= . v1 is HMAC-SHA256, keyed with your endpoint's signing secret, of the timestamp, a full stop, and the raw request body: `${t}.${rawBody}` . Recompute it, compare in constant time, and reject anything older than 5 minutes. Use the raw bytes you received: parsing and re-serialising the JSON changes them. cURL JavaScript Python verify (the cURL tab shows PHP) # PHP 8 300 || !hash_equals($expected, $parts[ 'v1' ] ?? '' )) { http_response_code( 400 ); exit( 'bad signature' ); } $event = json_decode($raw, true); http_response_code( 200 ); // queue $event for processing Go // Go func verify(raw []byte, header, secret string) bool { var t int64 var v1 string for _, part := range strings.Split(header, ",") { kv := strings.SplitN(strings.TrimSpace(part), "=", 2) if len(kv) != 2 { continue } switch kv[0] { case "t": t, _ = strconv.ParseInt(kv[1], 10, 64) case "v1": v1 = kv[1] } } if t == 0 || math.Abs(float64(time.Now().Unix()-t)) > 300 { return false } mac := hmac.New(sha256.New, []byte(secret)) mac.Write([]byte(fmt.Sprintf("%d.", t))) mac.Write(raw) expected := hex.EncodeToString(mac.Sum(nil)) return hmac.Equal([]byte(expected), []byte(v1)) } Java // Java 17 static boolean verify(String raw, String header, String secret) throws Exception { long t = 0; String v1 = null; for (String part : header.split(",")) { String[] kv = part.trim().split("=", 2); if (kv.length != 2) continue; if (kv[0].equals("t")) t = Long.parseLong(kv[1]); if (kv[0].equals("v1")) v1 = kv[1]; } if (t == 0 || v1 == null || Math.abs(Instant.now().getEpochSecond() - t) > 300) return false; Mac mac = Mac.getInstance("HmacSHA256"); mac.init(new SecretKeySpec(secret.getBytes(StandardCharsets.UTF_8), "HmacSHA256")); byte[] sig = mac.doFinal((t + "." + raw).getBytes(StandardCharsets.UTF_8)); return MessageDigest.isEqual(HexFormat.of().formatHex(sig).getBytes(), v1.getBytes()); } For extra certainty, fetch the event with GET /api/v1/events/:id using the id in the payload, and act on what that returns. Answering, retries and failures Answer with any 2xx within 10 seconds. Anything else, a timeout or a connection error counts as a failure. We retry failures 1 minute, 5 minutes, 30 minutes, 2 hours, 6 hours and 12 hours after the previous try, then daily, for up to 3 days. If deliveries to an endpoint keep failing for 3 days, we disable it and email your technical contact. Fix it and turn it back on in the Console; read what you missed from GET /api/v1/events . You can retry any delivery from the Console, and see each attempt's status, response code, body and timing. Duplicates and order Deliveries are at-least-once: you may receive the same event twice (for example if your 200 got lost). Store processed event ids and skip repeats. Events can also arrive out of order, especially after retries. Use the object's status and updated rather than arrival order: never move a payout from a final status back to an earlier one. handle.js const FINAL = new Set ([ "succeeded" , "failed" , "reversed" ]); async function handle (event) { if ( await db.processedEvents. has (event.id)) return ; // duplicate if (event. type . startsWith ( "payout." )) { const p = event.data.object; const mine = await db.payouts. findByAutopaykeId (p.id); // Ignore stale updates: a final status only ever moves to reversed. if (mine && FINAL. has (mine.status) && !(mine.status === "succeeded" && p.status === "reversed" )) return ; await db.payouts. update (p.id, { status: p.status, failureCode: p.failure_code, updatedAt: p.updated }); } await db.processedEvents. add (event.id); } Rolling the signing secret Rolling replaces the secret at once. To roll without dropping events: deploy code that accepts a signature from either the old or the new secret, roll, update the new secret in your config, then remove the old one. Missed events Every event stays readable at GET /api/v1/events (filter by type or object_id ). After an outage, page from the newest until you reach an id you've processed, and handle the rest. Previous Real-time status Next Reconciliation © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Reconciliation · AutoPayKe API docs URL: https://www.autopayke.com/developers/reconciliation Match payouts to your records, check daily, and account for fees and returns. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Build Webhooks Reconciliation Security Go-live checklist Client libraries App SDK and OpenAPI AI agents and llms.txt On-chain contracts Help Support and legal FAQ and glossary Partner access Docs Build Reconciliation Copy page Match payouts to your records, check daily, and account for fees and returns. Matching what you meant to pay with what was paid, and what it cost. Match each payout Save the payout id ( po_… ) the moment you create it, against your record, along with the Idempotency-Key you used. Put your own id in reference so you can find payouts from your side too. Move your record's status only from webhooks or a fresh GET . Daily check Once a day, list yesterday's payouts and compare them with your records: curl "https://api.autopayke.com/api/v1/payouts?created_gte=2026-11-02T00:00:00%2B03:00&created_lt=2026-11-03T00:00:00%2B03:00&limit=100" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" Look for Means A payout we have that you don't A request you thought failed went through. Find it by reference; don't pay again. A record you have with no payout The request never arrived or failed validation. Safe to retry with the same Idempotency-Key within 24 hours. Still pending or processing after a day Contact support with the payout id. in_review We're checking it. It will move on; contact support if it's urgent. Money in and out Each payout's cost is debited_usdc (the amount at rate plus fee_usdc ). GET /api/v1/transactions lists every movement on the account, including funding and anything done in the app, each with a reference you can see on receipts. GET /api/v1/transactions/:id/receipt returns a receipt you can store or send. Failed and reversed payouts return their debit to your balance. Times and currencies All times are ISO 8601 in UTC; limits and the Console's charts use Nairobi time (UTC+3). KES amounts on payouts are integer cents; account limits are whole shillings. USDC amounts are 6-decimal strings; sum them with a decimal type, not floats. Previous Webhooks Next Security © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Security · AutoPayKe API docs URL: https://www.autopayke.com/developers/security How we protect your integration, what we ask you to do, and what to do if a key leaks. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Build Webhooks Reconciliation Security Go-live checklist Client libraries App SDK and OpenAPI AI agents and llms.txt On-chain contracts Help Support and legal FAQ and glossary Partner access Docs Build Security Copy page How we protect your integration, what we ask you to do, and what to do if a key leaks. What we do to protect your integration, and what we ask you to do. On our side API keys are 32 random characters after the prefix, shown once, and stored only as a keyed hash. Live keys are approved by a person before they work; live keys that can send money must have an IP allowlist. Creating or rolling a live key, and revealing or rolling a webhook secret, need the account's PIN, and its two-factor code when that is on. Webhooks are signed with a per-endpoint secret and carry a timestamp to stop replays. Every request is logged with masked bodies for 30 days, visible to you in the Console. We watch for unusual payout velocity, error spikes, refused calls and recipient sweeps, and can hold a payout, suspend a key, pause a payout method or suspend a workspace. Admin access on our side uses named accounts with two-factor sign-in, roles, an audit log, and two-person approval for raising limits and granting money-moving capabilities. On yours Keep keys server-side, in a secret manager. Never in apps, browsers, repositories, logs or tickets. One key per service and environment, with the fewest scopes, and an IP allowlist of your servers' fixed addresses. Prefer 90-day keys and roll them on a schedule. Verify every webhook signature and timestamp; never trust an unsigned call to your webhook URL. Check recipients before first payouts, and cap what a single user of your product can trigger. Keep your workspace's technical, finance and security contacts current so our alerts reach someone. Turn on two-factor sign-in for every AutoPayKe account that can manage keys. If something goes wrong Revoke the affected key in the Console at once. Roll the webhook secret if it may have leaked. Review Logs for requests you didn't make (IP, time, path). Email security@autopayke.com with your workspace id and the request ids. To report a vulnerability in AutoPayKe, write to security@autopayke.com . Please don't test against other people's accounts or live money. Previous Reconciliation Next Go-live checklist © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Go-live checklist · AutoPayKe API docs URL: https://www.autopayke.com/developers/testing-checklist Everything to test in the sandbox before you take real money through the API. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Build Webhooks Reconciliation Security Go-live checklist Client libraries App SDK and OpenAPI AI agents and llms.txt On-chain contracts Help Support and legal FAQ and glossary Partner access Docs Build Go-live checklist Copy page Everything to test in the sandbox before you take real money through the API. Work through this in the sandbox before you apply for live access, and again before you switch your production traffic. Keys ☐ Keys live only on servers, in a secret manager. ☐ Live keys have the fewest scopes and an IP allowlist of your fixed egress IPs. ☐ You know how to roll and revoke a key, and who gets the expiry emails. Payouts ☐ Every create sends an Idempotency-Key saved with your record before the first attempt. ☐ Network errors, 5xx, RATE_LIMITED, IDEMPOTENCY_IN_PROGRESS and CAPABILITY_PAUSED retry with backoff and the same key. ☐ 4xx errors aren't retried blindly; you show or log error, code and requestId. ☐ Amounts are KES cents, whole shillings, as integers. ☐ You tested all six statuses in the sandbox, including in_review and reversed. ☐ A failed payout is retried, if at all, as a new payout with a new key. Webhooks ☐ Signatures and the 5-minute timestamp window are checked on the raw body. ☐ You answer 2xx within 10 seconds and process in the background. ☐ Duplicates are dropped by event id; out-of-order events can't move a final status backwards. ☐ You can catch up from GET /api/v1/events after downtime. Money ☐ Your balance is funded and a low-balance alert is set. ☐ A daily reconciliation compares payouts with your records. ☐ You check recipients before first payouts. People ☐ Technical, finance and security contacts are set in the Console. ☐ Accounts that can manage keys use two-factor sign-in. ☐ Someone owns watching the Console's Logs and Usage. Sandbox scenarios to run Scenario How Success Pay +254700000001 . Recipient fails Pay +254700000002 . Held for review Pay +254700000003 . Reversal after success Pay +254700000004 . Network timeout Pay amount 13300 ; wait about a minute. Retry is safe Send the same request twice with the same Idempotency-Key; you get one payout and Idempotent-Replayed: true. Changed retry is refused Same key, different amount: IDEMPOTENCY_KEY_REUSED. Not enough money Pay more than your sandbox balance: INSUFFICIENT_BALANCE. Over the limit Pay more than KES 150,000 in one payout: LIMIT_PER_TX_EXCEEDED. Webhook down Make your endpoint return 500, then 200; watch the retries in the Console. Previous Security Next Client libraries © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Client libraries · AutoPayKe API docs URL: https://www.autopayke.com/developers/client-libraries Copy-paste TypeScript and Python clients with retries and pagination, and the OpenAPI file for any language. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Build Webhooks Reconciliation Security Go-live checklist Client libraries App SDK and OpenAPI AI agents and llms.txt On-chain contracts Help Support and legal FAQ and glossary Partner access Docs Build Client libraries Copy page Copy-paste TypeScript and Python clients with retries and pagination, and the OpenAPI file for any language. There's no package to install yet. These two small clients cover the partner API with retries and pagination done right; copy them into your project. The OpenAPI file at /openapi.json generates clients for any other language. TypeScript / JavaScript autopayke-partner.ts // autopayke-partner.ts: a small typed client for the AutoPayKe partner API. // No dependencies. Node 18+, Bun, Deno, edge runtimes. export type Destination = | { type : "mobile_money" ; phone: string; network?: "safaricom" | "airtel" ; name?: string } | { type : "till" ; till_number: string } | { type : "paybill" ; paybill_number: string; account_number: string } | { type : "bank" ; bank_code: string; account_number: string; account_name: string }; export type PayoutStatus = "pending" | "processing" | "succeeded" | "failed" | "reversed" | "in_review" ; export type Payout = { id: string; object: "payout" ; livemode: boolean; status: PayoutStatus; amount: number; currency: "KES" ; source_token: "USDC" ; debited_usdc: string; fee_usdc: string; rate: string; destination: Record; recipient_name: string | null ; reference: string | null ; description: string | null ; metadata: Record; failure_code: string | null ; failure_message: string | null ; created: string; updated: string; }; export type List = { object: "list" ; data: T[]; has_more: boolean }; export class AutoPayKeError extends Error { constructor (public status: number, public code: string, message: string, public requestId?: string, public details?: unknown) { super (message); } } const RETRYABLE = new Set ([ "RATE_LIMITED" , "IDEMPOTENCY_IN_PROGRESS" , "CAPABILITY_PAUSED" , "METHOD_UNAVAILABLE" ]); export class AutoPayKe { constructor (private key: string, private base = "https://api.autopayke.com" ) {} get livemode () { return this.key. startsWith ( "apk_live_" ); } private async call(method: string, path: string, body?: unknown, idempotencyKey?: string): Promise { for ( let attempt = 0 ; ; attempt++) { let res: Response; try { res = await fetch (this.base + path, { method, headers: { Authorization: `Bearer ${this.key}` , ...(body ? { "Content-Type" : "application/json" } : {}), ...(idempotencyKey ? { "Idempotency-Key" : idempotencyKey } : {}), }, body: body ? JSON. stringify (body) : undefined , }); } catch (err) { if (attempt < 4 ) { await sleep ( 2 ** attempt * 500 ); continue; } throw err; } const json = await res. json (); if (json.ok) return json.data as T; const retry = RETRYABLE. has (json.code) || res.status >= 500 ; // Only retry writes that carry an Idempotency-Key. if (retry && attempt < 4 && (method === "GET" || idempotencyKey)) { await sleep ( Number (res.headers. get ( "retry-after" ) ?? 0 ) * 1000 || 2 ** attempt * 500 ); continue; } throw new AutoPayKeError (res.status, json.code, json.error, json.requestId, json.details); } } account () { return this.call>( "GET" , "/api/v1/account" ); } balance () { return this.call<{ usdc: string; usdt: string; total_usd: string; wallet_address?: string }>( "GET" , "/api/v1/balance" ); } banks () { return this.call>( "GET" , "/api/v1/banks" ); } quote (amount: number, destination: Destination) { return this.call>( "POST" , "/api/v1/payouts/quote" , { amount, currency: "KES" , destination }); } /** idempotencyKey: create it before the first attempt and store it with your record. */ createPayout ( p: { amount: number; destination: Destination; reference?: string; description?: string; metadata?: Record }, idempotencyKey: string, ) { return this.call( "POST" , "/api/v1/payouts" , { currency: "KES" , ...p }, idempotencyKey); } payout (id: string) { return this.call( "GET" , `/api/v1/payouts/${encodeURIComponent(id)}` ); } async * payouts (filter: { status?: PayoutStatus; reference?: string; created_gte?: string; created_lt?: string } = {}) { let after: string | undefined ; for (;;) { const q = new URLSearchParams ({ limit: "100" , ...filter, ...(after ? { starting_after: after } : {}) } as Record); const page = await this.call>( "GET" , `/api/v1/payouts?${q}` ); yield* page.data; if (!page.has_more || !page.data.length) return ; after = page.data[page.data.length - 1 ]!.id; } } verifyRecipient (r: { type : "mobile_money" ; phone: string; network?: string; name?: string } | { type : "bank" ; bank_code: string; account_number: string; name?: string }) { return this.call<{ resolved: boolean; account_name: string | null ; name_match: "matched" | "mismatch" | "unverified" | null }>( "POST" , "/api/v1/recipients/verify" , r); } } const sleep = (ms: number) => new Promise ((r) => setTimeout (r, ms)); // Usage // const ap = new AutoPayKe(process.env.AUTOPAYKE_API_KEY!); // const payout = await ap.createPayout({ amount: 150000, destination: { type: "mobile_money", phone: "+254700000001" }, reference: "order_1042" }, order.idempotencyKey); Python autopayke_partner.py # autopayke_partner.py: a small client for the AutoPayKe partner API. Needs requests. import time import requests RETRYABLE = { "RATE_LIMITED" , "IDEMPOTENCY_IN_PROGRESS" , "CAPABILITY_PAUSED" , "METHOD_UNAVAILABLE" } class AutoPayKeError (Exception): def __init__ (self, status, code, message, request_id= None , details= None ): super (). __init__ (f "{code}: {message}" ) self.status, self.code, self.request_id, self.details = status, code, request_id, details class AutoPayKe: def __init__ (self, key: str, base: str = "https://api.autopayke.com" ): self.base = base self.s = requests. Session () self.s.headers[ "Authorization" ] = f "Bearer {key}" def _call (self, method, path, json= None , idempotency_key= None , params= None ): headers = { "Idempotency-Key" : idempotency_key} if idempotency_key else {} for attempt in range ( 5 ): try : r = self.s. request (method, self.base + path, json=json, params=params, headers=headers, timeout= 30 ) except requests.RequestException: if attempt == 4 : raise time. sleep ( 2 ** attempt * 0.5 ) continue body = r. json () if body[ "ok" ]: return body[ "data" ] retry = body[ "code" ] in RETRYABLE or r.status_code >= 500 if retry and attempt < 4 and (method == "GET" or idempotency_key): time. sleep ( float (r.headers. get ( "Retry-After" , 0 )) or 2 ** attempt * 0.5 ) continue raise AutoPayKeError (r.status_code, body[ "code" ], body[ "error" ], body. get ( "requestId" ), body. get ( "details" )) def account (self): return self. _call ( "GET" , "/api/v1/account" ) def balance (self): return self. _call ( "GET" , "/api/v1/balance" ) def quote (self, amount: int, destination: dict): return self. _call ( "POST" , "/api/v1/payouts/quote" , { "amount" : amount, "currency" : "KES" , "destination" : destination}) def create_payout (self, amount: int, destination: dict, idempotency_key: str, **extra): return self. _call ( "POST" , "/api/v1/payouts" , { "amount" : amount, "currency" : "KES" , "destination" : destination, **extra}, idempotency_key) def payout (self, payout_id: str): return self. _call ( "GET" , f "/api/v1/payouts/{payout_id}" ) def payouts (self, **filters): after = None while True : page = self. _call ( "GET" , "/api/v1/payouts" , params={ "limit" : 100 , **filters, **({ "starting_after" : after} if after else {})}) yield from page[ "data" ] if not page[ "has_more" ] or not page[ "data" ]: return after = page[ "data" ][- 1 ][ "id" ] def verify_recipient (self, **recipient): return self. _call ( "POST" , "/api/v1/recipients/verify" , recipient) # ap = AutoPayKe(os.environ["AUTOPAYKE_API_KEY"]) # ap.create_payout(150000, {"type": "mobile_money", "phone": "+254700000001"}, idempotency_key=order.idempotency_key, reference="order_1042") Postman, Insomnia and code generators Import /openapi.json into Postman or Insomnia, set a bearer token of your test key, and every endpoint is ready to call. For generators (openapi-generator, oapi-codegen, openapi-python-client), the API-key endpoints use the apiKeyAuth scheme and payout creation declares its Idempotency-Key header. Previous Go-live checklist Next App SDK and OpenAPI © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # App SDK and OpenAPI · AutoPayKe API docs URL: https://www.autopayke.com/developers/sdks A typed client for the public and account endpoints, Python helpers and the OpenAPI description. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Build Webhooks Reconciliation Security Go-live checklist Client libraries App SDK and OpenAPI AI agents and llms.txt On-chain contracts Help Support and legal FAQ and glossary Partner access Docs Build App SDK and OpenAPI Copy page A typed client for the public and account endpoints, Python helpers and the OpenAPI description. The API is plain HTTPS and JSON, so any HTTP library works. To save you the boilerplate there's a small typed TypeScript client below, and an OpenAPI 3.1 description you can generate a client from in any language. Official packages on npm and PyPI are on the way. Until they're published, copy the client below into your project: it has no dependencies and covers every documented endpoint you'll need first. TypeScript autopayke.ts // autopayke.ts: a small typed client for the AutoPayKe API. // No dependencies; Node 18+, Deno, Bun and edge runtimes. export type Envelope = { ok: true; data: T } | { ok: false; error: string; code: string }; export class AutoPayKeError extends Error { constructor (public code: string, message: string, public status: number) { super (message); this.name = "AutoPayKeError" ; } } export type FeeProduct = | "cashout" | "wallet_to_wallet" | "card_topup" | "bank_topup" | "mobile_money_topup" | "payment_link_card" ; export type FeeQuote = { product: FeeProduct; currency: string; amount: string; fees: { code: string; label: string; amount: string; currency: string }[]; totalFee: string; total: string; placeholder: boolean; settingsVersion: string | null ; }; export class AutoPayKe { constructor ( private opts: { baseUrl?: string; /** Returns the current access token for account endpoints. */ token?: () => string | Promise; } = {}, ) {} private async request(method: string, path: string, body?: unknown, idempotencyKey?: string): Promise { const headers: Record = {}; if (this.opts.token) headers.Authorization = `Bearer ${await this.opts.token()}` ; if (body !== undefined ) headers[ "Content-Type" ] = "application/json" ; if (idempotencyKey) headers[ "Idempotency-Key" ] = idempotencyKey; const res = await fetch ( `${this.opts.baseUrl ?? "https://api.autopayke.com"}${path}` , { method, headers, body: body === undefined ? undefined : JSON. stringify (body), }); const json = ( await res. json ()) as Envelope; if (!json.ok) throw new AutoPayKeError (json.code, json.error, res.status); return json.data; } // Public capabilities (q: { country?: string; direction?: "collection" | "payout" } = {}) { return this.request( "GET" , `/api/v1/capabilities?${new URLSearchParams(q as Record)}` ); } publishedFees () { return this.request( "GET" , "/api/v1/fees/published" ); } quote (q: { product: FeeProduct; amount: string; currency: string; country?: string }) { return this.request( "GET" , `/api/v1/fees/quote?${new URLSearchParams(q)}` ); } paymentLink (code: string) { return this.request( "GET" , `/api/v1/p/${code}` ); } payPaymentLink (code: string, body: { method: "card" | "mobile_money" | "bank" ; country: string; phone?: string; idempotencyKey?: string }) { return this.request( "POST" , `/api/v1/p/${code}/pay` , body); } // Account (needs token) balance () { return this.request( "GET" , "/api/v1/balance" ); } fundingOptions () { return this.request( "GET" , "/api/v1/funding/options" ); } topUpMobileMoney (body: { amount: string; phone: string; operator?: string }, idempotencyKey?: string) { return this.request( "POST" , "/api/v1/funding/mobile-money" , body, idempotencyKey); } topUp (id: string) { return this.request( "GET" , `/api/v1/funding/${id}` ); } createPaymentRequest (body: { amount: string; allowedMethods: ( "card" | "mobile_money" | "bank" )[]; description?: string; expiresInDays?: number }) { return this.request( "POST" , "/api/v1/payment-requests" , body); } paymentRequests () { return this.request( "GET" , "/api/v1/payment-requests" ); } payoutAccounts () { return this.request( "GET" , "/api/v1/wallet/destinations" ); } } Use it example.ts import { AutoPayKe, AutoPayKeError } from "./autopayke" ; const ap = new AutoPayKe ({ token: () => process.env.AUTOPAYKE_TOKEN! }); const quote = await ap. quote ({ product: "cashout" , amount: "40" , currency: "USDC" }); console. log ( "Fee:" , Number (quote.totalFee) / 1e6, "USDC" ); try { const topup = await ap. topUpMobileMoney ( { amount: "1500" , phone: "+254712345678" , operator: "Safaricom" }, "topup-2026-11-03-0001" , ); console. log (topup.stepRequired); } catch (e) { if (e instanceof AutoPayKeError && e.code === "RATE_LIMIT" ) { // back off and retry with the same idempotency key } } Python autopayke.py import os import requests class AutoPayKeError (Exception): def __init__ (self, code, message, status): super (). __init__ (message) self.code, self.status = code, status class AutoPayKe: def __init__ (self, token= None , base_url= "https://api.autopayke.com" ): self.base_url = base_url self.session = requests. Session () if token: self.session.headers[ "Authorization" ] = f "Bearer {token}" def _call (self, method, path, idempotency_key= None , **kw): headers = { "Idempotency-Key" : idempotency_key} if idempotency_key else {} res = self.session. request (method, self.base_url + path, headers=headers, timeout= 30 , **kw) body = res. json () if not body[ "ok" ]: raise AutoPayKeError (body[ "code" ], body[ "error" ], res.status_code) return body[ "data" ] def quote (self, product, amount, currency): return self. _call ( "GET" , "/api/v1/fees/quote" , params={ "product" : product, "amount" : amount, "currency" : currency}) def capabilities (self, country= None , direction= None ): params = {k: v for k, v in { "country" : country, "direction" : direction}. items () if v} return self. _call ( "GET" , "/api/v1/capabilities" , params=params) def balance (self): return self. _call ( "GET" , "/api/v1/balance" ) def top_up_mobile_money (self, amount, phone, operator= None , idempotency_key= None ): return self. _call ( "POST" , "/api/v1/funding/mobile-money" , idempotency_key, json={ "amount" : amount, "phone" : phone, "operator" : operator}) ap = AutoPayKe (token=os.environ. get ( "AUTOPAYKE_TOKEN" )) print (ap. quote ( "cashout" , "40" , "USDC" )[ "totalFee" ]) OpenAPI Every documented endpoint, parameter and example as OpenAPI 3.1. Import it into Postman or Insomnia, or generate a client with openapi-generator for Go, Java, PHP, C#, Ruby and more. Download OpenAPI file /openapi.json npx @openapitools/openapi-generator-cli generate \ -i https://www.autopayke.com/openapi.json \ -g go -o ./autopayke-go Previous Client libraries Next AI agents and llms.txt © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # AI agents and llms.txt · AutoPayKe API docs URL: https://www.autopayke.com/developers/ai-agents Docs for language models, a brief to give your coding agent, and the rules for agents that move money. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Build Webhooks Reconciliation Security Go-live checklist Client libraries App SDK and OpenAPI AI agents and llms.txt On-chain contracts Help Support and legal FAQ and glossary Partner access Docs Build AI agents and llms.txt Copy page Docs for language models, a brief to give your coding agent, and the rules for agents that move money. Coding agents (Claude Code, Cursor, Copilot and others) and agents that act for people can both use AutoPayKe. This page gives them what they need to get it right, and sets out the rules for an agent moving real money. Machine-readable docs File What's in it /llms.txt A short index of AutoPayKe and every docs page, for language models (llmstxt.org format). /llms-full.txt The full text of every docs page in one file. Give this to an agent as context. /openapi.json OpenAPI 3.1: every endpoint, field, scope, error and example. The most precise source. A brief to paste into your agent Put this in your agent's instructions (CLAUDE.md, .cursorrules, a system prompt) when it works on your AutoPayKe integration: AUTOPAYKE.md You are integrating the AutoPayKe partner API (Kenyan payouts paid from USDC). Facts: - Base URL: https://api.autopayke.com. Every path starts /api/v1. - Auth: header "Authorization: Bearer ". apk_test_ keys = sandbox (no real money); apk_live_ keys = real money. Read the key from the environment variable AUTOPAYKE_API_KEY. Never hard-code, log or print it. - Responses: {"ok": true, "data": …} or {"ok": false, "error", "code", "requestId", "details"?}. Branch on "code". - Payout amounts are integer KES cents and must be whole shillings (multiple of 100). 150000 = KES 1,500. - POST /api/v1/payouts needs an "Idempotency-Key" header (8-128 chars). Generate it once per intended payout, persist it with the record BEFORE the first attempt, and reuse it on every retry of that payout. - Destinations: mobile_money {phone, network?: safaricom|airtel, name?}; till {till_number}; paybill {paybill_number, account_number}; bank {bank_code from GET /api/v1/banks, account_number, account_name}. - Status flow: pending -> processing -> succeeded (-> reversed); or failed; in_review can pause it. failed/reversed return the money. - Final status comes from webhooks (payout.succeeded / payout.failed / payout.reversed). Verify AutoPayKe-Signature: "t=,v1=", v1 = HMAC-SHA256(secret, f"{t}.{raw_body}"); reject if |now - t| > 300s. Dedupe by event id. - Retry only on network errors, HTTP 5xx, RATE_LIMITED, IDEMPOTENCY_IN_PROGRESS, CAPABILITY_PAUSED, METHOD_UNAVAILABLE, with exponential backoff and the same Idempotency-Key. Never retry other 4xx without changing the request. - Sandbox: +254700000001 succeeds, +254700000002 fails, +254700000003 in_review, +254700000004 reverses, amount 13300 times out, account 0000000000 fails. Add test funds with POST /api/v1/sandbox/faucet. - Reference: https://www.autopayke.com/developers/api/payouts · OpenAPI: https://www.autopayke.com/openapi.json · Full docs as text: https://www.autopayke.com/llms-full.txt Rules for you, the agent: - Use test keys and sandbox values only, unless the human explicitly gives you a live key AND confirms each live payout. - Never invent endpoints or fields; if unsure, read the OpenAPI file. - Show the human the amount, recipient and quote before any live payout. Letting an agent send money If an AI agent in your product can trigger payouts, the guardrails are yours to build, and we expect them: Give the agent's service its own live key, with only payouts:read , payouts:write and recipients:read , and an IP allowlist. Cap amounts per payout, per person and per day in your code, well below your workspace limits. Allow payouts only to recipients a person has already confirmed (verify the name first), not to numbers the agent found. Have a person approve payouts above a threshold, showing amount, recipient name and fee from a quote. Generate the Idempotency-Key in your code, not in the model's output, so a repeated tool call can't pay twice. Log every agent action with the payout id and requestId, and keep a way to stop the agent at once (revoke its key). Treat text from users, web pages or documents as data, never as instructions to pay someone. A model can be talked into things. The Idempotency-Key, amount caps, allowlisted recipients and human approval have to live in your code, where the model can't change them. Agents and the public endpoints For coding agents Every docs page has a Copy page button that copies it as Markdown, ready to paste into Claude, ChatGPT or your editor's assistant. The site also publishes files written for language models: https://www.autopayke.com/llms.txt # what AutoPayKe is, and an index of every page https://www.autopayke.com/llms-full.txt # the text of every page https://www.autopayke.com/openapi.json # every endpoint, machine-readable What agents can do today Read coverage, prices and quotes through the public endpoints, useful for an assistant that answers "how much will they receive?" or "can I pay this Till?". Agent-initiated payments Not live. Before any software moves money on someone's behalf we're building the controls it needs: Per-person spending limits Allow-lists of recipients and corridors Anomalies flagged for a person to review A full audit log An instant off switch Nothing in the product creates agent-initiated transactions today. We'll say so clearly here when that changes. Previous App SDK and OpenAPI Next On-chain contracts © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # On-chain contracts · AutoPayKe API docs URL: https://www.autopayke.com/developers/on-chain The Avalanche C-Chain contracts behind every balance: smart wallets, escrow, the phone registry and the paymaster. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Build Webhooks Reconciliation Security Go-live checklist Client libraries App SDK and OpenAPI AI agents and llms.txt On-chain contracts Help Support and legal FAQ and glossary Partner access Docs Build On-chain contracts Copy page 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. Previous AI agents and llms.txt Next Support and legal © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Support and legal · AutoPayKe API docs URL: https://www.autopayke.com/developers/support Who to contact for what, what to include, status and the terms that apply. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Build Webhooks Reconciliation Security Go-live checklist Client libraries App SDK and OpenAPI AI agents and llms.txt On-chain contracts Help Support and legal FAQ and glossary Partner access Docs Help Support and legal Copy page Who to contact for what, what to include, status and the terms that apply. Getting help For Contact Integration questions, limits, plans developers@autopayke.com A payout that's stuck or wrong support@autopayke.com A leaked key, suspected fraud, a vulnerability security@autopayke.com Your live access application Reply in the Console's Live access page What to include Your workspace id (Console → Settings) and whether it's test or live. The requestId from the error (also the X-Request-ID header) or the payout id ( po_… ). What you sent and what you expected. Never send an API key or webhook secret. Status and changes Service status is at autopayke.com/status . Changes to the API are in the changelog , and we email technical contacts about anything that needs action. Legal Using the API means accepting the API terms, acceptable use policy, data processing terms and pricing you agree to when you apply for live access, plus our terms and privacy policy . AutoPayKe Limited is a Kenyan company; payment-service licensing in Kenya is in progress. Previous On-chain contracts Next FAQ and glossary © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # FAQ and glossary · AutoPayKe API docs URL: https://www.autopayke.com/developers/faq Short answers to common questions, and the terms these docs use. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Build Webhooks Reconciliation Security Go-live checklist Client libraries App SDK and OpenAPI AI agents and llms.txt On-chain contracts Help Support and legal FAQ and glossary Partner access Docs Help FAQ and glossary Copy page Short answers to common questions, and the terms these docs use. Frequently asked Do I need a Kenyan company? No. Businesses registered elsewhere can apply for live access; we'll ask for your registration and owners like anyone else. How fast do payouts arrive? Mobile money usually within a minute. Till and PayBill similar. Bank transfers depend on the bank, from minutes to the next business day. What currency do I hold? USDC (and USDT) on the Avalanche C-Chain. Payouts convert to KES at a rate locked when you create them. Can I pay outside Kenya? Not yet. Destinations are Kenyan today; countries appear in limits.countries as we add them. Can I collect money (on-ramp) through the API? Not yet through API keys. The scopes are reserved; you can top up your balance from M-Pesa in the AutoPayKe app meanwhile. Is there a batch endpoint? Not yet. Send one payout per person from a queue with its own Idempotency-Key; see Payouts. Why is my live key not working? New live keys need our approval (KEY_PENDING_APPROVAL). Also check the IP allowlist (IP_NOT_ALLOWED) and scopes (INSUFFICIENT_SCOPE). Can I cancel a payout? No. Once accepted it's sent straight away. If it fails, the money returns automatically. How long are logs kept? Request logs in the Console: 30 days. Events: available through GET /api/v1/events. Is there a separate sandbox URL? No. Use https://api.autopayke.com for both; the key's prefix picks the environment. Glossary Term Meaning Workspace Your developer account, tied to one AutoPayKe account. Console console.autopayke.com, where you manage keys, webhooks, logs and live access. Scope / capability A permission like payouts:write. Keys carry scopes; workspaces are approved for capabilities. Idempotency-Key A header that makes a retry return the first result instead of acting twice. Event A record that something happened (payout.succeeded), with the object at that moment. Webhook endpoint Your URL that receives events, signed with its own secret. USDC A stablecoin worth one US dollar, issued by Circle. Your balance is held in it. Avalanche C-Chain The blockchain your USDC balance lives on. Till / Buy Goods An M-Pesa merchant number shops use to get paid. PayBill An M-Pesa business number with an account number, used for bills and invoices. KES cents Hundredths of a shilling. Payout amounts use them: 150000 = KES 1,500. Previous Support and legal Next Partner access © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Partner access · AutoPayKe API docs URL: https://www.autopayke.com/developers/partner-access Working with us at volume and staying up to date. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference Build Webhooks Reconciliation Security Go-live checklist Client libraries App SDK and OpenAPI AI agents and llms.txt On-chain contracts Help Support and legal FAQ and glossary Partner access Docs Help Partner access Copy page Working with us at volume and staying up to date. Partner access If you need to pay out at volume through the API, run server-to-server without a person signing in, or need higher rate limits, tell us what you're building: What you'll use AutoPayKe for, and who your customers are Expected monthly volume and typical payment size Which methods you need: M-Pesa, Airtel Money, Tills, PayBills, banks Email us autopayke@gmail.com: tell us what you're building and your expected volumes. Follow @AutoPayKe Product updates and API changes. Support Live service health is on the status page . Report a security issue privately: see Security . Signed-in AutoPayKe users can open a support ticket from Settings → Support in the app. Versioning The API is versioned in the path ( /api/v1 ). Within v1 we only add: new endpoints, new optional parameters and new response fields. Ignore fields you don't know. Anything that would break an integration ships as a new version, announced here first. AutoPayKe Limited is a Kenyan company. Payment-service licensing in Kenya is in progress. Previous FAQ and glossary Next Overview © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Overview · AutoPayKe API reference URL: https://www.autopayke.com/developers/api/overview Every endpoint at a glance, grouped by what it does. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference API reference Overview Account, balance and banks Payouts Recipients Transactions and receipts Events Webhook endpoints Sandbox Capabilities Fees Payment links (payer) Top-ups Balance Payout accounts Saved cards Payment requests Docs API reference Overview Copy page Every endpoint at a glance, grouped by what it does. Base URL https://api.autopayke.com Every response is JSON shaped as { ok: true, data } , or { ok: false, error, code } when something is wrong. Amounts in responses are minor units as decimal strings. See Requests and responses . Endpoints Account, balance and banks API key Who the key belongs to, its limits and today's usage, the balance payouts are paid from, and the bank codes payouts accept. GET /api/v1/account Get the account GET /api/v1/balance Get the balance GET /api/v1/banks List banks Payouts API key Send KES to M-Pesa, Airtel Money, Till (Buy Goods), PayBill and Kenyan bank accounts, paid from your USDC balance. Quote first, then create, then follow the status. POST /api/v1/payouts/quote Quote a payout POST /api/v1/payouts Create a payout GET /api/v1/payouts List payouts GET /api/v1/payouts/{id} Get a payout Recipients API key Check who owns a phone number or bank account before you pay it. POST /api/v1/recipients/verify Verify a recipient Transactions and receipts API key Everything that moved money in the workspace (API payouts and anything else on the account), with receipts you can send to recipients or auditors. GET /api/v1/transactions List transactions GET /api/v1/transactions/{id} Get a transaction GET /api/v1/transactions/{id}/receipt Get a receipt Events API key A record of everything that happened to your objects. The same events your webhooks receive; read them here to catch up after downtime. GET /api/v1/events List events GET /api/v1/events/{id} Get an event Webhook endpoints API key Manage where we send events, from code. The Console does the same; use whichever suits your deploys. GET /api/v1/webhook-endpoints List endpoints POST /api/v1/webhook-endpoints Create an endpoint GET /api/v1/webhook-endpoints/{id} Get an endpoint PATCH /api/v1/webhook-endpoints/{id} Update an endpoint DEL /api/v1/webhook-endpoints/{id} Delete an endpoint POST /api/v1/webhook-endpoints/{id}/roll-secret Roll the signing secret GET /api/v1/webhook-endpoints/{id}/deliveries List deliveries Sandbox API key Test-only helpers: top up your test balance and force a test payout into any status. They answer NOT_FOUND to live keys. POST /api/v1/sandbox/faucet Add test funds POST /api/v1/sandbox/payouts/{id}/simulate Simulate a payout outcome Capabilities Public Where money can come from and go to right now: countries, methods, mobile money operators and per-transaction limits. GET /api/v1/capabilities Get coverage Fees Public The prices AutoPayKe publishes, and an itemised quote for any amount, the same figures the app charges against. GET /api/v1/fees/published Get published prices GET /api/v1/fees/quote Quote a fee Payment links (payer) Public The public side of a payment link: what the payer sees, paying it, and following the payment. No account is needed to pay. GET /api/v1/p/{code} Get a payment link POST /api/v1/p/{code}/pay Pay a payment link GET /api/v1/p/{code}/payments/{id} Get a payment's status Top-ups Bearer token Money in: add funds to an AutoPayKe balance from mobile money, card or bank transfer, then follow the top-up until it is credited. GET /api/v1/funding/options Get top-up options POST /api/v1/funding/mobile-money Top up with mobile money POST /api/v1/funding/card Top up with a card POST /api/v1/funding/bank Top up by bank transfer GET /api/v1/funding/bank/institutions List banks for bank top-ups GET /api/v1/funding/{id} Get a top-up GET /api/v1/funding/{id}/live Stream a top-up Balance Bearer token What the account holds, what it can send and withdraw, and anything on hold. GET /api/v1/balance Get the balance Payout accounts Bearer token Saved places to send money out to: mobile money numbers and bank accounts, with the name on the account checked before you save it. GET /api/v1/wallet/destinations List payout accounts POST /api/v1/wallet/destinations/resolve-name Check the name on an account POST /api/v1/wallet/destinations Save a payout account PATCH /api/v1/wallet/destinations/{id} Rename a payout account POST /api/v1/wallet/destinations/{id}/default Make an account the default DEL /api/v1/wallet/destinations/{id} Delete a payout account Saved cards Bearer token References to cards used for top-ups: brand and last four digits only. Cards are saved by the hosted checkout, never by posting card details. GET /api/v1/wallet/cards List saved cards GET /api/v1/wallet/cards/{id} Get a saved card DEL /api/v1/wallet/cards/{id} Remove a saved card Payment requests Bearer token Ask anyone to pay you: create a link, share it, and see when it's paid. The payer side is under Payment links (payer). POST /api/v1/payment-requests Create a payment request GET /api/v1/payment-requests List payment requests POST /api/v1/payment-requests/{id}/cancel Cancel a payment request OpenAPI The same endpoints as an OpenAPI 3.1 file, for generating a client in any language or importing into Postman or Insomnia: /openapi.json . Previous Partner access Next Account, balance and banks © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Account, balance and banks · AutoPayKe API reference URL: https://www.autopayke.com/developers/api/partner-account Who the key belongs to, its limits and today's usage, the balance payouts are paid from, and the bank codes payouts accept. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference API reference Overview Account, balance and banks GET Get the account GET Get the balance GET List banks Payouts Recipients Transactions and receipts Events Webhook endpoints Sandbox Capabilities Fees Payment links (payer) Top-ups Balance Payout accounts Saved cards Payment requests Docs API reference Account, balance and banks Copy page Who the key belongs to, its limits and today's usage, the balance payouts are paid from, and the bank codes payouts accept. GET Get the account /api/v1/account GET Get the balance /api/v1/balance GET List banks /api/v1/banks Call GET /api/v1/account first in any integration: it confirms the key works, tells you whether it's test or live, and returns your limits and what you have left today. Send your API key as Authorization: Bearer apk_test_… (sandbox) or apk_live_… (live). Each endpoint lists the scope the key needs. See API keys . Get the account GET /api/v1/account API key account:read The workspace and key behind this request, your limits, and how much of today's and this month's limit you've used. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/account" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" Response 200 application/json { "ok" : true , "data" : { "object" : "account" , "livemode" : false , "workspace" : { "id" : "2f6c1a4e-7b3d-4e58-9c21-5a8d0e7f3b64" , "name" : "Acme Payroll" , "kind" : "merchant" , "tier" : "starter" , "live_access" : true }, "key" : { "prefix" : "apk_test_7Hq2aB" , "name" : "Production server" , "scopes" : [ "account:read" , "payouts:read" , "payouts:write" ], "expires_at" : "2027-11-03T09:10:00.000Z" }, "limits" : { "per_payout_kes" : 150000 , "daily_kes" : 1000000 , "monthly_kes" : 10000000 , "requests_per_second" : 10 , "methods" : [ "mobile_money" , "till" , "paybill" , "bank" ], "countries" : [ "KE" ] }, "usage" : { "today_kes" : 45000 , "this_month_kes" : 820000 , "remaining_today_kes" : 955000 , "remaining_this_month_kes" : 9180000 } } } Response fields livemode boolean true for an apk_live_ key. workspace object id, name, kind (personal, merchant or organization), tier (sandbox, starter, growth, enterprise) and live_access. key object The calling key: prefix (first 16 characters), name, scopes and expires_at. limits object Limits in whole KES (not cents): per_payout_kes, daily_kes, monthly_kes, requests_per_second, the payout methods and countries you may use. usage object Whole KES paid out today and this month (Nairobi time), and what's left of each limit. Limits here are in whole shillings, unlike payout amounts, which are cents. Days and months follow Africa/Nairobi time. Get the balance GET /api/v1/balance API key balance:read What your payouts are paid from. Live: the workspace's USDC and USDT on Avalanche C-Chain and the wallet address to fund it. Test: your sandbox balance of free test USDC. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/balance" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" Response 200 application/json { "ok" : true , "data" : { "object" : "balance" , "livemode" : true , "wallet_address" : "0x4B2e8F1a9C3d7E6b5A0f2D8c1E9b3A7d6F4c2E10" , "usdc" : "1520.402100" , "usdt" : "0.000000" , "total_usd" : "1520.40" } } Response fields wallet_address string Live only. Send USDC or USDT on Avalanche C-Chain here to fund payouts. usdc string USDC balance, 6 decimal places. usdt string USDT balance, 6 decimal places. Always 0 in the sandbox. total_usd string Both together, 2 decimal places. Payouts are paid from USDC today. Check total_usd before a large batch, or listen for the balance.low webhook. List banks GET /api/v1/banks API key Kenyan banks you can pay out to, with the bank_code a bank destination needs. Cache it for a day. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/banks" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" Response 200 application/json { "ok" : true , "data" : { "object" : "list" , "data" : [ { "code" : "KCBLKENX" , "name" : "KCB Bank" }, { "code" : "EQBLKENA" , "name" : "Equity Bank" }, { "code" : "KCOOKENA" , "name" : "Co-operative Bank" } ] } } Any valid key can call this; no scope needed. Previous Overview Next Payouts © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Payouts · AutoPayKe API reference URL: https://www.autopayke.com/developers/api/payouts Send KES to M-Pesa, Airtel Money, Till (Buy Goods), PayBill and Kenyan bank accounts, paid from your USDC balance. Quote first, then create, then follow the status. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference API reference Overview Account, balance and banks Payouts POST Quote a payout POST Create a payout GET List payouts GET Get a payout Recipients Transactions and receipts Events Webhook endpoints Sandbox Capabilities Fees Payment links (payer) Top-ups Balance Payout accounts Saved cards Payment requests Docs API reference Payouts Copy page Send KES to M-Pesa, Airtel Money, Till (Buy Goods), PayBill and Kenyan bank accounts, paid from your USDC balance. Quote first, then create, then follow the status. POST Quote a payout /api/v1/payouts/quote POST Create a payout /api/v1/payouts GET List payouts /api/v1/payouts GET Get a payout /api/v1/payouts/{id} A payout moves through pending → processing → succeeded. It can end failed (nothing was paid; any debit is returned) or, after succeeding, reversed (the money came back). Some payouts pause in in_review for a manual check. Every create needs an Idempotency-Key header, so retrying after a timeout can never pay twice. Get the final status from webhooks (payout.succeeded, payout.failed) rather than polling. Send your API key as Authorization: Bearer apk_test_… (sandbox) or apk_live_… (live). Each endpoint lists the scope the key needs. See API keys . Quote a payout POST /api/v1/payouts/quote API key payouts:read Price a payout without sending it: the rate, our fee and the total USDC it will take from your balance. It also checks the destination and your limits, so a quote that succeeds means the payout would be accepted now. Body (JSON) amount integer required What the recipient receives, in KES cents, whole shillings only (a multiple of 100). 150000 sends KES 1,500. Fees are added on top and taken from your balance. currency string required Always "KES". KES source_token string optional Defaults to "USDC". USDC destination object required Where to send the money. Pick one shape by "type". mobile_money: { type, phone, network?, name? } where phone is a Kenyan mobile number in any common format (+254712345678, 0712345678), network is "safaricom" (default) or "airtel", and name is the name you expect on the account (optional, used for checks). till: { type, till_number } with a 5 to 8 digit Buy Goods number. paybill: { type, paybill_number, account_number } with a 5 to 7 digit PayBill and the account number the business gave (1 to 20 characters). bank: { type, bank_code, account_number, account_name } where bank_code comes from GET /api/v1/banks, account_number is 6 to 34 characters and account_name is the holder's name. Request cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/payouts/quote" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "amount": 150000, "currency": "KES", "destination": { "type": "mobile_money", "phone": "+254700000001" } }' Response 200 application/json { "ok" : true , "data" : { "object" : "payout_quote" , "livemode" : false , "amount" : 150000 , "currency" : "KES" , "source_token" : "USDC" , "rate" : "128.80" , "amount_usdc" : "11.646000" , "fee_usdc" : "0.302310" , "total_usdc" : "11.948310" , "fee_breakdown" : { "service_fee_usdc" : "0.291150" , "network_fee_usdc" : "0.011160" , "payout_cost_usdc" : "0.000000" }, "recipient_name" : null , "expires_at" : "2026-11-03T09:11:00.000Z" } } Response fields rate string KES per USDC. amount_usdc string USDC that converts to the KES amount. fee_usdc string Our fee plus the network fee. total_usdc string What the payout would take from your balance: amount_usdc + fee_usdc. fee_breakdown object service_fee_usdc (our fee, already 0.5 points below the app price for API partners), network_fee_usdc (Avalanche gas), payout_cost_usdc (the payout network's charge when it's passed through; 0 when it's inside the service fee). recipient_name string | null The account holder's name when the network returns one. Check it against who you meant to pay. expires_at string The price holds until then (about a minute). Creating the payout prices it again; the rate can differ slightly. Errors VALIDATION_ERROR RECIPIENT_INVALID METHOD_UNAVAILABLE LIMIT_PER_TX_EXCEEDED LIMIT_DAILY_EXCEEDED LIMIT_MONTHLY_EXCEEDED CAPABILITY_PAUSED Plus the key and rate errors any keyed call can return. A quote isn't a reservation: it doesn't hold money or a rate. It's free and doesn't count against limits. Create a payout POST /api/v1/payouts API key payouts:write Idempotency-Key required Send money. We check the destination, your limits and your balance, take the total from your balance and start the payout. It returns at once with status pending; the result arrives by webhook, usually within a minute for mobile money. Body (JSON) amount integer required What the recipient receives, in KES cents, whole shillings only (a multiple of 100). 150000 sends KES 1,500. Fees are added on top and taken from your balance. currency string required Always "KES". KES source_token string optional Defaults to "USDC". USDC destination object required Where to send the money. Pick one shape by "type". mobile_money: { type, phone, network?, name? } where phone is a Kenyan mobile number in any common format (+254712345678, 0712345678), network is "safaricom" (default) or "airtel", and name is the name you expect on the account (optional, used for checks). till: { type, till_number } with a 5 to 8 digit Buy Goods number. paybill: { type, paybill_number, account_number } with a 5 to 7 digit PayBill and the account number the business gave (1 to 20 characters). bank: { type, bank_code, account_number, account_name } where bank_code comes from GET /api/v1/banks, account_number is 6 to 34 characters and account_name is the holder's name. reference string optional Your own id for this payout, up to 64 characters (an invoice, order or payroll line). Shown on the payout and searchable. Not unique: use Idempotency-Key for that. description string optional Up to 140 characters, for your records. metadata object optional Up to 20 string key-value pairs (keys up to 40 characters, values up to 500). Returned on the payout, its events and webhooks. Don't put secrets or card numbers here. Request cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/payouts" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{ "amount": 150000, "currency": "KES", "destination": { "type": "mobile_money", "phone": "+254700000001", "network": "safaricom", "name": "Jane Wanjiku" }, "reference": "order_1042", "description": "Rider payout, week 44", "metadata": { "rider_id": "r_5521" } }' Response 201 application/json { "ok" : true , "data" : { "id" : "po_8Fq2mZx7Lk3Rt9Vb" , "object" : "payout" , "livemode" : false , "status" : "pending" , "amount" : 150000 , "currency" : "KES" , "source_token" : "USDC" , "debited_usdc" : "11.948310" , "fee_usdc" : "0.302310" , "rate" : "128.80" , "destination" : { "type" : "mobile_money" , "network" : "safaricom" , "phone" : "+254 700 ••• 001" }, "recipient_name" : "Jane Wanjiku" , "reference" : "order_1042" , "description" : "Rider payout, week 44" , "metadata" : { "rider_id" : "r_5521" }, "failure_code" : null , "failure_message" : null , "created" : "2026-11-03T09:10:00.000Z" , "updated" : "2026-11-03T09:10:00.000Z" } } Response fields id string Unique id, starts with po_. Use it to fetch the payout and to match webhooks. object string Always "payout". livemode boolean true for live keys (real money), false for test keys. status string Where the payout is. pending: accepted, not yet sent. processing: on its way. succeeded: the recipient has the money. failed: it didn't go through and nothing was paid (any debit is returned). reversed: it succeeded, then the money came back. in_review: held for a manual check before it's paid. pending processing succeeded failed reversed in_review amount integer What the recipient gets, in KES cents. 150000 is KES 1,500. currency string Always "KES" today. source_token string The stablecoin the payout is paid from. "USDC". debited_usdc string Total taken from your balance: the amount converted at rate, plus fee_usdc. Decimal string, 6 places. fee_usdc string Our fee plus the network fee, in USDC. Already included in debited_usdc. rate string KES per USDC used for this payout, locked when it was created. destination object Where the money went, masked: phone numbers and account numbers show only their last digits. Same type as you sent (mobile_money, till, paybill, bank); bank destinations add bank_name. recipient_name string | null The account holder's name when the network returns one, or the name you sent. reference string | null Your own reference, echoed back. Search by it with GET /api/v1/payouts?reference=… description string | null Your description, echoed back. metadata object Your key-value pairs, echoed back on the payout, its events and webhooks. failure_code string | null Set when status is failed: RECIPIENT_INVALID (number or account can't receive), METHOD_UNAVAILABLE (network didn't answer; nothing was paid), FUNDING_FAILED (couldn't be funded from your wallet; nothing left it), PAYOUT_FAILED (couldn't be completed; any debit is returned), PAYOUT_RETURNED (sent back to your wallet). failure_message string | null A sentence you can show to a person, explaining failure_code. created string ISO 8601 time the payout was created. updated string ISO 8601 time of the last status change. Errors IDEMPOTENCY_KEY_REQUIRED IDEMPOTENCY_KEY_REUSED IDEMPOTENCY_IN_PROGRESS VALIDATION_ERROR RECIPIENT_INVALID METHOD_UNAVAILABLE LIMIT_PER_TX_EXCEEDED LIMIT_DAILY_EXCEEDED LIMIT_MONTHLY_EXCEEDED INSUFFICIENT_BALANCE CAPABILITY_PAUSED Plus the key and rate errors any keyed call can return. A retry with the same Idempotency-Key and body returns the first response, with the header Idempotent-Replayed: true. The same key with a different body is refused with IDEMPOTENCY_KEY_REUSED. If the request fails validation or a limit, nothing is charged and the Idempotency-Key is released, so you can fix the request and retry with the same key. Live keys that can create payouts must have an IP allowlist; calls from other addresses get IP_NOT_ALLOWED. Sandbox: +254700000001 succeeds, +254700000002 fails, +254700000003 goes to in_review, +254700000004 succeeds then reverses, an amount of 13300 (KES 133) times out after a minute, and account number 0000000000 fails. Anything else succeeds about 5 seconds later. List payouts GET /api/v1/payouts API key payouts:read Your payouts, newest first, in the key's environment. Filter by status, your reference or a time window. Query parameters limit integer optional How many to return, 1 to 100. Default 20. starting_after string optional Cursor for the next page: the id of the last item you got. Lists are newest first; when has_more is true, pass the last id here. status string optional Only payouts in this status. pending processing succeeded failed reversed in_review reference string optional Only payouts with this reference. created_gte string optional Created at or after this ISO 8601 time. created_lt string optional Created before this ISO 8601 time. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/payouts?limit=20&status=succeeded" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" Response 200 application/json { "ok" : true , "data" : { "object" : "list" , "data" : [ { "id" : "po_8Fq2mZx7Lk3Rt9Vb" , "object" : "payout" , "livemode" : false , "status" : "succeeded" , "amount" : 150000 , "currency" : "KES" , "source_token" : "USDC" , "debited_usdc" : "11.948310" , "fee_usdc" : "0.302310" , "rate" : "128.80" , "destination" : { "type" : "mobile_money" , "network" : "safaricom" , "phone" : "+254 700 ••• 001" }, "recipient_name" : "Jane Wanjiku" , "reference" : "order_1042" , "description" : "Rider payout, week 44" , "metadata" : { "rider_id" : "r_5521" }, "failure_code" : null , "failure_message" : null , "created" : "2026-11-03T09:10:00.000Z" , "updated" : "2026-11-03T09:10:00.000Z" } ], "has_more" : false } } To walk every page: call with limit=100, then repeat with starting_after set to the last id while has_more is true. Get a payout GET /api/v1/payouts/{id} API key payouts:read One payout by id, with its current status. Use it to recover after a missed webhook or a timeout. Path parameters id string required The payout id (po_…). Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/payouts/po_8Fq2mZx7Lk3Rt9Vb" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" Response 200 application/json { "ok" : true , "data" : { "id" : "po_8Fq2mZx7Lk3Rt9Vb" , "object" : "payout" , "livemode" : false , "status" : "succeeded" , "amount" : 150000 , "currency" : "KES" , "source_token" : "USDC" , "debited_usdc" : "11.948310" , "fee_usdc" : "0.302310" , "rate" : "128.80" , "destination" : { "type" : "mobile_money" , "network" : "safaricom" , "phone" : "+254 700 ••• 001" }, "recipient_name" : "Jane Wanjiku" , "reference" : "order_1042" , "description" : "Rider payout, week 44" , "metadata" : { "rider_id" : "r_5521" }, "failure_code" : null , "failure_message" : null , "created" : "2026-11-03T09:10:00.000Z" , "updated" : "2026-11-03T09:10:00.000Z" } } Response fields id string Unique id, starts with po_. Use it to fetch the payout and to match webhooks. object string Always "payout". livemode boolean true for live keys (real money), false for test keys. status string Where the payout is. pending: accepted, not yet sent. processing: on its way. succeeded: the recipient has the money. failed: it didn't go through and nothing was paid (any debit is returned). reversed: it succeeded, then the money came back. in_review: held for a manual check before it's paid. pending processing succeeded failed reversed in_review amount integer What the recipient gets, in KES cents. 150000 is KES 1,500. currency string Always "KES" today. source_token string The stablecoin the payout is paid from. "USDC". debited_usdc string Total taken from your balance: the amount converted at rate, plus fee_usdc. Decimal string, 6 places. fee_usdc string Our fee plus the network fee, in USDC. Already included in debited_usdc. rate string KES per USDC used for this payout, locked when it was created. destination object Where the money went, masked: phone numbers and account numbers show only their last digits. Same type as you sent (mobile_money, till, paybill, bank); bank destinations add bank_name. recipient_name string | null The account holder's name when the network returns one, or the name you sent. reference string | null Your own reference, echoed back. Search by it with GET /api/v1/payouts?reference=… description string | null Your description, echoed back. metadata object Your key-value pairs, echoed back on the payout, its events and webhooks. failure_code string | null Set when status is failed: RECIPIENT_INVALID (number or account can't receive), METHOD_UNAVAILABLE (network didn't answer; nothing was paid), FUNDING_FAILED (couldn't be funded from your wallet; nothing left it), PAYOUT_FAILED (couldn't be completed; any debit is returned), PAYOUT_RETURNED (sent back to your wallet). failure_message string | null A sentence you can show to a person, explaining failure_code. created string ISO 8601 time the payout was created. updated string ISO 8601 time of the last status change. Errors NOT_FOUND Plus the key and rate errors any keyed call can return. A test key can't see live payouts and the other way round: you'll get NOT_FOUND. Previous Account, balance and banks Next Recipients © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Recipients · AutoPayKe API reference URL: https://www.autopayke.com/developers/api/recipients Check who owns a phone number or bank account before you pay it. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference API reference Overview Account, balance and banks Payouts Recipients POST Verify a recipient Transactions and receipts Events Webhook endpoints Sandbox Capabilities Fees Payment links (payer) Top-ups Balance Payout accounts Saved cards Payment requests Docs API reference Recipients Copy page Check who owns a phone number or bank account before you pay it. POST Verify a recipient /api/v1/recipients/verify Send your API key as Authorization: Bearer apk_test_… (sandbox) or apk_live_… (live). Each endpoint lists the scope the key needs. See API keys . Verify a recipient POST /api/v1/recipients/verify API key recipients:read 30 a minute per key Looks up the name on an M-Pesa, Airtel Money or bank account. Send the name you expect and we tell you whether it matches. Use it when someone gives you their number for the first time. Body (JSON) type string required What to check. mobile_money bank phone string optional mobile_money only: the Kenyan mobile number. network string optional mobile_money only. Default "safaricom". safaricom airtel bank_code string optional bank only: from GET /api/v1/banks. account_number string optional bank only: 6 to 34 characters. name string optional The name you expect. When sent, name_match tells you how close it is. Request cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/recipients/verify" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "type": "mobile_money", "phone": "+254712345678", "name": "Jane Doe" }' Response 200 application/json { "ok" : true , "data" : { "object" : "recipient_check" , "livemode" : false , "resolved" : true , "account_name" : "JANE WANJIKU DOE" , "name_match" : "matched" } } Response fields resolved boolean Whether the network returned a name. false can mean the account doesn't exist or the network doesn't share names for it. account_name string | null The registered name, as the network returns it (often upper case). name_match string | null Only when you sent name. matched: every word of the shorter name appears in the other (Jane Doe matches JANE WANJIKU DOE). mismatch: they don't agree; confirm with the person before paying. unverified: nothing resolved to compare against. null when you didn't send a name. matched mismatch unverified Errors VALIDATION_ERROR RECIPIENT_INVALID RATE_LIMITED Plus the key and rate errors any keyed call can return. Sandbox: every number resolves to JANE WANJIKU DOE except +254700000002, and every account except 0000000000. Checking many numbers that don't resolve looks like sweeping for valid accounts and alerts our team. Only check numbers people gave you. Previous Payouts Next Transactions and receipts © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Transactions and receipts · AutoPayKe API reference URL: https://www.autopayke.com/developers/api/transactions Everything that moved money in the workspace (API payouts and anything else on the account), with receipts you can send to recipients or auditors. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference API reference Overview Account, balance and banks Payouts Recipients Transactions and receipts GET List transactions GET Get a transaction GET Get a receipt Events Webhook endpoints Sandbox Capabilities Fees Payment links (payer) Top-ups Balance Payout accounts Saved cards Payment requests Docs API reference Transactions and receipts Copy page Everything that moved money in the workspace (API payouts and anything else on the account), with receipts you can send to recipients or auditors. GET List transactions /api/v1/transactions GET Get a transaction /api/v1/transactions/{id} GET Get a receipt /api/v1/transactions/{id}/receipt Send your API key as Authorization: Bearer apk_test_… (sandbox) or apk_live_… (live). Each endpoint lists the scope the key needs. See API keys . List transactions GET /api/v1/transactions API key transactions:read The workspace's money movements, newest first. In test mode these are your sandbox payouts. Query parameters limit integer optional How many to return, 1 to 100. Default 20. starting_after string optional Cursor for the next page: the id of the last item you got. Lists are newest first; when has_more is true, pass the last id here. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/transactions?limit=20" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" Response 200 application/json { "ok" : true , "data" : { "object" : "list" , "data" : [ { "id" : "TXN-8KQ2-ZP7L" , "object" : "transaction" , "livemode" : true , "type" : "payout" , "direction" : "debit" , "status" : "succeeded" , "amount_usdc" : "11.646000" , "fee_usdc" : "0.302310" , "amount_local" : 150000 , "currency" : "KES" , "payout" : "po_8Fq2mZx7Lk3Rt9Vb" , "counterparty" : { "name" : "JANE WANJIKU DOE" , "phone" : "+254 712 ••• 678" , "till_number" : null }, "created" : "2026-11-03T09:10:00.000Z" , "settled" : "2026-11-03T09:10:41.000Z" } ], "has_more" : false } } Response fields id string The transaction reference (the same one on receipts and in the AutoPayKe app). type string payout (made through the API), send, receive, merchant_payment, payment_received, transfer_in or transfer_out. direction string debit (money out) or credit (money in). status string pending, processing, succeeded, failed or reversed. amount_local integer | null KES cents, when the transaction had a local amount. payout string | null The po_… id when the API created it. counterparty object Who was paid or paid you, masked. settled string | null When it completed. Get a transaction GET /api/v1/transactions/{id} API key transactions:read One transaction by its reference (or, in test mode, the payout id). Path parameters id string required Transaction reference. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/transactions/TXN-8KQ2-ZP7L" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" Response 200 application/json { "ok" : true , "data" : { "id" : "TXN-8KQ2-ZP7L" , "object" : "transaction" , "livemode" : true , "type" : "payout" , "direction" : "debit" , "status" : "succeeded" , "amount_local" : 150000 , "currency" : "KES" , "payout" : "po_8Fq2mZx7Lk3Rt9Vb" } } Errors NOT_FOUND Plus the key and rate errors any keyed call can return. Get a receipt GET /api/v1/transactions/{id}/receipt API key transactions:read A receipt for one transaction: who paid, who received, amounts and times, issued by AutoPayKe. Render it in your own template or store it with your books. Path parameters id string required Transaction reference. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/transactions/TXN-8KQ2-ZP7L/receipt" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" Response 200 application/json { "ok" : true , "data" : { "object" : "receipt" , "livemode" : true , "transaction" : "TXN-8KQ2-ZP7L" , "issued" : "2026-11-03T12:00:00.000Z" , "from" : { "name" : "Acme Payroll" , "workspace" : "2f6c1a4e-7b3d-4e58-9c21-5a8d0e7f3b64" }, "to" : { "name" : "JANE WANJIKU DOE" , "phone" : "+254 712 ••• 678" , "till_number" : null }, "amount_local" : 150000 , "currency" : "KES" , "amount_usdc" : "11.646000" , "fee_usdc" : "0.302310" , "status" : "succeeded" , "created" : "2026-11-03T09:10:00.000Z" , "settled" : "2026-11-03T09:10:41.000Z" , "issuer" : "AutoPayKe" } } Errors NOT_FOUND Plus the key and rate errors any keyed call can return. Previous Recipients Next Events © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Events · AutoPayKe API reference URL: https://www.autopayke.com/developers/api/events A record of everything that happened to your objects. The same events your webhooks receive; read them here to catch up after downtime. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference API reference Overview Account, balance and banks Payouts Recipients Transactions and receipts Events GET List events GET Get an event Webhook endpoints Sandbox Capabilities Fees Payment links (payer) Top-ups Balance Payout accounts Saved cards Payment requests Docs API reference Events Copy page A record of everything that happened to your objects. The same events your webhooks receive; read them here to catch up after downtime. GET List events /api/v1/events GET Get an event /api/v1/events/{id} Send your API key as Authorization: Bearer apk_test_… (sandbox) or apk_live_… (live). Each endpoint lists the scope the key needs. See API keys . List events GET /api/v1/events API key events:read Events in the key's environment, newest first. Filter by type or by the object they're about. Query parameters limit integer optional How many to return, 1 to 100. Default 20. starting_after string optional Cursor for the next page: the id of the last item you got. Lists are newest first; when has_more is true, pass the last id here. type string optional Only this event type, e.g. payout.succeeded. object_id string optional Only events about this object, e.g. a payout id. Gives a payout's full history. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/events?object_id=po_8Fq2mZx7Lk3Rt9Vb" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" Response 200 application/json { "ok" : true , "data" : { "object" : "list" , "data" : [ { "id" : "evt_3Jk8Qw2Zp7Lm4Nx6Rt1Vb9Yc" , "object" : "event" , "type" : "payout.succeeded" , "created" : "2026-11-03T09:10:06.000Z" , "livemode" : false , "data" : { "object" : { "id" : "po_8Fq2mZx7Lk3Rt9Vb" , "object" : "payout" , "livemode" : false , "status" : "succeeded" , "amount" : 150000 , "currency" : "KES" , "source_token" : "USDC" , "debited_usdc" : "11.948310" , "fee_usdc" : "0.302310" , "rate" : "128.80" , "destination" : { "type" : "mobile_money" , "network" : "safaricom" , "phone" : "+254 700 ••• 001" }, "recipient_name" : "Jane Wanjiku" , "reference" : "order_1042" , "description" : "Rider payout, week 44" , "metadata" : { "rider_id" : "r_5521" }, "failure_code" : null , "failure_message" : null , "created" : "2026-11-03T09:10:00.000Z" , "updated" : "2026-11-03T09:10:06.000Z" } } } ], "has_more" : false } } Response fields id string evt_… Use it to drop duplicate webhook deliveries. type string What happened. See the Webhooks guide for every type. created string When it happened. data.object object The object as it was at that moment, the same shape a GET returns. Get an event GET /api/v1/events/{id} API key events:read One event by id. Use it to check a webhook you received really came from us: fetch it by the id in the payload. Path parameters id string required evt_… Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/events/evt_3Jk8Qw2Zp7Lm4Nx6Rt1Vb9Yc" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" Response 200 application/json { "ok" : true , "data" : { "id" : "evt_3Jk8Qw2Zp7Lm4Nx6Rt1Vb9Yc" , "object" : "event" , "type" : "payout.succeeded" , "created" : "2026-11-03T09:10:06.000Z" , "livemode" : false , "data" : { "object" : { "id" : "po_8Fq2mZx7Lk3Rt9Vb" , "object" : "payout" , "livemode" : false , "status" : "succeeded" , "amount" : 150000 , "currency" : "KES" , "source_token" : "USDC" , "debited_usdc" : "11.948310" , "fee_usdc" : "0.302310" , "rate" : "128.80" , "destination" : { "type" : "mobile_money" , "network" : "safaricom" , "phone" : "+254 700 ••• 001" }, "recipient_name" : "Jane Wanjiku" , "reference" : "order_1042" , "description" : "Rider payout, week 44" , "metadata" : { "rider_id" : "r_5521" }, "failure_code" : null , "failure_message" : null , "created" : "2026-11-03T09:10:00.000Z" , "updated" : "2026-11-03T09:10:06.000Z" } } } } Errors NOT_FOUND Plus the key and rate errors any keyed call can return. Previous Transactions and receipts Next Webhook endpoints © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Webhook endpoints · AutoPayKe API reference URL: https://www.autopayke.com/developers/api/webhook-endpoints Manage where we send events, from code. The Console does the same; use whichever suits your deploys. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference API reference Overview Account, balance and banks Payouts Recipients Transactions and receipts Events Webhook endpoints GET List endpoints POST Create an endpoint GET Get an endpoint PATCH Update an endpoint DEL Delete an endpoint POST Roll the signing secret GET List deliveries Sandbox Capabilities Fees Payment links (payer) Top-ups Balance Payout accounts Saved cards Payment requests Docs API reference Webhook endpoints Copy page Manage where we send events, from code. The Console does the same; use whichever suits your deploys. GET List endpoints /api/v1/webhook-endpoints POST Create an endpoint /api/v1/webhook-endpoints GET Get an endpoint /api/v1/webhook-endpoints/{id} PATCH Update an endpoint /api/v1/webhook-endpoints/{id} DEL Delete an endpoint /api/v1/webhook-endpoints/{id} POST Roll the signing secret /api/v1/webhook-endpoints/{id}/roll-secret GET List deliveries /api/v1/webhook-endpoints/{id}/deliveries Endpoints belong to the key's environment: a test key manages test endpoints, which only receive test events. Send your API key as Authorization: Bearer apk_test_… (sandbox) or apk_live_… (live). Each endpoint lists the scope the key needs. See API keys . List endpoints GET /api/v1/webhook-endpoints API key webhooks:write Your endpoints in this environment, with their success rate over the last 7 days. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/webhook-endpoints" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" Response 200 application/json { "ok" : true , "data" : { "object" : "list" , "data" : [ { "id" : "1d7c3b5e-2a49-4f86-9a0e-6c2b8d4f1e73" , "url" : "https://api.example.com/webhooks/autopayke" , "description" : "Production listener" , "environment" : "test" , "events" : [ "payout.succeeded" , "payout.failed" , "payout.reversed" ], "status" : "enabled" , "disabledReason" : null , "failingSince" : null , "secretPrefix" : "whsec_9xKq2LmZ" , "createdAt" : "2026-11-03T09:10:00.000Z" , "successRate7d" : 0.99 , "deliveries7d" : 412 } ] } } Create an endpoint POST /api/v1/webhook-endpoints API key webhooks:write Start sending events to a URL. The response includes the signing secret, once. Body (JSON) url string required An https URL on the public internet, up to 2048 characters. Private, local and link-local addresses are refused. events string[] required The event types to send, or ["*"] for all, including types we add later. description string optional Up to 200 characters. Request cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/webhook-endpoints" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://api.example.com/webhooks/autopayke", "events": [ "payout.succeeded", "payout.failed", "payout.reversed" ], "description": "Production listener" }' Response 201 application/json { "ok" : true , "data" : { "id" : "1d7c3b5e-2a49-4f86-9a0e-6c2b8d4f1e73" , "url" : "https://api.example.com/webhooks/autopayke" , "description" : "Production listener" , "environment" : "test" , "events" : [ "payout.succeeded" , "payout.failed" , "payout.reversed" ], "status" : "enabled" , "disabledReason" : null , "failingSince" : null , "secretPrefix" : "whsec_9xKq2LmZ" , "createdAt" : "2026-11-03T09:10:00.000Z" , "secret" : "whsec_9xKq2LmZp4Rt7Vb1Nc8Yw3Jd6Hf0Gs5A" } } Errors VALIDATION_ERROR Plus the key and rate errors any keyed call can return. Store secret in your secret manager. You can roll it, but we won't show this one again through the API (the Console can reveal it after a PIN check). Get an endpoint GET /api/v1/webhook-endpoints/{id} API key webhooks:write One endpoint. failingSince is set while deliveries keep failing; after 3 days we disable it and set disabledReason. Path parameters id string required Endpoint id. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/webhook-endpoints/1d7c3b5e-2a49-4f86-9a0e-6c2b8d4f1e73" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" Response 200 application/json { "ok" : true , "data" : { "id" : "1d7c3b5e-2a49-4f86-9a0e-6c2b8d4f1e73" , "url" : "https://api.example.com/webhooks/autopayke" , "description" : "Production listener" , "environment" : "test" , "events" : [ "payout.succeeded" , "payout.failed" , "payout.reversed" ], "status" : "enabled" , "disabledReason" : null , "failingSince" : null , "secretPrefix" : "whsec_9xKq2LmZ" , "createdAt" : "2026-11-03T09:10:00.000Z" } } Errors NOT_FOUND Plus the key and rate errors any keyed call can return. Update an endpoint PATCH /api/v1/webhook-endpoints/{id} API key webhooks:write Change the URL, the events or the description, or turn it off and on. Turning a disabled endpoint back on clears its failure state. Path parameters id string required Endpoint id. Body (JSON) url string optional New https URL. events string[] optional Replaces the list. description string optional Up to 200 characters. enabled boolean optional false stops deliveries; true starts them again. Request cURL JavaScript Python curl -X PATCH "https://api.autopayke.com/api/v1/webhook-endpoints/1d7c3b5e-2a49-4f86-9a0e-6c2b8d4f1e73" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "enabled": true }' Response 200 application/json { "ok" : true , "data" : { "id" : "1d7c3b5e-2a49-4f86-9a0e-6c2b8d4f1e73" , "url" : "https://api.example.com/webhooks/autopayke" , "description" : "Production listener" , "environment" : "test" , "events" : [ "payout.succeeded" , "payout.failed" , "payout.reversed" ], "status" : "enabled" , "disabledReason" : null , "failingSince" : null , "secretPrefix" : "whsec_9xKq2LmZ" , "createdAt" : "2026-11-03T09:10:00.000Z" } } Errors VALIDATION_ERROR NOT_FOUND Plus the key and rate errors any keyed call can return. Delete an endpoint DEL /api/v1/webhook-endpoints/{id} API key webhooks:write Stop sending to this endpoint for good. Deliveries waiting for a retry are dropped; the events stay readable at GET /api/v1/events. Path parameters id string required Endpoint id. Request cURL JavaScript Python curl -X DELETE "https://api.autopayke.com/api/v1/webhook-endpoints/1d7c3b5e-2a49-4f86-9a0e-6c2b8d4f1e73" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" Response 200 application/json { "ok" : true , "data" : { "id" : "1d7c3b5e-2a49-4f86-9a0e-6c2b8d4f1e73" , "deleted" : true } } Errors NOT_FOUND Plus the key and rate errors any keyed call can return. Roll the signing secret POST /api/v1/webhook-endpoints/{id}/roll-secret API key webhooks:write Issue a new signing secret. The old one stops at once, so deploy code that accepts both before you roll, then remove the old one. Path parameters id string required Endpoint id. Request cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/webhook-endpoints/1d7c3b5e-2a49-4f86-9a0e-6c2b8d4f1e73/roll-secret" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" Response 200 application/json { "ok" : true , "data" : { "secret" : "whsec_Lm4Nx6Rt1Vb9Yc3Jk8Qw2Zp7Fq2mZx7L" } } Errors NOT_FOUND Plus the key and rate errors any keyed call can return. List deliveries GET /api/v1/webhook-endpoints/{id}/deliveries API key webhooks:write Recent delivery attempts to this endpoint: what we sent, what you answered and when we'll retry. Path parameters id string required Endpoint id. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/webhook-endpoints/1d7c3b5e-2a49-4f86-9a0e-6c2b8d4f1e73/deliveries" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" Response 200 application/json { "ok" : true , "data" : { "object" : "list" , "data" : [ { "id" : "8c1e5a2f-9b3d-4f7e-a6c0-2d8b4e1f7a93" , "eventId" : "evt_3Jk8Qw2Zp7Lm4Nx6Rt1Vb9Yc" , "eventType" : "payout.succeeded" , "attempt" : 2 , "status" : "failed" , "responseCode" : 500 , "responseBody" : "Internal Server Error" , "error" : null , "durationMs" : 312 , "nextRetryAt" : "2026-11-03T09:16:06.000Z" , "deliveredAt" : null , "createdAt" : "2026-11-03T09:10:06.000Z" } ] } } Response fields status string pending (queued), succeeded (you answered 2xx), failed (will retry), abandoned (we gave up after 3 days). attempt integer 1 for the first try. responseCode integer | null Your HTTP status, or null when we couldn't connect. responseBody string | null The start of your response body, for debugging. error string | null Why we couldn't deliver (timeout, DNS, TLS, refused URL). nextRetryAt string | null When the next attempt is due. Errors NOT_FOUND Plus the key and rate errors any keyed call can return. Previous Events Next Sandbox © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Sandbox · AutoPayKe API reference URL: https://www.autopayke.com/developers/api/sandbox Test-only helpers: top up your test balance and force a test payout into any status. They answer NOT_FOUND to live keys. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference API reference Overview Account, balance and banks Payouts Recipients Transactions and receipts Events Webhook endpoints Sandbox POST Add test funds POST Simulate a payout outcome Capabilities Fees Payment links (payer) Top-ups Balance Payout accounts Saved cards Payment requests Docs API reference Sandbox Copy page Test-only helpers: top up your test balance and force a test payout into any status. They answer NOT_FOUND to live keys. POST Add test funds /api/v1/sandbox/faucet POST Simulate a payout outcome /api/v1/sandbox/payouts/{id}/simulate Send your API key as Authorization: Bearer apk_test_… (sandbox) or apk_live_… (live). Each endpoint lists the scope the key needs. See API keys . Add test funds POST /api/v1/sandbox/faucet API key Adds free test USDC to your sandbox balance, which test payouts are paid from. Not real money. Body (JSON) amount_usdc number optional How much to add, up to 10,000. Default 1,000. Request cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/sandbox/faucet" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "amount_usdc": 1000 }' Response 200 application/json { "ok" : true , "data" : { "object" : "balance" , "livemode" : false , "usdc" : "2000.000000" } } Errors NOT_FOUND VALIDATION_ERROR Plus the key and rate errors any keyed call can return. Simulate a payout outcome POST /api/v1/sandbox/payouts/{id}/simulate API key Move a test payout to the status you want, now, and fire its webhooks. Use it to test how your code handles each outcome without waiting. Path parameters id string required A test payout id. Body (JSON) outcome string required The status to move to. failed and reversed return the money to your sandbox balance. processing succeeded failed reversed in_review Request cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/sandbox/payouts/po_8Fq2mZx7Lk3Rt9Vb/simulate" \ -H "Authorization: Bearer $AUTOPAYKE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "outcome": "failed" }' Response 200 application/json { "ok" : true , "data" : { "id" : "po_8Fq2mZx7Lk3Rt9Vb" , "object" : "payout" , "livemode" : false , "status" : "failed" , "amount" : 150000 , "currency" : "KES" , "source_token" : "USDC" , "debited_usdc" : "11.948310" , "fee_usdc" : "0.302310" , "rate" : "128.80" , "destination" : { "type" : "mobile_money" , "network" : "safaricom" , "phone" : "+254 700 ••• 001" }, "recipient_name" : "Jane Wanjiku" , "reference" : "order_1042" , "description" : "Rider payout, week 44" , "metadata" : { "rider_id" : "r_5521" }, "failure_code" : "RECIPIENT_INVALID" , "failure_message" : "The recipient's account can't receive this payout." , "created" : "2026-11-03T09:10:00.000Z" , "updated" : "2026-11-03T09:10:00.000Z" } } Errors NOT_FOUND VALIDATION_ERROR Plus the key and rate errors any keyed call can return. Previous Webhook endpoints Next Capabilities © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Capabilities · AutoPayKe API reference URL: https://www.autopayke.com/developers/api/capabilities Where money can come from and go to right now: countries, methods, mobile money operators and per-transaction limits. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference API reference Overview Account, balance and banks Payouts Recipients Transactions and receipts Events Webhook endpoints Sandbox Capabilities GET Get coverage Fees Payment links (payer) Top-ups Balance Payout accounts Saved cards Payment requests Docs API reference Capabilities Copy page Where money can come from and go to right now: countries, methods, mobile money operators and per-transaction limits. GET Get coverage /api/v1/capabilities No key needed: call these from a terminal, a server or a coding agent. Get coverage GET /api/v1/capabilities Public Lists the collection (money in) and payout (money out) methods that work right now, per country. Methods appear and disappear as partners go live or pause, so read this rather than hard-coding a list. Query parameters country string optional ISO 3166-1 alpha-2 country code. Omit to get every country. direction string optional Only collection (money in) or only payout (money out) methods. collection payout Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/capabilities?country=KE&direction=payout" Response 200 application/json { "ok" : true , "data" : { "countries" : [ { "code" : "KE" , "name" : "Kenya" , "dial" : "+254" , "flag" : "🇰🇪" , "currency" : "KES" , "phoneLength" : 9 , "collection" : [], "payout" : [ { "method" : "mobile_money" , "currency" : "KES" , "operators" : [ { "code" : "Safaricom" , "label" : "M-Pesa" }, { "code" : "Airtel" , "label" : "Airtel Money" } ], "minAmount" : "1000" , "maxAmount" : "25000000" }, { "method" : "paybill" , "currency" : "KES" , "operators" : [], "minAmount" : "2000" , "maxAmount" : "25000000" }, { "method" : "till" , "currency" : "KES" , "operators" : [], "minAmount" : "2000" , "maxAmount" : "25000000" } ] } ], "generatedAt" : "2026-11-03T07:04:18.972Z" } } Cached for 60 seconds (Cache-Control: public, max-age=60). minAmount and maxAmount are minor units of the method's currency (KES cents for Kenya). null means no limit is published. Previous Sandbox Next Fees © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Fees · AutoPayKe API reference URL: https://www.autopayke.com/developers/api/fees The prices AutoPayKe publishes, and an itemised quote for any amount, the same figures the app charges against. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference API reference Overview Account, balance and banks Payouts Recipients Transactions and receipts Events Webhook endpoints Sandbox Capabilities Fees GET Get published prices GET Quote a fee Payment links (payer) Top-ups Balance Payout accounts Saved cards Payment requests Docs API reference Fees Copy page The prices AutoPayKe publishes, and an itemised quote for any amount, the same figures the app charges against. GET Get published prices /api/v1/fees/published GET Quote a fee /api/v1/fees/quote No key needed: call these from a terminal, a server or a coding agent. Get published prices GET /api/v1/fees/published Public Every price we publish: the FX spread, the cash-out percentage and minimum, the wallet-to-wallet fee and top-up fees. A top-up price is null until it is set; nothing is promised before then. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/fees/published" Response 200 application/json { "ok" : true , "data" : { "fx" : { "spreadPercent" : 2.3 }, "cashout" : { "percent" : 3 , "minimumUsd" : 0.1 , "providerFeeAddedOnTop" : false }, "walletToWallet" : { "percent" : 0 , "flatFeeUsd" : 0.02 }, "cardTopup" : null , "bankTopup" : null , "mobileMoneyTopup" : null } } Cached for 60 seconds. Read from the same fee settings that quotes and charges use. Quote a fee GET /api/v1/fees/quote Public Returns the itemised fee for an amount of one product. Pass the amount in major units (40 means 40 USDC); every amount in the response is in minor units. Query parameters product string required What the money is doing. cashout wallet_to_wallet card_topup bank_topup mobile_money_topup payment_link_card amount string required A positive decimal in major units, e.g. 40 or 12.50. currency string required Three or four letters. cashout is priced in USDC; top-ups in the currency charged. country string optional ISO 3166-1 alpha-2 code of the payer or payee. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/fees/quote?product=cashout&amount=40¤cy=USDC" Response 200 application/json { "ok" : true , "data" : { "product" : "cashout" , "currency" : "USDC" , "amount" : "40000000" , "fees" : [ { "code" : "service_fee" , "label" : "Service fee" , "amount" : "1200000" , "currency" : "USDC" } ], "totalFee" : "1200000" , "total" : "41200000" , "placeholder" : false , "settingsVersion" : "2026-11-03T07:03:31.541Z" } } placeholder: true means a line depends on a price that has not been set yet, don't show it to customers as final. settingsVersion changes whenever the fee settings change. Previous Capabilities Next Payment links (payer) © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Payment links (payer) · AutoPayKe API reference URL: https://www.autopayke.com/developers/api/payment-links The public side of a payment link: what the payer sees, paying it, and following the payment. No account is needed to pay. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference API reference Overview Account, balance and banks Payouts Recipients Transactions and receipts Events Webhook endpoints Sandbox Capabilities Fees Payment links (payer) GET Get a payment link POST Pay a payment link GET Get a payment's status Top-ups Balance Payout accounts Saved cards Payment requests Docs API reference Payment links (payer) Copy page The public side of a payment link: what the payer sees, paying it, and following the payment. No account is needed to pay. GET Get a payment link /api/v1/p/{code} POST Pay a payment link /api/v1/p/{code}/pay GET Get a payment's status /api/v1/p/{code}/payments/{id} No key needed: call these from a terminal, a server or a coding agent. Get a payment link GET /api/v1/p/{code} Public What the payer needs to see: who is asking, how much, for what, and which methods are live for this link right now. Path parameters code string required The link code: 6–32 letters, digits, - or _. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/p/Kq7mZp2xA" Response 200 application/json { "ok" : true , "data" : { "code" : "Kq7mZp2xA" , "requesterName" : "Wanjiku Farm Supplies" , "verified" : true , "amount" : "250000" , "currency" : "KES" , "description" : "Invoice 1042: fertiliser" , "status" : "active" , "expiresAt" : "2026-11-10T09:00:00.000Z" , "methods" : [ "mobile_money" ], "cardFeePayer" : "customer" } } Pay a payment link POST /api/v1/p/{code}/pay Public 10 requests per 5 minutes per IP address. Starts the payment. For mobile money the payer gets a prompt on their phone; for card the response carries a hosted checkout URL. Card details are never accepted by this API. Path parameters code string required The link code. Body (JSON) method string required How the payer pays. Must be one of the link's live methods. card mobile_money bank country string required ISO 3166-1 alpha-2 code of the payer. phone string optional International format, required for mobile_money. operator string optional Mobile money operator code from /capabilities, e.g. Safaricom. firstName string optional Up to 60 characters. Prefills the card checkout. lastName string optional Up to 60 characters. email string optional Payer's email, for the receipt. idempotencyKey string optional 8–80 characters. Retrying with the same key returns the same payment instead of charging twice. Request cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/p/Kq7mZp2xA/pay" \ -H "Content-Type: application/json" \ -d '{ "method": "mobile_money", "country": "KE", "phone": "+254712345678", "operator": "Safaricom", "idempotencyKey": "order-1042-attempt-1" }' Response 201 application/json { "ok" : true , "data" : { "id" : "7b1f0c7e-1f3c-4a43-9a8f-3f0d6a2b9c11" , "status" : "processing" , "checkoutUrl" : null , "virtualAccount" : null , "stepRequired" : "Approve the M-Pesa prompt on your phone" , "chargeAmount" : "250000" , "chargeCurrency" : "KES" , "feeAmount" : "0" , "expiresAt" : "2026-11-03T09:15:00.000Z" } } Get a payment's status GET /api/v1/p/{code}/payments/{id} Public Poll this after paying until status is final (credited, failed, expired, cancelled or reversed). Path parameters code string required The link code. id string required The id returned when paying. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/p/Kq7mZp2xA/payments/7b1f0c7e-1f3c-4a43-9a8f-3f0d6a2b9c11" Response 200 application/json { "ok" : true , "data" : { "id" : "7b1f0c7e-1f3c-4a43-9a8f-3f0d6a2b9c11" , "status" : "credited" , "failureReason" : null } } Previous Fees Next Top-ups © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Top-ups · AutoPayKe API reference URL: https://www.autopayke.com/developers/api/funding Money in: add funds to an AutoPayKe balance from mobile money, card or bank transfer, then follow the top-up until it is credited. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference API reference Overview Account, balance and banks Payouts Recipients Transactions and receipts Events Webhook endpoints Sandbox Capabilities Fees Payment links (payer) Top-ups GET Get top-up options POST Top up with mobile money POST Top up with a card POST Top up by bank transfer GET List banks for bank top-ups GET Get a top-up GET Stream a top-up Balance Payout accounts Saved cards Payment requests Docs API reference Top-ups Copy page Money in: add funds to an AutoPayKe balance from mobile money, card or bank transfer, then follow the top-up until it is credited. GET Get top-up options /api/v1/funding/options POST Top up with mobile money /api/v1/funding/mobile-money POST Top up with a card /api/v1/funding/card POST Top up by bank transfer /api/v1/funding/bank GET List banks for bank top-ups /api/v1/funding/bank/institutions GET Get a top-up /api/v1/funding/{id} GET Stream a top-up /api/v1/funding/{id}/live Every endpoint here needs Authorization: Bearer for a signed-in AutoPayKe account. See Authentication . Get top-up options GET /api/v1/funding/options Bearer token Which top-up methods are switched on right now, their limits, and the card hold periods. Read this before showing a top-up screen and hide the methods that are false. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/funding/options" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" Response 200 application/json { "ok" : true , "data" : { "card" : false , "mobileMoney" : true , "mobileMoneyLimitsKes" : { "min" : 10 , "max" : 150000 }, "bank" : false , "bankCountries" : [], "bankLimitsNgn" : null , "fromAbroad" : false , "paymentLinks" : true , "cardHoldHoursNewUser" : 72 , "cardHoldHoursNewCard" : 24 , "cardDailyLimitUsd" : 500 , "firstCardDailyLimitUsd" : 100 } } Top up with mobile money POST /api/v1/funding/mobile-money Bearer token 10 top-ups per minute per IP address. Sends a payment prompt to the phone. The customer approves it with their mobile money PIN and the balance is credited in USDC at the quoted rate. Availability. Live in Kenya for M-Pesa. The per-top-up limits in force are mobileMoneyLimitsKes from Get top-up options. Body (JSON) amount string required Major units with up to 2 decimals, e.g. "1500". currency string optional Defaults to the currency of the account's country (KES in Kenya). country string optional Defaults to the account's country. phone string required The paying phone, international format. operator string optional Operator code from /capabilities. idempotencyKey string optional 8–80 characters. You can send it as the Idempotency-Key header instead. Request cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/funding/mobile-money" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "amount": "1500", "phone": "+254712345678", "operator": "Safaricom", "idempotencyKey": "topup-2026-11-03-0001" }' Response 201 application/json { "ok" : true , "data" : { "id" : "3e5b2a90-8c1d-4f6e-b0a2-1c9d7e4f5a33" , "method" : "mobile_money" , "status" : "processing" , "localAmount" : "150000" , "localCurrency" : "KES" , "chargeAmount" : "150000" , "chargeCurrency" : "KES" , "feeAmount" : "0" , "feeCurrency" : "KES" , "creditAmountUsdc" : "11360000" , "fxRate" : "132.04" , "checkoutUrl" : null , "stepRequired" : "Approve the M-Pesa prompt on your phone" , "virtualAccount" : null , "failureReason" : null , "holdUntil" : null , "card" : null , "reference" : "APK-TP-8F3K2Q" , "expiresAt" : "2026-11-03T09:15:00.000Z" , "createdAt" : "2026-11-03T09:10:00.000Z" , "creditedAt" : null , "progress" : { "stages" : [ { "key" : "requested" , "title" : "Payment requested" , "detail" : "We sent a prompt to +254 712 ••• 678" , "state" : "done" , "at" : "2026-11-03T09:10:00.000Z" }, { "key" : "payer" , "title" : "Waiting for approval" , "detail" : "Approve the prompt with your M-Pesa PIN" , "state" : "active" , "at" : null }, { "key" : "credited" , "title" : "In your balance" , "detail" : "" , "state" : "pending" , "at" : null } ], "terminal" : false , "hint" : "This usually takes under a minute." } } } Top up with a card POST /api/v1/funding/card Bearer token 10 top-ups per minute per IP address. Creates a hosted checkout and returns its checkoutUrl. Send the customer there; card details never touch your servers or ours. Availability. Switched off today: /funding/options returns card: false. New cards are held before they can be withdrawn. Body (JSON) amount string required Major units with up to 2 decimals. currency string optional Defaults to the account's currency. country string optional Defaults to the account's country. firstName string optional Prefills checkout. lastName string optional Prefills checkout. email string optional Prefills checkout. idempotencyKey string optional 8–80 characters. Request cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/funding/card" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "amount": "50", "currency": "USD", "email": "amina@example.com" }' Response 201 application/json { "ok" : true , "data" : { "id" : "c0a4e1d2-5b6f-4c3a-9e8d-7f1a2b3c4d55" , "method" : "card" , "status" : "pending" , "localAmount" : "5000" , "localCurrency" : "USD" , "chargeAmount" : "5000" , "chargeCurrency" : "USD" , "feeAmount" : "0" , "feeCurrency" : "USD" , "creditAmountUsdc" : "50000000" , "fxRate" : null , "checkoutUrl" : "https://checkout.example.com/s/…" , "stepRequired" : null , "virtualAccount" : null , "failureReason" : null , "holdUntil" : "2026-11-06T09:10:00.000Z" , "card" : null , "reference" : "APK-TP-2M9W4D" , "expiresAt" : "2026-11-03T09:15:00.000Z" , "createdAt" : "2026-11-03T09:10:00.000Z" , "creditedAt" : null , "progress" : { "stages" : [ { "key" : "requested" , "title" : "Payment requested" , "detail" : "We sent a prompt to +254 712 ••• 678" , "state" : "done" , "at" : "2026-11-03T09:10:00.000Z" }, { "key" : "payer" , "title" : "Waiting for approval" , "detail" : "Approve the prompt with your M-Pesa PIN" , "state" : "active" , "at" : null }, { "key" : "credited" , "title" : "In your balance" , "detail" : "" , "state" : "pending" , "at" : null } ], "terminal" : false , "hint" : "This usually takes under a minute." } } } Top up by bank transfer POST /api/v1/funding/bank Bearer token 10 top-ups per minute per IP address. Returns a bank account to transfer into, the exact amount and when it expires. Bank top-ups are in Nigerian naira today. Availability. Switched off today: /funding/options returns bank: false. Body (JSON) amount string required Major units. currency string optional Defaults to NGN. country string optional Defaults to NG. refundAccount object optional The payer's own account { bankCode, accountNumber (10 digits), accountName }: where money goes back if the top-up can't finish. idempotencyKey string optional 8–80 characters. Request cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/funding/bank" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "amount": "20000", "refundAccount": { "bankCode": "058", "accountNumber": "0123456789" } }' Response 201 application/json { "ok" : true , "data" : { "id" : "9d2c7b1a-0e4f-4a5b-8c6d-2e3f4a5b6c77" , "method" : "bank" , "status" : "pending" , "localAmount" : "2000000" , "localCurrency" : "NGN" , "chargeAmount" : "2000000" , "chargeCurrency" : "NGN" , "feeAmount" : "0" , "feeCurrency" : "NGN" , "creditAmountUsdc" : "13020000" , "fxRate" : "1536.10" , "checkoutUrl" : null , "stepRequired" : null , "virtualAccount" : { "bankName" : "Example Bank" , "accountName" : "AutoPayKe Top-up" , "accountNumber" : "9900112233" , "amount" : "2000000" , "amountText" : "₦20,000.00" , "currency" : "NGN" , "expiresAt" : "2026-11-03T10:10:00.000Z" , "note" : "Send the exact amount in one transfer." }, "failureReason" : null , "holdUntil" : null , "card" : null , "reference" : "APK-TP-7Q1L8N" , "expiresAt" : "2026-11-03T10:10:00.000Z" , "createdAt" : "2026-11-03T09:10:00.000Z" , "creditedAt" : null , "progress" : { "stages" : [ { "key" : "requested" , "title" : "Payment requested" , "detail" : "We sent a prompt to +254 712 ••• 678" , "state" : "done" , "at" : "2026-11-03T09:10:00.000Z" }, { "key" : "payer" , "title" : "Waiting for approval" , "detail" : "Approve the prompt with your M-Pesa PIN" , "state" : "active" , "at" : null }, { "key" : "credited" , "title" : "In your balance" , "detail" : "" , "state" : "pending" , "at" : null } ], "terminal" : false , "hint" : "This usually takes under a minute." } } } List banks for bank top-ups GET /api/v1/funding/bank/institutions Bearer token The banks a payer can transfer from. Empty while bank top-ups are switched off. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/funding/bank/institutions" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" Response 200 application/json { "ok" : true , "data" : { "banks" : [] } } Get a top-up GET /api/v1/funding/{id} Bearer token The top-up now. Poll every 2 seconds while it's on screen, or use the live stream below. Final statuses: credited, failed, expired, cancelled, reversed. Path parameters id string required The top-up id (UUID). Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/funding/3e5b2a90-8c1d-4f6e-b0a2-1c9d7e4f5a33" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" Response 200 application/json { "ok" : true , "data" : { "id" : "3e5b2a90-8c1d-4f6e-b0a2-1c9d7e4f5a33" , "method" : "mobile_money" , "status" : "credited" , "localAmount" : "150000" , "localCurrency" : "KES" , "chargeAmount" : "150000" , "chargeCurrency" : "KES" , "feeAmount" : "0" , "feeCurrency" : "KES" , "creditAmountUsdc" : "11360000" , "fxRate" : "132.04" , "checkoutUrl" : null , "stepRequired" : null , "virtualAccount" : null , "failureReason" : null , "holdUntil" : null , "card" : null , "reference" : "APK-TP-8F3K2Q" , "expiresAt" : "2026-11-03T09:15:00.000Z" , "createdAt" : "2026-11-03T09:10:00.000Z" , "creditedAt" : "2026-11-03T09:10:41.000Z" , "progress" : { "stages" : [ { "key" : "requested" , "title" : "Payment requested" , "detail" : "We sent a prompt to +254 712 ••• 678" , "state" : "done" , "at" : "2026-11-03T09:10:00.000Z" }, { "key" : "payer" , "title" : "Approved" , "detail" : "" , "state" : "done" , "at" : "2026-11-03T09:10:31.000Z" }, { "key" : "credited" , "title" : "In your balance" , "detail" : "" , "state" : "done" , "at" : "2026-11-03T09:10:41.000Z" } ], "terminal" : true , "hint" : null } } } Stream a top-up GET /api/v1/funding/{id}/live Bearer token Server-sent events: one event with the top-up now, then one on every change, until it is credited or fails. Each event's data is the same object Get a top-up returns. Path parameters id string required The top-up id (UUID). Request cURL JavaScript Python curl -N "https://api.autopayke.com/api/v1/funding/3e5b2a90-8c1d-4f6e-b0a2-1c9d7e4f5a33/live" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" Response 200 text/event-stream data: {"id":"3e5b2a90-…","status":"processing","progress":{"terminal":false,…}} data: {"id":"3e5b2a90-…","status":"credited","progress":{"terminal":true,…}} Previous Payment links (payer) Next Balance © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Balance · AutoPayKe API reference URL: https://www.autopayke.com/developers/api/balance What the account holds, what it can send and withdraw, and anything on hold. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference API reference Overview Account, balance and banks Payouts Recipients Transactions and receipts Events Webhook endpoints Sandbox Capabilities Fees Payment links (payer) Top-ups Balance GET Get the balance Payout accounts Saved cards Payment requests Docs API reference Balance Copy page What the account holds, what it can send and withdraw, and anything on hold. GET Get the balance /api/v1/balance Every endpoint here needs Authorization: Bearer for a signed-in AutoPayKe account. See Authentication . Get the balance GET /api/v1/balance Bearer token Amounts are USDC-equivalent minor units (6 decimals). display repeats them in the account's local currency at the current rate, for showing to people. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/balance" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" Response 200 application/json { "ok" : true , "data" : { "total" : "125400000" , "availableToSend" : "125400000" , "availableToWithdraw" : "100400000" , "onHold" : [ { "amount" : "25000000" , "releaseAt" : "2026-11-05T12:00:00.000Z" , "reason" : "card_new_card" } ], "onHoldTotal" : "25000000" , "display" : { "currency" : "KES" , "rate" : "129.10" , "total" : "16189.14" , "availableToSend" : "16189.14" , "availableToWithdraw" : "12961.64" , "onHoldTotal" : "3227.50" } } } Previous Top-ups Next Payout accounts © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Payout accounts · AutoPayKe API reference URL: https://www.autopayke.com/developers/api/destinations Saved places to send money out to: mobile money numbers and bank accounts, with the name on the account checked before you save it. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference API reference Overview Account, balance and banks Payouts Recipients Transactions and receipts Events Webhook endpoints Sandbox Capabilities Fees Payment links (payer) Top-ups Balance Payout accounts GET List payout accounts POST Check the name on an account POST Save a payout account PATCH Rename a payout account POST Make an account the default DEL Delete a payout account Saved cards Payment requests Docs API reference Payout accounts Copy page Saved places to send money out to: mobile money numbers and bank accounts, with the name on the account checked before you save it. GET List payout accounts /api/v1/wallet/destinations POST Check the name on an account /api/v1/wallet/destinations/resolve-name POST Save a payout account /api/v1/wallet/destinations PATCH Rename a payout account /api/v1/wallet/destinations/{id} POST Make an account the default /api/v1/wallet/destinations/{id}/default DEL Delete a payout account /api/v1/wallet/destinations/{id} Every endpoint here needs Authorization: Bearer for a signed-in AutoPayKe account. See Authentication . List payout accounts GET /api/v1/wallet/destinations Bearer token Every saved account, the default first. Only the last four digits of a number are ever returned. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/wallet/destinations" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" Response 200 application/json { "ok" : true , "data" : [ { "id" : "f1e2d3c4-b5a6-4789-8abc-def012345678" , "type" : "mobile_money" , "country" : "KE" , "currency" : "KES" , "operator" : "Safaricom" , "bankCode" : null , "bankName" : null , "accountNumberLast4" : "5678" , "accountName" : "AMINA WANJIKU" , "nameMatchStatus" : "matched" , "isDefault" : true , "usableForWithdrawals" : true , "nickname" : "My M-Pesa" , "holderName" : "Amina Wanjiku" , "owner" : "self" , "lastUsedAt" : "2026-11-01T16:20:00.000Z" , "useCount" : 12 } ] } Check the name on an account POST /api/v1/wallet/destinations/resolve-name Bearer token 20 requests per 5 minutes per IP address (shared with saving). Looks up the registered name for a number or bank account before you save it, so people can confirm they have the right one. Body (JSON) type string required Kind of account. mobile_money bank country string required ISO 3166-1 alpha-2. currency string required ISO 4217. accountNumber string required 5–34 characters: the phone number for mobile money. operator string optional Operator code, for mobile money. bankCode string optional Bank code, for bank accounts. bankName string optional Bank name, for bank accounts. Request cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/wallet/destinations/resolve-name" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "type": "mobile_money", "country": "KE", "currency": "KES", "accountNumber": "0712345678", "operator": "Safaricom" }' Response 200 application/json { "ok" : true , "data" : { "accountName" : "AMINA WANJIKU" , "nameMatchStatus" : "matched" , "legalName" : "Amina Wanjiku" } } Save a payout account POST /api/v1/wallet/destinations Bearer token 20 requests per 5 minutes per IP address. Saves the account. Same body as checking the name, plus makeDefault. Availability. Bank payouts (PesaLink) are built but not live yet: bank accounts can be saved, and usableForWithdrawals tells you whether one can be paid today. Body (JSON) type string required Kind of account. mobile_money bank country string required ISO 3166-1 alpha-2. currency string required ISO 4217. accountNumber string required 5–34 characters. operator string optional Operator code, for mobile money. bankCode string optional Bank code, for bank accounts. bankName string optional Bank name, for bank accounts. makeDefault boolean optional Make this the default payout account. Request cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/wallet/destinations" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "type": "mobile_money", "country": "KE", "currency": "KES", "accountNumber": "0712345678", "operator": "Safaricom", "makeDefault": true }' Response 201 application/json { "ok" : true , "data" : { "destination" : { "id" : "f1e2d3c4-b5a6-4789-8abc-def012345678" , "type" : "mobile_money" , "country" : "KE" , "currency" : "KES" , "operator" : "Safaricom" , "bankCode" : null , "bankName" : null , "accountNumberLast4" : "5678" , "accountName" : "AMINA WANJIKU" , "nameMatchStatus" : "matched" , "isDefault" : true , "usableForWithdrawals" : true , "nickname" : "My M-Pesa" , "holderName" : "Amina Wanjiku" , "owner" : "self" , "lastUsedAt" : "2026-11-01T16:20:00.000Z" , "useCount" : 12 }, "defaultRefused" : false } } makeDefault is only honoured when the name on the account matches the account holder; defaultRefused tells you it wasn't. Rename a payout account PATCH /api/v1/wallet/destinations/{id} Bearer token Change the nickname, or correct the name on the account. Send at least one field. Path parameters id string required The account id. Body (JSON) nickname string | null optional Up to 40 characters; null clears it. holderName string optional 2–100 characters. Request cURL JavaScript Python curl -X PATCH "https://api.autopayke.com/api/v1/wallet/destinations/f1e2d3c4-b5a6-4789-8abc-def012345678" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "nickname": "Shop M-Pesa" }' Response 200 application/json { "ok" : true , "data" : { "id" : "f1e2d3c4-b5a6-4789-8abc-def012345678" , "type" : "mobile_money" , "country" : "KE" , "currency" : "KES" , "operator" : "Safaricom" , "bankCode" : null , "bankName" : null , "accountNumberLast4" : "5678" , "accountName" : "AMINA WANJIKU" , "nameMatchStatus" : "matched" , "isDefault" : true , "usableForWithdrawals" : true , "nickname" : "Shop M-Pesa" , "holderName" : "Amina Wanjiku" , "owner" : "self" , "lastUsedAt" : "2026-11-01T16:20:00.000Z" , "useCount" : 12 } } Make an account the default POST /api/v1/wallet/destinations/{id}/default Bearer token The default account is preselected for withdrawals. Path parameters id string required The account id. Request cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/wallet/destinations/f1e2d3c4-b5a6-4789-8abc-def012345678/default" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" Response 200 application/json { "ok" : true , "data" : { "id" : "f1e2d3c4-b5a6-4789-8abc-def012345678" , "type" : "mobile_money" , "country" : "KE" , "currency" : "KES" , "operator" : "Safaricom" , "bankCode" : null , "bankName" : null , "accountNumberLast4" : "5678" , "accountName" : "AMINA WANJIKU" , "nameMatchStatus" : "matched" , "isDefault" : true , "usableForWithdrawals" : true , "nickname" : "My M-Pesa" , "holderName" : "Amina Wanjiku" , "owner" : "self" , "lastUsedAt" : "2026-11-01T16:20:00.000Z" , "useCount" : 12 } } Delete a payout account DEL /api/v1/wallet/destinations/{id} Bearer token Removes a saved account. Payments already made to it are not affected. Path parameters id string required The account id. Request cURL JavaScript Python curl -X DELETE "https://api.autopayke.com/api/v1/wallet/destinations/f1e2d3c4-b5a6-4789-8abc-def012345678" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" Response 200 application/json { "ok" : true , "data" : { "deleted" : true } } Previous Balance Next Saved cards © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Saved cards · AutoPayKe API reference URL: https://www.autopayke.com/developers/api/cards References to cards used for top-ups: brand and last four digits only. Cards are saved by the hosted checkout, never by posting card details. Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference API reference Overview Account, balance and banks Payouts Recipients Transactions and receipts Events Webhook endpoints Sandbox Capabilities Fees Payment links (payer) Top-ups Balance Payout accounts Saved cards GET List saved cards GET Get a saved card DEL Remove a saved card Payment requests Docs API reference Saved cards Copy page References to cards used for top-ups: brand and last four digits only. Cards are saved by the hosted checkout, never by posting card details. GET List saved cards /api/v1/wallet/cards GET Get a saved card /api/v1/wallet/cards/{id} DEL Remove a saved card /api/v1/wallet/cards/{id} Every endpoint here needs Authorization: Bearer for a signed-in AutoPayKe account. See Authentication . List saved cards GET /api/v1/wallet/cards Bearer token Cards saved from earlier card top-ups. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/wallet/cards" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" Response 200 application/json { "ok" : true , "data" : [ { "id" : "0c1d2e3f-4a5b-4c6d-8e7f-90a1b2c3d4e5" , "brand" : "visa" , "last4" : "4242" , "holderName" : "Amina Wanjiku" , "expiryMonth" : 8 , "expiryYear" : 2028 , "status" : "active" , "addedAt" : "2026-10-12T08:30:00.000Z" , "topUps" : 3 } ] } Get a saved card GET /api/v1/wallet/cards/{id} Bearer token One card, with the daily card top-up limit that applies to it. Path parameters id string required The card id. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/wallet/cards/0c1d2e3f-4a5b-4c6d-8e7f-90a1b2c3d4e5" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" Response 200 application/json { "ok" : true , "data" : { "id" : "0c1d2e3f-4a5b-4c6d-8e7f-90a1b2c3d4e5" , "brand" : "visa" , "last4" : "4242" , "holderName" : "Amina Wanjiku" , "expiryMonth" : 8 , "expiryYear" : 2028 , "status" : "active" , "addedAt" : "2026-10-12T08:30:00.000Z" , "topUps" : 3 , "dailyLimitUsd" : 500 } } Remove a saved card DEL /api/v1/wallet/cards/{id} Bearer token Forgets the card reference. Path parameters id string required The card id. Request cURL JavaScript Python curl -X DELETE "https://api.autopayke.com/api/v1/wallet/cards/0c1d2e3f-4a5b-4c6d-8e7f-90a1b2c3d4e5" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" Response 200 application/json { "ok" : true , "data" : { "removed" : true } } POST /api/v1/wallet/cards always answers 405 NOT_SUPPORTED: cards are saved only after a hosted-checkout payment. Previous Payout accounts Next Payment requests © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # Payment requests · AutoPayKe API reference URL: https://www.autopayke.com/developers/api/payment-requests Ask anyone to pay you: create a link, share it, and see when it's paid. The payer side is under Payment links (payer). Skip to content AutoPayKe Docs Get started Using the API Moving money Build API reference 🇬🇧 EN Console Get started Search Ctrl K Get started Using the API Moving money Build API reference API reference Overview Account, balance and banks Payouts Recipients Transactions and receipts Events Webhook endpoints Sandbox Capabilities Fees Payment links (payer) Top-ups Balance Payout accounts Saved cards Payment requests POST Create a payment request GET List payment requests POST Cancel a payment request Docs API reference Payment requests Copy page Ask anyone to pay you: create a link, share it, and see when it's paid. The payer side is under Payment links (payer). POST Create a payment request /api/v1/payment-requests GET List payment requests /api/v1/payment-requests POST Cancel a payment request /api/v1/payment-requests/{id}/cancel Every endpoint here needs Authorization: Bearer for a signed-in AutoPayKe account. See Authentication . Create a payment request POST /api/v1/payment-requests Bearer token Creates a shareable link at /p/{code}. When it's paid the money is credited to this account's balance. Body (JSON) amount string required Major units with up to 2 decimals. currency string optional Defaults to the account's currency. description string optional Up to 140 characters, shown to the payer. allowedMethods string[] required At least one. Only methods live at pay time are offered. card mobile_money bank cardFeePayer string optional Who pays the card fee. Default customer. customer owner expiresInDays integer optional 1–30, default 7. Request cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/payment-requests" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "amount": "2500", "description": "Invoice 1042: fertiliser", "allowedMethods": [ "mobile_money" ], "expiresInDays": 7 }' Response 201 application/json { "ok" : true , "data" : { "id" : "5a6b7c8d-9e0f-4a1b-8c2d-3e4f5a6b7c8d" , "code" : "Kq7mZp2xA" , "amount" : "250000" , "currency" : "KES" , "description" : "Invoice 1042: fertiliser" , "allowedMethods" : [ "mobile_money" ], "cardFeePayer" : "customer" , "status" : "active" , "expiresAt" : "2026-11-10T09:00:00.000Z" , "paidAt" : null , "createdAt" : "2026-11-03T09:00:00.000Z" , "url" : "https://www.autopayke.com/p/Kq7mZp2xA" } } List payment requests GET /api/v1/payment-requests Bearer token This account's requests, newest first. status is active, paid, expired or cancelled. Request cURL JavaScript Python curl "https://api.autopayke.com/api/v1/payment-requests" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" Response 200 application/json { "ok" : true , "data" : [ { "id" : "5a6b7c8d-9e0f-4a1b-8c2d-3e4f5a6b7c8d" , "code" : "Kq7mZp2xA" , "amount" : "250000" , "currency" : "KES" , "description" : "Invoice 1042: fertiliser" , "allowedMethods" : [ "mobile_money" ], "cardFeePayer" : "customer" , "status" : "paid" , "expiresAt" : "2026-11-10T09:00:00.000Z" , "paidAt" : "2026-11-03T11:42:00.000Z" , "createdAt" : "2026-11-03T09:00:00.000Z" , "url" : "https://www.autopayke.com/p/Kq7mZp2xA" } ] } Cancel a payment request POST /api/v1/payment-requests/{id}/cancel Bearer token The link stops accepting payments straight away. Path parameters id string required The request id. Request cURL JavaScript Python curl -X POST "https://api.autopayke.com/api/v1/payment-requests/5a6b7c8d-9e0f-4a1b-8c2d-3e4f5a6b7c8d/cancel" \ -H "Authorization: Bearer $AUTOPAYKE_TOKEN" Response 200 application/json { "ok" : true , "data" : { "id" : "5a6b7c8d-9e0f-4a1b-8c2d-3e4f5a6b7c8d" , "code" : "Kq7mZp2xA" , "amount" : "250000" , "currency" : "KES" , "description" : "Invoice 1042: fertiliser" , "allowedMethods" : [ "mobile_money" ], "cardFeePayer" : "customer" , "status" : "cancelled" , "expiresAt" : "2026-11-10T09:00:00.000Z" , "paidAt" : null , "createdAt" : "2026-11-03T09:00:00.000Z" , "url" : "https://www.autopayke.com/p/Kq7mZp2xA" } } Previous Saved cards © 2026 AutoPayKe Limited · Nairobi AutoPayKe.com Status Security Terms Privacy autopayke@gmail.com --- # About AutoPayKe: Phone-First Money For Africa URL: https://www.autopayke.com/about AutoPayKe Limited builds phone-number-first money for Africa: funds you control, secure escrow and local settlement. Here's who we are and what is actually live. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App About us We're Building Money That Moves Like a Text Message AutoPayKe is a phone-number-first money app for Africa. Your number is your account: no email, no password, no seed phrase. The settlement technology underneath stays out of your way. You just see your balance and where your money went. Why Sending Money Home Should Not Take Three Days Moving money across African borders still means correspondent banks, SWIFT codes, branch visits and $5–$15 in fees for a transfer that takes one to three business days. Meanwhile almost everyone already has a phone number and a mobile money account. So we built the shortest path between those two facts: type a phone number, type an amount, and the money settles in seconds on the rail the recipient already uses. The settlement layer that makes it fast stays invisible. How we work Honest About What Is Live Fintech marketing tends to describe roadmaps in the present tense. We'd rather not. Every feature on this site is labelled by what it actually does today, and anything still in build says so, including on our own pricing and coverage pages. Send to any phone number Live Live in Kenya, Ghana, Nigeria and Uganda. Non-users get a claim link and 7 days before an automatic refund, except in Nigeria, where claim payouts are still being finished. Funds you control Live Every user gets their own secure, self-custodied account, deployed automatically on first login. Withdraw & Merchant Pay Live Withdraw is live wherever Send is. Merchant Pay is live in Kenya today (Till and PayBill), with more markets rolling out as partner coverage is confirmed. Agent permissioning Foundation We're building the spending limits, allowlists and audit trail that would let software agents move money safely. Nothing user-facing yet. The company AutoPayKe Limited Compliance status shown here is current as of this page's last update and will change as processes complete. AutoPayKe Limited is incorporated under the laws of Kenya and operates from Nairobi. We are a payments technology provider, not a bank: local currency payouts are executed by licensed mobile money and banking partners in each market. Our PSP licensing conversation with the Central Bank of Kenya and our data protection registration with the ODPC are both in progress. We do not describe ourselves as licensed or regulated until those are finalised, and we won't claim a completed smart contract audit until one exists. Reach us at autopayke@gmail.com or @AutoPayKe on X . Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Talk to us AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Security: Non-Custodial Wallets, On-Chain Escrow | AutoPayKe URL: https://www.autopayke.com/security How AutoPayKe protects your money: ERC-4337 smart wallets you control, on-chain escrow with automatic refunds, hashed phone lookups, and an honest account of what isn't done yet. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Security Verifiable, Not Just Reassuring We avoid phrases like bank-level security, because they can't be checked. Instead, here is exactly how the system is built, what you can verify yourself on-chain, and what we haven't finished. Architecture You Hold The Wallet Non-custodial by design Every user has their own ERC-4337 smart contract wallet on Avalanche C-Chain. Our relayer can only execute calls the wallet authorises. It never holds your funds. Escrow, not a black box Money sent to a non-user sits in an on-chain escrow contract with a fixed 7-day expiry and automatic refund. That's enforced by code, publicly. Privacy-preserving lookup The phone-to-wallet registry stores a one-way hash of the number, never the number itself. Gasless transactions A paymaster sponsors network fees, so you don't need to manage a gas balance to protect your access to your own money. Transparency What You Can Check Yourself Every transaction (wallet addresses, amounts, timestamps) is recorded publicly on Avalanche. Your personal identity is not: phone numbers only ever appear on-chain as one-way hashes. Settlement is multi-asset in USDC and USDT, both pegged 1:1 to the US dollar, plus native AVAX. AutoPayKe runs on Avalanche mainnet, see "What Isn't Done Yet" below for what still has to close out, including the independent security audit. Honest gaps What Isn't Done Yet We update this section as each item closes. Smart contract audit Outstanding An external audit has not been completed. It's on the roadmap and the report will be published when it exists. Identity verification Outstanding We collect KYC details but full document and liveness verification with a licensed vendor is not yet integrated, so we don't claim verified identity. Licensing In progress PSP licensing with the Central Bank of Kenya and ODPC data protection registration are in progress, not complete. Recipient name checks Rail limit No rail we use supports recipient-name verification today. Always confirm the number before you send. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Talk to us AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # Support: Get Help With AutoPayKe URL: https://www.autopayke.com/support Contact the AutoPayKe team, check what to do about a pending transfer or an unclaimed link, and see where the product is available today. Personal Business AutoPayKe Personal Business Guides Company 🇬🇧 EN Sign in Launch Launch App Personal Send money Any phone number, across Africa Receive & Passport QR Your number, your QR code Add money Top up from M-Pesa in seconds Cash out M-Pesa or any of 40 Kenyan banks Wallet Non-custodial USDC, USDT & AVAX Business Farmers New How farmers get paid, kilo by kilo Cooperatives Pay farmers with proof, lot by lot Merchant Pay Live in Kenya Till and PayBill from your wallet Settlement tracking Every step, on the record Fees How AutoPayKe makes money Guides Send money to Kenya New From the USA, UK, Europe, the Gulf and more USDC to M-Pesa Cash out stablecoins in shillings Kenyan banks 40 banks and SACCOs over PesaLink Till & PayBill Pay bills and shops from your balance FAQ Fees, speed, limits and safety Developers Public coverage and fees API Company About us Who we are and why we build Security Non-custodial, escrow, on-chain Support Talk to a human 🇬🇧 English Sign in Launch App Support Talk To A Human Submit a ticket below and our team will reply by email, no phone queue, no ticket robot reading from a script. Contact Send Us A Message AutoPayKe will never ask you for a one-time code, and no one from our team will ever ask you to send money to a wallet address to "verify" your account. Something not working? Check whether we already know about it before you write in. System status Checking service status… Name Email address What's this about? Payment or transfer Account Identity verification Technical issue Something else Subject Message Send message We use your details only to reply to this ticket. Common questions Before You Write In My transfer says routed to rail Open the transaction to see its live timeline and reference number. Payouts to mobile money settle in seconds, but a rail can queue briefly at peak times. The recipient hasn't claimed Claim links last 7 days. If nobody claims it, the escrow contract refunds you automatically, no request needed. I sent to the wrong number If it went to a non-user, it stays in escrow and returns to you after 7 days. If it reached an existing wallet, contact us immediately, but we cannot reverse a settled on-chain transfer. My country isn't listed Send is live in Kenya, Ghana, Nigeria and Uganda (Nigeria for existing AutoPayKe users only, while we finish claim payouts for new numbers). Sign up now: you can create your account today and we'll notify you as soon as your corridor opens. Your phone number is all you need Create your account with your phone number. You're sending in minutes. Get started Talk to us AutoPayKe Farmer payments you can see, and money that moves like a text message. Phone-first payments for Africa. Get Announcements New corridors, product updates and rate changes, straight to your inbox, no account required. @AutoPayKe on X autopayke@gmail.com Personal Send money Receive & Passport QR Add money Cash out to bank Wallet Business Farmers Cooperatives Merchant Pay Settlement tracking Fees Guides Send money to Kenya From the USA From the UK From Italy USDC to M-Pesa Kenyan banks Till & PayBill All guides Developers API docs FAQ Company About us Security Support System status AutoPayKe Limited is incorporated under the laws of Kenya. AutoPayKe is a payments technology provider and not a bank. Local currency payouts are executed by licensed mobile money and banking partners in each market. Stablecoin balances are held in non-custodial smart wallets on the Avalanche C-Chain; digital asset values may fluctuate and services are available only in supported countries. Smart contracts have not yet completed an external security audit. © 2026 AutoPayKe Limited. All rights reserved. Privacy Policy Terms of Service System status 🇬🇧 English --- # AutoPayKe Status URL: https://www.autopayke.com/status Live status of AutoPayKe services: sign-in, transfers, cash-out, merchant payments and more, with incident history and scheduled maintenance. AutoPayKe Status Get help Report a problem Past Incidents Incident history Powered by AutoPayKe All times are East Africa Time (EAT, UTC+3).