Skip to content
LevaPay

The MonCash API to send money to wallets in Haiti

Connect your remittance, payments or fintech app to MonCash with a simple REST API: quote, send and track every transfer until the money reaches the recipient’s wallet.

  • Free TEST sandbox
  • 3.5% per transfer, no monthly fee
  • The same API works for NatCash

What is the LevaPay MonCash API?

MonCash is the most widely used mobile wallet in Haiti: millions of people receive and keep money on their phone with it. The LevaPay MonCash API lets your platform send gourdes (HTG) to any MonCash wallet using only the recipient’s Haitian phone number.

Instead of building and maintaining a separate connection to each network, your system talks to a single REST API. You quote the transfer, see the exact total that will be debited from your prepaid balance, confirm it and check its status. LevaPay delivers the money to the wallet.

It is built for companies that send money to Haiti: remittance apps operating from the Dominican Republic, the United States or elsewhere, digital wallets, P2P payment platforms and businesses that pay Haitian contractors or suppliers.

MonCash is a trademark of Digicel Haiti and NatCash is a trademark of Natcom. LevaPay is an independent service. The LevaPay API is for sending money (payouts) to MonCash wallets. It is not Digicel’s merchant API for accepting payments in an online store.

REST API for Haiti

How to send money to MonCash with the API

  1. 1

    Create your account and TEST keys

    Sign up for free and generate an API user and a test PRIVATE_KEY in the dashboard. The sandbox never moves real money.

    Free
  2. 2

    Quote the transfer

    Call POST /transfers/quote with network "moncash", the phone number and the amount in HTG. You get the fee, the total and a quote_id valid for about 120 seconds.

    POST /transfers/quote
  3. 3

    Confirm the transfer

    Send the quote_id to POST /transfers with a unique idempotency_key. If your system retries, you are never charged twice.

    POST /transfers
  4. 4

    Track the status

    MonCash may return pending while the deposit is confirmed. Call GET /transfers/{id} until the status is completed or failed.

    GET /transfers/{id}
MonCash API

Example: send 5,000 HTG to a MonCash wallet

Quote, send and check the status with the MonCash API in TEST mode. To move real money, replace /test/v1 with /prod/v1 and use your PROD keys.

  • Authentication with the X-Api-User and X-Api-Key headers
  • JSON responses with ok, data and message
  • Status polling until completed or failed
  • Up to 60 requests per minute per key
Read the docs
# 1) Quote
curl -X POST https://api.levapay.dev/test/v1/transfers/quote \
  -H "Content-Type: application/json" \
  -H "X-Api-User: your_api_user" \
  -H "X-Api-Key: your_PRIVATE_KEY" \
  -d '{"network":"moncash","wallet":"50937123456","amount_htg":5000}'

# 2) Send
curl -X POST https://api.levapay.dev/test/v1/transfers \
  -H "Content-Type: application/json" \
  -H "X-Api-User: your_api_user" \
  -H "X-Api-Key: your_PRIVATE_KEY" \
  -d '{"quote_id":"qt_...","idempotency_key":"order-10025"}'

# 3) Check the status (pending → completed)
curl https://api.levapay.dev/test/v1/transfers/tr_... \
  -H "X-Api-User: your_api_user" \
  -H "X-Api-Key: your_PRIVATE_KEY"

What to know about MonCash payouts

Wallet number

Use the Haitian phone number linked to MonCash: 8 digits, with or without the 509 prefix (for example 37123456 or 50937123456). Amounts are in gourdes, whole numbers, starting at 1 HTG.

pending, completed and failed

A MonCash transfer may stay pending for a moment while the deposit is confirmed. Your integration should check the status and show the final result to your customer. If the transfer fails, the amount goes back to your balance.

Account holder

Looking up the account holder name before sending is available for NatCash, not for MonCash. Ask the sender to confirm the number in your app before calling the API.

TEST mode

In the sandbox, MonCash transfers stay pending and the amount is reserved from your TEST balance, so you can test how your system handles a transfer that has not finished yet.

Note for the recipient

The note field (up to 64 characters) sets the text the recipient sees on the deposit, such as your app name or an order number.

Why use LevaPay for MonCash payouts

Exact total before sending

The quote shows amount, fee and total, so your customer knows what the recipient gets.

No duplicate charges

The required idempotency_key makes a retry return the same transfer instead of creating a new one.

Debited only when accepted

Your prepaid balance is charged only when the transfer is accepted.

MonCash and NatCash together

The same code works for both networks: only the network value changes.

Free sandbox

TEST keys to build and test without moving real money.

Dashboard for your business

Balance, transfer history, funding and API keys in one place.

MonCash API pricing

You pay 3.5% of each transfer, with no setup fee, no monthly fee and no funding fees. Fund your prepaid HTG balance by Banreservas bank transfer, USDT or Binance Pay. For example, for the recipient to get 5,000 HTG on MonCash:

Recipient gets
5,000.00 HTG
Fee (3.5%)
175.00 HTG
Total debited from your balance
5,175.00 HTG

See pricing and funding methods

Frequently asked questions

Is this the official MonCash API?

No. LevaPay is an independent service that lets businesses send money to MonCash wallets through its own API. MonCash is a trademark of Digicel Haiti.

Can I accept MonCash payments with this API?

No. The LevaPay API sends money to MonCash wallets (payouts). Accepting payments from customers in an online store is a merchant checkout product, which is different.

How long does a MonCash transfer take?

It is usually credited quickly, although it may stay pending for a moment. Call GET /transfers/{id} until the status is completed.

What happens if a transfer fails?

If the transfer is not accepted, your balance is not debited. If it fails after being accepted, the status changes to failed and the amount is returned to your balance.

What do I need to go live?

Request production access from the dashboard and complete the verification: representative details, an ID document and a selfie. TEST mode is available right after sign-up.

Which languages can I use with the MonCash API?

Any language that can make HTTPS requests: PHP, Node.js, Python, Java, Go or C#. The docs include examples in cURL, PHP and Node.js.

Can I also send to NatCash?

Yes. With the same integration you send to NatCash by setting network to "natcash", and you can also look up the account holder before sending.

Start sending to MonCash today

Create a free account, test the MonCash API in TEST mode and go live when you are ready.