# M-Pesa (Safaricom Daraja) > M-Pesa is Safaricom's mobile-money platform for Kenya, exposed to developers through the Daraja API. The Daraja REST APIs collect payments (M-Pesa Express / STK Push, C2B), disburse funds (B2C, B2B), query transactions and balances, reverse payments, generate dynamic QR codes, remit taxes to the KRA, and run standing orders (Ratiba) — authorized with OAuth bearer tokens minted from Basic credentials, priced in Kenyan Shillings (KES). This llms.txt was generated by API Evangelist from the repository catalog. Safaricom does not publish a first-party llms.txt. ## APIs - [Authorization API](https://developer.safaricom.co.ke/APIs/Authorization): Mint a short-lived OAuth access token (GET /oauth/v1/generate). - [M-Pesa Express (STK Push)](https://developer.safaricom.co.ke/APIs/MpesaExpressSimulate): Push a PIN prompt to a customer to authorize a paybill/till payment. - [Customer To Business (C2B)](https://developer.safaricom.co.ke/APIs/CustomerToBusinessRegisterURL): Register validation/confirmation URLs and receive inbound payments. - [Business To Customer (B2C)](https://developer.safaricom.co.ke/APIs/BusinessToCustomer): Disburse funds to customer wallets. - [Business To Business (B2B)](https://developer.safaricom.co.ke/APIs/BusinessPayBill): Move funds between business shortcodes. - [B2B Express Checkout (USSD Push)](https://developer.safaricom.co.ke/APIs/B2BExpressCheckout): USSD push to authorize a till-to-paybill payment. - [Transaction Status](https://developer.safaricom.co.ke/APIs/TransactionStatus): Query the status of a transaction. - [Account Balance](https://developer.safaricom.co.ke/APIs/AccountBalance): Query a shortcode balance. - [Reversal](https://developer.safaricom.co.ke/APIs/Reversal): Reverse a transaction. - [Dynamic QR Code](https://developer.safaricom.co.ke/APIs/DynamicQRCode): Generate a scannable payment QR. - [Tax Remittance](https://developer.safaricom.co.ke/APIs/TaxRemittance): Remit taxes to the KRA. - [M-Pesa Ratiba (Standing Order)](https://developer.safaricom.co.ke/APIs/MpesaRatiba): Create recurring collection standing orders. ## Specs - [OpenAPI 3.0](https://raw.githubusercontent.com/api-evangelist/mpesa/refs/heads/main/openapi/mpesa-openapi.yml): 14 operations, modeled from the public Daraja documentation. - [AsyncAPI (webhook/callback surface)](https://raw.githubusercontent.com/api-evangelist/mpesa/refs/heads/main/asyncapi/mpesa-callbacks-asyncapi.yml): the result/validation/confirmation callbacks Daraja POSTs to your hosted URLs. - [Postman collection](https://raw.githubusercontent.com/api-evangelist/mpesa/refs/heads/main/collections/mpesa.postman_collection.json) ## Docs - [Daraja Developer Portal](https://developer.safaricom.co.ke/) - [API reference](https://developer.safaricom.co.ke/APIs) - [Authentication profile](https://raw.githubusercontent.com/api-evangelist/mpesa/refs/heads/main/authentication/mpesa-authentication.yml) - [API conventions](https://raw.githubusercontent.com/api-evangelist/mpesa/refs/heads/main/conventions/mpesa-conventions.yml) - [Sandbox / test credentials](https://raw.githubusercontent.com/api-evangelist/mpesa/refs/heads/main/sandbox/mpesa-sandbox.yml) - [Transaction result codes](https://raw.githubusercontent.com/api-evangelist/mpesa/refs/heads/main/errors/mpesa-result-codes.yml) - [API error catalog](https://raw.githubusercontent.com/api-evangelist/mpesa/refs/heads/main/errors/mpesa-problem-types.yml)