quiltt for solo builders

Ship your fintech idea this weekend.

The Builder plan includes one aggregator and one enrichment provider, so you can see real account data and enriched transactions working together. Up to 50 live user profiles, free to start.

01

See what your product can actually do, before you pay more.

The Builder plan is designed for you to bring your product vision to life. You get one aggregator connection and one enrichment provider included, so from day one you can show users (and yourself) what the product can do with real, usable financial data behind it. That’s account balances, transactions, and enrichment all working together. When you’re ready to add more data providers or scale your user base, you pay for what you add.

1
Aggregator
1
Enrichment 
Provider
50
Profiles

02

The account-linking UI is already built.

The Quiltt Connector handles account linking, OAuth flows, error states, and re-authentication, whatever development framework you use: web, React, React Native, iOS, Android, and Flutter. Embed it with a few lines of code. Configure look and feel from the Dashboard without touching code again.

03

From signup to working prototype, same day.

Sign up with email and pull sandbox data in five minutes. The quickstart drops you into a real API response with linked account balances and enriched transactions, so you can see your product working before you finish your first coffee of the day.

<script src="https://cdn.quiltt.io/v1/connector.js"></script>

<button quiltt-button="YOUR_CONNECTOR_ID">Connect Now</button>
import { QuilttButton } from '@quiltt/react';

export const App = () => {
  return (
    <QuilttButton connectorId="YOUR_CONNECTOR_ID">
      Connect Now
    </QuilttButton>
  );
};

export default App;
import SwiftUI
import QuilttConnector

struct ConnectorView: View {
    var body: some View {
        QuilttWebView()
    }
}

struct QuilttWebView: UIViewRepresentable {
    func makeUIView(context: Context) -> WKWebView {
        let config = QuilttConnectorConnectConfiguration(
            connectorId: "YOUR_CONNECTOR_ID",
            oauthRedirectUrl: "YOUR_APP_UNIVERSAL_LINK"
        )
        
        let quilttConnector = QuilttConnector()
        return quilttConnector.connect(
            config: config,
            onExitSuccess: { metadata in
                print("Connected: \(metadata.connectionId ?? "")")
            }
        )
    }

    func updateUIView(_ uiView: WKWebView, context: Context) {}
}
import { QuilttConnector } from '@quiltt/react-native';

export const ConnectorScreen = ({ navigation }) => {
  return (
    <QuilttConnector
      connectorId="YOUR_CONNECTOR_ID"
      oauthRedirectUrl="YOUR_APP_DEEP_LINK"
      onExitSuccess={(metadata) => {
        console.log('Connected:', metadata.connectionId);
        navigation.navigate('Home');
      }}
    />
  );
};
import 'package:quiltt_connector/quiltt_connector.dart';
import 'package:quiltt_connector/configuration.dart';

void connectWithQuiltt(BuildContext context) {
  final config = QuilttConnectorConfiguration(
    connectorId: "YOUR_CONNECTOR_ID",
    oauthRedirectUrl: "YOUR_APP_DEEP_LINK"
  );

  QuilttConnector().connect(
    context,
    config,
    onExitSuccess: (event) {
      print("Connected: ${event.eventMetadata.connectionId}");
    },
  );
}
import androidx.compose.runtime.Composable
import androidx.compose.ui.viewinterop.AndroidView
import app.quiltt.connector.QuilttConnector
import app.quiltt.connector.QuilttConnectorConnectConfiguration

@Composable
fun QuilttConnectorView() {
    val config = QuilttConnectorConnectConfiguration(
        connectorId = "YOUR_CONNECTOR_ID",
        oauthRedirectUrl = "YOUR_APP_DEEP_LINK"
    )
    
    val quilttConnector = QuilttConnector(LocalContext.current)
    
    AndroidView(factory = { 
        quilttConnector.connect(
            config = config,
            onExitSuccess = { metadata ->
                println("Connected: ${metadata.connectionId}")
            }
        )
    })
}
1
Aggregator
1
Enrichment 
Provider
50
Profiles
<script src="https://cdn.quiltt.io/v1/connector.js"></script>

<button quiltt-button="YOUR_CONNECTOR_ID">Connect Now</button>
import { QuilttButton } from '@quiltt/react';

export const App = () => {
  return (
    <QuilttButton connectorId="YOUR_CONNECTOR_ID">
      Connect Now
    </QuilttButton>
  );
};

export default App;
import SwiftUI
import QuilttConnector

struct ConnectorView: View {
    var body: some View {
        QuilttWebView()
    }
}

struct QuilttWebView: UIViewRepresentable {
    func makeUIView(context: Context) -> WKWebView {
        let config = QuilttConnectorConnectConfiguration(
            connectorId: "YOUR_CONNECTOR_ID",
            oauthRedirectUrl: "YOUR_APP_UNIVERSAL_LINK"
        )
        
        let quilttConnector = QuilttConnector()
        return quilttConnector.connect(
            config: config,
            onExitSuccess: { metadata in
                print("Connected: \(metadata.connectionId ?? "")")
            }
        )
    }

    func updateUIView(_ uiView: WKWebView, context: Context) {}
}
import { QuilttConnector } from '@quiltt/react-native';

export const ConnectorScreen = ({ navigation }) => {
  return (
    <QuilttConnector
      connectorId="YOUR_CONNECTOR_ID"
      oauthRedirectUrl="YOUR_APP_DEEP_LINK"
      onExitSuccess={(metadata) => {
        console.log('Connected:', metadata.connectionId);
        navigation.navigate('Home');
      }}
    />
  );
};
import 'package:quiltt_connector/quiltt_connector.dart';
import 'package:quiltt_connector/configuration.dart';

void connectWithQuiltt(BuildContext context) {
  final config = QuilttConnectorConfiguration(
    connectorId: "YOUR_CONNECTOR_ID",
    oauthRedirectUrl: "YOUR_APP_DEEP_LINK"
  );

  QuilttConnector().connect(
    context,
    config,
    onExitSuccess: (event) {
      print("Connected: ${event.eventMetadata.connectionId}");
    },
  );
}
import androidx.compose.runtime.Composable
import androidx.compose.ui.viewinterop.AndroidView
import app.quiltt.connector.QuilttConnector
import app.quiltt.connector.QuilttConnectorConnectConfiguration

@Composable
fun QuilttConnectorView() {
    val config = QuilttConnectorConnectConfiguration(
        connectorId = "YOUR_CONNECTOR_ID",
        oauthRedirectUrl = "YOUR_APP_DEEP_LINK"
    )
    
    val quilttConnector = QuilttConnector(LocalContext.current)
    
    AndroidView(factory = { 
        quilttConnector.connect(
            config = config,
            onExitSuccess = { metadata ->
                println("Connected: ${metadata.connectionId}")
            }
        )
    })
}

Get started today

Your first sandbox pull takes five minutes.

No procurement, no gating, no surprise renegotiations. Sign up, connect, and see real data working in your product — today.