Branded money, delivered intelligently

The Berkeley API, provides a Restful JSON API for clients to pay customers, suppliers, and employees, around the world via physical prepaid cards, virtual prepaid cards, and real-time transfers with DirectSend. Our PCI-compliant platform delivers real-time transactions using new payment rails and transfer services, supported by Visa and Mastercard. It is fast, secure, and reliable.

Base URLs

Staging Environment: <>

Production Environment: <>

Available endpoints

This API documentation includes details required to integrate to any of our product APIs, including:


This set of API endpoints allow you to create Prepaid Card Programs within the Berkeley Payments platform. You can issue physical or virtual Visa or Mastercard prepaid cards.


DirectSend enables real-time fund transferring direct to any Visa cardholder. Funds reach the recipient’s account within 30 minutes. You’ll receive real-time authorization of a transaction’s success. The recipient only needs to provide card details to the sender; no bank routing numbers.
You can use these endpoints for real-time funds disbursements, P2P transfers and Prepaid Loads.


This set of API endpoints allow you to provide your Collections team the ability to receive payments on outstanding collections in real-time.


This set of API endpoints can be combined with DirectSend transactions to reduce chargebacks and shift liability.

Request Format

All POST Requests should be made using JSON and include a Content Type header and an Accept header. For an example of header format, please refer to example requests below.


The Berkeley API supports idempotency for transaction requests. This allows users to retry transaction requests without actually performing the same action more than once. For example, if a transaction request fails due to a network connection error, you can send another transaction request with the same idempotency key to ensure that the transaction is not created again.

To perform idempotent transaction requests, provide an additional idempotency_key in the body of the request. This key must be unique (we suggest using GUID/UUIDS) for each transaction operation in a 24 hour period.