SDKs overview
MX (Open Banking) offers a suite of Software Development Kits (SDKs) and libraries designed to streamline the integration of its financial data platform into various applications. These tools abstract the complexities of direct API interactions, providing developers with pre-built functions and components for tasks such as user onboarding, connecting financial institutions, and retrieving aggregated financial data. The SDKs are tailored for different development environments, including web, mobile (iOS and Android), and cross-platform frameworks like React Native, ensuring broad compatibility for developers building fintech solutions. For detailed information on the MX API, developers can consult the MX API Reference documentation.
The primary purpose of these SDKs is to facilitate a secure and efficient connection between end-users' financial accounts and an application powered by MX. This includes handling the user interface for credential input, managing secure tokens, and processing data requests. The SDKs are maintained by MX to ensure compatibility with the latest API versions and security standards, which are crucial in the financial technology sector, as outlined by general API security best practices.
Official SDKs by language
MX provides official SDKs for popular development languages and platforms, focusing on web and mobile application development. These SDKs are engineered to integrate directly with the MX platform's capabilities, including data aggregation and enhancement services. The table below outlines the officially supported SDKs, their typical package names, installation commands, and maturity status.
| Language/Platform | Package/Module | Installation Command | Maturity |
|---|---|---|---|
| JavaScript | @mx/connect-web |
npm install @mx/connect-web or yarn add @mx/connect-web |
Stable |
| React Native | @mx/connect-react-native |
npm install @mx/connect-react-native or yarn add @mx/connect-react-native |
Stable |
| Android (Kotlin/Java) | com.mx.connect:android (via Gradle) |
Add to build.gradle dependencies |
Stable |
| iOS (Swift/Objective-C) | MXConnect (via CocoaPods/Swift Package Manager) |
Add to Podfile or Xcode project |
Stable |
Installation
Installation procedures for MX SDKs vary depending on the target language and platform. Each SDK is distributed through its respective ecosystem's package manager, ensuring dependency management and version control. Developers should consult the MX developer documentation for the most current and detailed installation instructions, including any prerequisites or specific environment configurations.
JavaScript (Web)
For web applications, the MX Connect Web SDK is typically installed via npm or Yarn. This SDK enables the integration of MX's user interface for connecting accounts directly into a web browser environment.
npm install @mx/connect-web
# or
yarn add @mx/connect-web
React Native
The React Native SDK provides components and modules for integrating MX functionality into cross-platform mobile applications. It also relies on npm or Yarn for installation.
npm install @mx/connect-react-native
# or
yarn add @mx/connect-react-native
# Link native modules (for older React Native versions or specific setups)
react-native link @mx/connect-react-native
Android
Android applications integrate the MX Android SDK by adding it as a dependency in the project's build.gradle file. This allows for native Android UI components and logic for connecting to MX services.
// build.gradle (app-level)
dependencies {
implementation 'com.mx.connect:android:latest.release'
// Ensure you have Google's Maven repository
// google()
// mavenCentral()
}
iOS
For iOS development, the MX iOS SDK is distributed primarily through CocoaPods or Swift Package Manager. Developers add the SDK to their Podfile or integrate it directly into their Xcode project.
# Podfile
target 'YourApp' do
use_frameworks!
pod 'MXConnect', '~> [latest_version]'
end
After adding the pod, run pod install from your project directory.
Quickstart example
This quickstart example demonstrates a basic integration of the MX Connect Web SDK to initiate the process of connecting a user's financial institution. The example assumes you have an MX_API_KEY and MX_CLIENT_ID, and that your backend has generated a user_guid and a member_guid (if updating an existing member) or is prepared to create a new member upon successful connection. For a complete integration, secure handling of API keys and server-side token generation is essential, as detailed in the MX Connect Quick Start guide.
JavaScript (Web) Quickstart
The following HTML and JavaScript snippet illustrates how to embed the MX Connect widget on a webpage. This widget guides the user through the process of selecting their financial institution and providing credentials.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MX Connect Example</title>
<script src="https://connect.mx.com/connect.latest.js"></script>
</head>
<body>
<h1>Connect your Bank Account</h1>
<button id="connectButton">Start Connection</button>
<script>
document.getElementById('connectButton').addEventListener('click', function() {
const userGuid = 'USR-YOUR-USER-GUID'; // Replace with a user_guid generated by your backend
const clientGuid = 'CSH-YOUR-CLIENT-GUID'; // Replace with your MX Client GUID
const apiKey = 'YOUR_API_KEY'; // Replace with your MX API Key (use server-side generation in production)
// In a real application, the 'widget_url' would be securely generated on your backend
// and would include parameters like user_guid, client_guid, and potential member_guid.
// For this example, we're constructing a basic URL. Refer to MX docs for production setup.
const widgetUrl = `https://connect.mx.com/connect/widget/integration?client_guid=${clientGuid}&api_key=${apiKey}&user_guid=${userGuid}`;
if (window.MXConnect) {
window.MXConnect.load({
widget_url: widgetUrl,
ui_config: {
// Optional UI configuration, e.g., 'theme': 'dark'
},
onLoad: function() {
console.log('MX Connect widget loaded.');
},
onSuccess: function(payload) {
console.log('MX Connect successful:', payload);
// Handle successful connection, e.g., send payload to backend
},
onCancel: function(payload) {
console.log('MX Connect cancelled:', payload);
// Handle cancellation
},
onError: function(payload) {
console.error('MX Connect error:', payload);
// Handle errors
}
});
} else {
console.error('MXConnect script not loaded.');
}
});
</script>
</body>
</html>
This example directly includes the MX Connect script and constructs a basic widget URL. In a production environment, the widget_url should be dynamically generated on your secure backend to include necessary parameters and a server-side generated JWT or access token to authenticate the request, preventing exposure of sensitive API keys on the client-side. This aligns with OAuth 2.0 client credential grant flow principles, where client secrets are managed server-side.
Community libraries
While MX provides robust official SDKs, the open-source community may develop unofficial libraries or wrappers that extend functionality or provide integrations for languages not officially supported. These community-driven projects can offer alternative approaches or specialized tools, but their maintenance, security, and compatibility with the latest MX API versions are not guaranteed by MX. Developers considering community libraries should evaluate their active development status, community support, and alignment with MX's official API documentation. As of 2026, MX's official SDKs cover the most commonly used platforms for their target audience, and direct community contributions are often found in general-purpose API client libraries rather than dedicated MX wrappers.