Skip to main content
Mode: transactions
Opal Transactions is the primary way to obtain consent and subscribe to real-time transactions. This pre-built flow gathers a user’s consent, verifies their identity, and prompts them to select the accounts eligible to be subscribed to. transactions-hero

What this mode does

Transactions will provide a seamless experience for a user to subscribe to real-time transaction updates for supported accounts. Eligible accounts will be automatically determined by Method, including your team’s eligibility criteria. For details on how to receive transaction updates via Webhooks. Make sure you are subscribed to the relevant webhook events to receive real-time transaction data. Note that you will only receive updates for events that occur after your subscription is active. Please reach out to your CSM to enable access to this mode!

Create a token

You can create a transactions token using one of the supported patterns:
  • Existing entity: provide entity_id + mode + transactions
  • Create new entity: provide entity + mode + transactions

Existing Entity

{
  "entity_id": "ent_...",
  "mode": "transactions",
  "transactions": {}
}

Create New Entity

{
  "entity": {
    "type": "individual",
    "individual": {}
  },
  "mode": "transactions",
  "transactions": {}
}

Response

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

Resuming a session

Want to link more cards? In this mode, simply create another token with the same entity_id and Method will intelligently pick up where your user left off. They won’t ever be asked to link a card twice!

Launch Opal

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

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