Skip to main content
Mode: connect
Opal Connect is the primary way to connect user liability accounts with Method. This pre-built flow gathers a user’s consent, verifies their identity, and completes any needed verifications to ensure their accounts are connected to the Method ecosystem. connect-hero

What this mode does

Connect lets users find and connect their liability accounts (credit cards, loans, mortgages, etc.). Configure whether users may select a single account, multiple accounts, or by default select all eligible accounts.

Parameters

selection_type
enum
Whether to select a single account, multiple accounts, or all eligible accounts. One of single, multiple or all
allowed_account_types
string[]
The account types to allow the user to connect. If left out, Opal will surface all account types by default. One of credit_card, auto_loan, mortgage, student_loan or personal_loan
skip_pii
string[]
The PII to skip. One of name, dob, address or ssn_4

Create a token

You can create a connect session token using one of the supported patterns:
  • Existing entity: provide entity_id + mode + connect
  • Create new entity: provide entity + mode + connect
  • Resume session: provide session_id only (omit mode and connect)

Existing Entity

{
  "entity_id": "ent_...",
  "mode": "connect",
  "connect": {
    "selection_type": "single",
    "allowed_account_types": ["credit_card", "auto_loan"]
  }
}

Create New Entity

{
  "entity": {
    "type": "individual",
    "individual": {
      "first_name": "Kevin",
      "last_name": "Doyle",
      "phone": "+15125551234"
    }
  },
  "mode": "connect",
  "connect": {
    "selection_type": "multiple",
    "allowed_account_types": ["credit_card", "mortgage", "student_loan"]
  }
}

Response

{
  "token": "otkn_...",
  "valid_until": "2025-06-10T22:50:53.024Z",
  "session_id": "osess_..."
}

Launch Opal

  • React (Web)
  • React Native
import { OpalProvider, useOpal } from "@methodfi/opal-react";

function Screen() {
  const { open } = useOpal({ env: "dev", onEvent: (e) => {} });
  const start = async () => {
    const { token } = await getTokenFromBackend();
    open({ token });
  };
  return <button onClick={start}>Connect Accounts</button>;
}
I