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.
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
Whether to select a single account, multiple accounts, or all eligible accounts. One of single, multiple or all
Filters to explicitly include or exclude accounts during selection. Accounts to explicitly include. account_filters.include.account_types
Only surface these liability types for selection.
credit_cardauto_loanmortgagestudent_loanpersonal_loan
Accounts to exclude from the flow. account_filters.exclude.account_types
Mark specific liability types as ineligible.
credit_cardauto_loanmortgagestudent_loanpersonal_loan
account_filters.exclude.mch_ids
Mark accounts tied to the provided merchant IDs as ineligible.
account_filters.exclude.unverified_account_numbers
Mark accounts with unverified account numbers as ineligible.
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" ,
"account_filters" : {
"include" : {
"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" ,
"account_filters" : {
"exclude" : {
"account_types" : [ "personal_loan" ],
"mch_ids" : [ "mch_123" ],
"unverified_account_numbers" : true
}
}
}
}
Response
{
"token" : "otkn_..." ,
"valid_until" : "2025-06-10T22:50:53.024Z" ,
"session_id" : "osess_..."
}
Launch Opal
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 > ;
}