Skip to content

Banking Data APIs Arena

Plaid vs TrueLayer

TrueLayer wins · 1317 (18 drawn)

Account linking — stories about account linking in this arenaAccount linking

Stories about account linking in this arena

Hosted flows

  1. developerLet a user connect their bank with a drop-in hosted flow — create a session server-side, open the widget, and get back a token for the connected account — without building institution UI myself

    weight 3 · round to Plaid

    Plaid Link is explicitly documented as the client-side hosted widget that lets users connect their bank without the developer building institution UI, paired with server-side session/token creation (public_token/access_token flow) shown in SDKs and Sandbox docs. missing for 10: no independent/hands-on developer report confirming the end-to-end token exchange experience, and no explicit token-exchange code snippet in this pack (only Sandbox/public_token creation and general Link description).

    • [claimed-docs] Plaid Link is the client-side component that your users will interact with in order to link their accounts to Plaid and allow you to access …
    • [claimed-docs] You can customize parts of Link's flow straight from the Dashboard. You can preview your changes in real time and then publish them instantl…
    • [claimed-docs] you can also create Items in Sandbox via the API, using a special Sandbox-only endpoint, /sandbox/public_token/create. This endpoint allows …
    • [claimed-docs] The Plaid Sandbox is a free and fully-featured environment for application development and testing. All Plaid functionality of both the Plai…
    • [claimed-docs] Let's test out running Plaid locally by cloning the Quickstart app. You'll need API keys, which you can receive by signing up in the Dashboa…
    • [github] try { await plaidClient.transactionsSync(request); } catch (error) { const err = error.response.data; }
    TrueLayernone0/10

    The evidence pack describes TrueLayer's Data API for reading account/identity/transaction info and lists supported providers, but nowhere documents a drop-in hosted widget with a server-side session creation and token retrieval flow for account-linking (the closest analog, 'payment links', applies only to payments, not data/account linking). Missing for 10: hosted account-linking widget SDK/UI docs, session-creation endpoint for linking, and evidence of a returned account-link token from a widget flow.

    • [claimed-docs] Access identity, accounts, transactions and balance data for all integrated banks with a single interface.
    • [claimed-docs] Read account information, balances and transaction history from a user's bank.
    • [claimed-docs] Query the providers endpoint to see which banks are supported in each European country and segment.

Oauth

  1. developerConnections to major institutions use bank-hosted OAuth rather than screen-scraped credentials — the platform documents its OAuth coverage and how legacy credential flows are being retired

    weight 2 · round drawn
    Plaidnone0/10

    The evidence pack contains no Plaid documentation describing OAuth coverage for institutions or a plan to retire legacy credential/screen-scraping flows; docs only describe Auth/Balance/Identity/Transactions products generically. Community evidence in fact describes Plaid using screen-scraped credentials and even mimicking bank login pages, reinforcing the absence of documented OAuth-first coverage.

    • [community] Plaid is terrible! Both Wells Fargo and Bank of America support API integration, but Plaid chooses to screen-scrape and does not work if you…
    • [community] Slightly off topic... Privacy virtual card use Plaid... The integration was extremely questionable. They were faking the bank's login page. …
    • [community] Teller does not use screen scraping. They reverse engineer each bank's mobile APIs — contrasted favorably against Plaid's approach in discus…
    • [claimed-docs] Plaid Link is the client-side component that your users will interact with in order to link their accounts to Plaid and allow you to access …
    TrueLayernone0/10

    The evidence pack covers TrueLayer's Payments, Data, and Verification APIs, SDKs, and a providers endpoint listing supported banks per country, but nothing explicitly documents that connections use bank-hosted OAuth versus screen-scraping, nor any statement about retiring legacy credential-based flows. Without that specific documentation, this axis is unsupported.

    • [claimed-docs] Query the providers endpoint to see which banks are supported in each European country and segment.
    • [claimed-docs] Access identity, accounts, transactions and balance data for all integrated banks with a single interface.

Repair

  1. ops leadBroken connections are repairable — expired or revoked links surface as documented statuses, and users can re-authenticate in an update flow without starting over

    weight 2 · round to Plaid

    Plaid's webhook docs mention that webhooks inform developers about 'changes to Plaid Items or the status of asynchronous processes' (plaid-docs-8), which touches on connection status changes, and Link (plaid-docs-5, plaid-docs-11) is the client-side re-linking component. However, the evidence pack never explicitly documents the specific re-authentication 'update mode' flow, named error statuses like ITEM_LOGIN_REQUIRED, or confirmation that re-auth avoids re-onboarding from scratch. Missing for 10: explicit documentation of update-mode Link flow, named broken-connection status codes/webhooks, and confirmation users don't restart the full linking process.

    • [claimed-docs] Plaid sends webhooks to programmatically inform you about changes to Plaid Items or the status of asynchronous processes.
    • [claimed-docs] Plaid Link is the client-side component that your users will interact with in order to link their accounts to Plaid and allow you to access …
    • [claimed-docs] You can customize parts of Link's flow straight from the Dashboard. You can preview your changes in real time and then publish them instantl…
    TrueLayernone0/10

    TrueLayer's docs cover consent, mandates, and webhooks for payment status but nowhere document how expired/revoked account-links surface as distinct statuses or how a user re-authenticates via an update flow without restarting; the evidence pack has no reference to reconnection/re-auth UX for broken links.

    Agenticness — how well agents can access and operate the productAgenticness

    How well agents can access and operate the product

    Agent access

    1. ai-native userPoint an agent at llms.txt or agent-oriented docs

      weight 2 · round to TrueLayer

      Plaid has a live llms.txt at plaid.com/llms.txt (HTTP 200) confirming basic agent-oriented discovery, but the content is minimal (a short description, not a full doc index), the /docs/.md and openapi.json probes 404 rather than exposing machine-readable docs, and there's no independent corroboration of agents actually consuming these successfully. missing for 10: richer llms.txt content indexing full doc set, working markdown/OpenAPI endpoints, independent/hands-on evidence of an agent successfully using these to navigate docs.

      • [probe] PROBE llms.txt: HTTP 200 at https://plaid.com/llms.txt # Plaid > Plaid helps all companies build fintech solutions by making it easy, safe …
      • [probe] PROBE docs-md: HTTP 404 at https://plaid.com/docs/.md
      • [probe] PROBE openapi: all candidate paths 404 (https://plaid.com/openapi.json, https://plaid.com/swagger.json, https://plaid.com/api/openapi.json, …
      TrueLayerfullprobed9/10

      TrueLayer hosts a verified llms.txt at docs.truelayer.com/llms.txt (probe confirms HTTP 200) with a documented convention that any docs page can be appended with .md for markdown, directly enabling agent-oriented consumption; docs also explicitly cover an MCP integration for AI assistants, reinforcing agent-native design. Missing for 10: no independent third-party confirmation that agents reliably use this in practice beyond TrueLayer's own docs.

      • [probe] PROBE llms.txt: HTTP 200 at https://docs.truelayer.com/llms.txt # TrueLayer Documentation > TrueLayer Documentation Append .md to any docu…
      • [claimed-docs] Monitor payments and generate reports in Console.
      • [claimed-docs] By integrating the TrueLayer MCP server with this AI assistant, you'd empower Claude AI to perform a range of banking and payment operations…
      • [probe] official MCP server documented at https://docs.truelayer.com/docs/truelayer-mcp-integration-for-claude-ai
    2. ai-native userRun the product headlessly / in CI for automation

      weight 2 · round to Plaid

      Plaid's Sandbox exposes a special API endpoint (/sandbox/public_token/create) that lets developers generate test Items and public tokens purely via API calls, without any UI, which supports scripted/headless testing suitable for CI (plaid-docs-14, plaid-docs-13). The Node SDK further demonstrates programmatic, promise-based server-side calls (plaid-gh-1, plaid-gh-2) that can run in automated pipelines. However, real (non-sandbox) account linking still requires the client-side Plaid Link UI component, so full production automation isn't headless, and no explicit CI/automation documentation or examples are provided. missing for 10: explicit CI/headless automation guide, confirmation that production flows can bypass Link UI, independent evidence of running Plaid in automated pipelines.

      • [claimed-docs] you can also create Items in Sandbox via the API, using a special Sandbox-only endpoint, /sandbox/public_token/create. This endpoint allows …
      • [claimed-docs] The Plaid Sandbox is a free and fully-featured environment for application development and testing. All Plaid functionality of both the Plai…
      • [github] try { await plaidClient.transactionsSync(request); } catch (error) { const err = error.response.data; }
      • [github] All errors can now be caught using try/catch with async/await or through promise chaining.
      • [claimed-docs] Let's test out running Plaid locally by cloning the Quickstart app. You'll need API keys, which you can receive by signing up in the Dashboa…
      TrueLayerpartialclaimed5/10

      TrueLayer is API-first with SDKs (Node.js, Python, Java, .NET) and signing libraries, which are inherently usable in headless/automated/CI contexts since there is no GUI dependency for core payment/data operations. However, there is no explicit documentation about CI/CD integration, automated testing pipelines, or headless deployment guidance. Missing for 10: explicit CI/automation documentation, example CI pipeline configs, headless testing guidance, non-interactive auth flow docs for automated environments.

      • [claimed-docs] SDKs for Node.js, Python, Java and .NET.
      • [claimed-docs] They simplify API calls with easy-to-use interfaces, type-hinted methods and abstractions. They also automate request signing for all Paymen…
      • [github] Convenient libraries to produce TrueLayer API requests signatures.
      • [claimed-docs] The Payments API v3 allows you to make and accept payments and payouts in the UK and EU.
    3. ai-native userConnect an agent via an official MCP server

      weight 3 · round to TrueLayer

      Plaid documents an official 'Dashboard MCP server' hosted by Plaid providing Production diagnostics and analytics tools (debugging Items, Link conversion data, usage metrics), confirmed by both docs and a probe hit. However, this MCP server is scoped only to dashboard/analytics functions rather than full API/product access (Auth, Transactions, Identity, etc.), so an agent cannot use it to perform general Plaid operations via MCP. Missing for 10: MCP coverage of core Plaid API functionality (Auth, Transactions, Payments) and independent/community corroboration of real-world MCP usage.

      • [claimed-docs] The Dashboard MCP server is a remote MCP server hosted by Plaid. It provides Production diagnostics and analytics tools, including tools for…
      • [probe] official MCP server documented at https://plaid.com/docs/resources/mcp/
      TrueLayerfullprobed7/10

      TrueLayer documents an official MCP server integration for Claude AI, exposing at least one concrete tool (create-truelayer-payment-link) that lets an agent perform banking/payment operations, and a probe confirms the doc page exists. Missing for 10: broader tool catalog beyond payment-link creation, independent/hands-on verification of the MCP server working, and details on setup/auth for non-Claude MCP clients.

      • [claimed-docs] By integrating the TrueLayer MCP server with this AI assistant, you'd empower Claude AI to perform a range of banking and payment operations…
      • [claimed-docs] create-truelayer-payment-link` - Generate a new payment link for initiating a payment from a bank account to the TrueLayer merchant account
      • [probe] official MCP server documented at https://docs.truelayer.com/docs/truelayer-mcp-integration-for-claude-ai
    4. ai-native userUse an official CLI

      weight 2 · round drawn
      Plaidnone0/10

      Evidence shows Plaid SDKs (e.g., plaid-node), Quickstart apps, and a hosted MCP server, but no mention anywhere of an official CLI tool for interacting with Plaid's API or dashboard.

        TrueLayernone0/10

        TrueLayer is a payments/banking API platform with SDKs, an MCP server for Claude, and signing libraries, but no evidence anywhere in the pack of an official CLI tool for developers or AI-native workflows.

        • ai-native userDrive the product through a documented public API

          weight 3 · round to TrueLayer

          Plaid provides extensive public API documentation (Auth, Balance, Identity, Transactions, Payment Initiation), SDKs (plaid-node), webhooks, and a Sandbox for programmatic testing, all of which let a developer (including an AI agent) drive the product via documented endpoints. However, there's no discoverable OpenAPI/Swagger spec (404s on all candidate paths) and no llms.txt-style machine-readable API map beyond a generic landing page, which limits pure agentic/machine-driven discovery. missing for 10: publicly discoverable OpenAPI/machine-readable spec, evidence of AI-agent-specific API tooling beyond the separate Dashboard MCP server.

          • [claimed-docs] Auth allows you to request a user's checking, savings, or cash management account and routing number, making it easy for you to initiate cre…
          • [claimed-docs] Balance is Plaid's product for receiving real-time balance information. This data is commonly used to tell if an account has sufficient fund…
          • [claimed-docs] Plaid's Identity product helps you verify users' identities by accessing information on file with their financial institution.
          • [claimed-docs] Retrieve up to 24 months of transaction data and stay up-to-date with webhooks
          • [claimed-docs] The Plaid Sandbox is a free and fully-featured environment for application development and testing... you can create an unlimited number of …
          • [claimed-docs] Plaid sends webhooks to programmatically inform you about changes to Plaid Items or the status of asynchronous processes.
          • [claimed-docs] you can also create Items in Sandbox via the API, using a special Sandbox-only endpoint, /sandbox/public_token/create. This endpoint allows …
          • [github] try { await plaidClient.transactionsSync(request); } catch (error) { const err = error.response.data; }
          • [github] All errors can now be caught using try/catch with async/await or through promise chaining.
          • [probe] PROBE docs-md: HTTP 404 at https://plaid.com/docs/.md
          • [probe] PROBE openapi: all candidate paths 404 (https://plaid.com/openapi.json, https://plaid.com/swagger.json, https://plaid.com/api/openapi.json, …
          TrueLayerfullprobed8/10

          TrueLayer publishes extensive public API documentation covering Payments API v3, Data API, Verification API, webhooks, signing, and SDKs for Node.js/Python/Java/.NET, with a quickstart for making a test payment — clear evidence of a documented, programmatically drivable API for an AI-native or any developer user. Missing for 10: a discoverable machine-readable OpenAPI/Swagger spec (probe found only 404s), so full API surface must be inferred from prose docs rather than a formal schema.

          • [claimed-docs] The Payments API v3 allows you to make and accept payments and payouts in the UK and EU.
          • [claimed-docs] Read account information, balances and transaction history from a user's bank.
          • [claimed-docs] SDKs for Node.js, Python, Java and .NET.
          • [claimed-docs] The Payments API v3 uses a pair of ECDSA keys in addition to a bearer token.
          • [claimed-docs] They simplify API calls with easy-to-use interfaces, type-hinted methods and abstractions. They also automate request signing for all Paymen…
          • [claimed-docs] you'll create a free UK merchant account and complete your first test payment with the Payments API v3
          • [probe] PROBE llms.txt: HTTP 200 at https://docs.truelayer.com/llms.txt # TrueLayer Documentation > TrueLayer Documentation Append .md to any docu…
          • [probe] PROBE openapi: all candidate paths 404 (https://docs.truelayer.com/openapi.json, https://docs.truelayer.com/swagger.json, https://docs.truel…
        • ai-native userIssue scoped/least-privilege API credentials for an agent

          weight 2 · round drawn
          Plaidnone0/10

          Plaid's evidence covers products (Auth, Balance, Identity, Transactions), Sandbox testing, Link, and a read-only diagnostics MCP server, but nothing describes issuing scoped or least-privilege API credentials/tokens specifically for an agent or any granular permissioning model for AI-native use. Missing for 10: any documentation of scoped API keys, credential minimization, or agent-specific access tokens.

          • [claimed-docs] The Dashboard MCP server is a remote MCP server hosted by Plaid. It provides Production diagnostics and analytics tools, including tools for…
          • [claimed-docs] Let's test out running Plaid locally by cloning the Quickstart app. You'll need API keys, which you can receive by signing up in the Dashboa…
          • [claimed-docs] The Plaid Sandbox is a free and fully-featured environment for application development and testing... you can create an unlimited number of …
          TrueLayernone0/10

          TrueLayer's docs describe standard API client credentials, OAuth-style bearer tokens plus ECDSA signing, and an MCP integration for Claude, but nothing describes issuing scoped or least-privilege credentials specifically for an AI agent (e.g., agent-specific API keys, granular permission tiers, or restricted scopes for automated/agentic use). Missing for 10: any mention of agent-specific credential scoping, permission tiers, or least-privilege key issuance beyond generic client_id/secret and bearer tokens.

          • [claimed-docs] Invite users so they can retrieve your integration's client credentials, access the payments view, or issue refunds.
          • [claimed-docs] The Payments API v3 uses a pair of ECDSA keys in addition to a bearer token.
          • [claimed-docs] By integrating the TrueLayer MCP server with this AI assistant, you'd empower Claude AI to perform a range of banking and payment operations…
          • [claimed-docs] create-truelayer-payment-link` - Generate a new payment link for initiating a payment from a bank account to the TrueLayer merchant account
        • ai-native userBuild against official SDKs

          weight 2 · round to TrueLayer

          Plaid ships an official Node.js SDK (plaid-node) with documented async/await error-handling patterns and a quickstart guide showing API-key based setup, which supports building integrations programmatically. However, the evidence pack only shows one language SDK, no explicit mention of other official SDKs (Python, Java, Go, etc.) or SDK features tailored to AI-native/agentic workflows, and no independent corroboration of SDK quality. missing for 10: evidence of multi-language official SDKs, AI-specific SDK tooling or agent integration guides, independent developer corroboration of SDK usability.

          • [github] try { await plaidClient.transactionsSync(request); } catch (error) { const err = error.response.data; }
          • [github] All errors can now be caught using try/catch with async/await or through promise chaining.
          • [claimed-docs] Let's test out running Plaid locally by cloning the Quickstart app. You'll need API keys, which you can receive by signing up in the Dashboa…
          TrueLayerfullclaimed7/10

          TrueLayer explicitly documents official SDKs for Node.js, Python, Java and .NET (truelayer-docs-11) that simplify API calls with typed interfaces and automate request signing (truelayer-docs-24), backed by a public GitHub signing library (truelayer-gh-1). Missing for 10: broader language coverage evidence, independent developer adoption signals (stars, community usage), and versioned changelog/release cadence proof.

          • [claimed-docs] SDKs for Node.js, Python, Java and .NET.
          • [claimed-docs] They simplify API calls with easy-to-use interfaces, type-hinted methods and abstractions. They also automate request signing for all Paymen…
          • [claimed-docs] We offer signing libraries in these languages
          • [github] Convenient libraries to produce TrueLayer API requests signatures.
        • ai-native userSubscribe to events via webhooks

          weight 2 · round to TrueLayer

          Plaid documents a first-class webhooks system that notifies subscribers of Item/product state changes (e.g., new transactions), which any AI-native integration could consume just like a human-built app. Missing for 10: independent/hands-on corroboration of webhook reliability and any agent-specific guidance for consuming webhooks programmatically.

          • [claimed-docs] Plaid sends webhooks to programmatically inform you about changes to Plaid Items or the status of asynchronous processes.
          • [claimed-docs] Retrieve up to 24 months of transaction data and stay up-to-date with webhooks
          TrueLayerfullclaimed8/10

          TrueLayer documents webhooks as JSON notifications for Payments API v3 events (e.g. payment status changes), configurable per-app via a webhook URI in Console, with signature verification (Tl-Signature) recommended via signing libraries. This gives a clear, documented subscribe-to-events-via-webhook mechanism usable programmatically by an AI-native integration. Missing for 10: no independent/hands-on corroboration of webhook reliability, and no evidence of webhook management via API (vs Console-only configuration) or filtering/subscription granularity.

          • [claimed-docs] Webhooks are JSON-format notifications you receive when any event occurs within the Payments API v3.
          • [claimed-docs] webhooks inform you about: when a payment changes to a new status in the authorisation process
          • [claimed-docs] You must validate all incoming webhook requests through the `Tl-Signature` that accompanies the webhook.
          • [claimed-docs] Each of your apps in Console can have a single webhook URI, which the Payments API sends webhooks to.
          • [claimed-docs] We strongly recommend you use our signing libraries to verify the `Tl-Signature` of any webhooks you receive.

        Agentic features

        1. ai-native userGet AI-generated insights and suggestions from my data inside the product

          weight 2 · round drawn
          Plaidnone0/10

          No evidence that Plaid generates AI-driven insights or suggestions from a user's financial data; the closest item (Dashboard MCP server) only exposes diagnostics/analytics tools for developers, not AI-generated insights delivered to end users. Missing for 10: any AI/ML insight-generation feature, natural-language summarization of transactions/balances, or user-facing recommendation engine.

          • [claimed-docs] The Dashboard MCP server is a remote MCP server hosted by Plaid. It provides Production diagnostics and analytics tools, including tools for…
          TrueLayernone0/10

          TrueLayer's evidence covers Data/Payments APIs and an MCP integration letting Claude perform banking actions on a user's behalf, but nothing shows TrueLayer itself generating AI insights or suggestions from account/transaction data inside its Console or product surface.

          • ai-native userSet up automations that run autonomously in the background

            weight 2 · round to TrueLayer

            Plaid provides webhooks and transactionsSync for asynchronous, background processing of financial data changes (docs-8, gh-1), which could underpin automations, but there is no evidence of any AI-native automation/agent orchestration capability, scheduling, or autonomous workflow builder — the Dashboard MCP server is limited to diagnostics/analytics, not automation setup. Missing for 10: explicit automation/agent framework, scheduling or trigger-action tooling, and any AI-native framing of background autonomy beyond generic webhooks.

            • [claimed-docs] Plaid sends webhooks to programmatically inform you about changes to Plaid Items or the status of asynchronous processes.
            • [github] try { await plaidClient.transactionsSync(request); } catch (error) { const err = error.response.data; }
            • [claimed-docs] The Dashboard MCP server is a remote MCP server hosted by Plaid. It provides Production diagnostics and analytics tools, including tools for…
            TrueLayerpartialprobed5/10

            TrueLayer supports payment mandates (VRPs/Direct Debits) that, once authorised, execute automatically in the background without further user authorisation, and webhooks provide event-driven automation; the MCP server integration also lets an AI agent (Claude) trigger banking/payment operations. However, there is no dedicated AI-native automation/scheduling framework—just mandate-based recurring payments plus generic webhooks and a single third-party MCP integration. Missing for 10: a first-party AI-agent automation/orchestration feature, evidence of persistent autonomous background agents beyond mandate execution, and broader multi-step automation tooling.

            • [claimed-docs] Use the following steps to learn how to create a new payment mandate for your user. You'll need this mandate to set up recurring payments.
            • [claimed-docs] Once you create a payment on an authorised mandate, it executes immediately without requiring further user authorisation.
            • [claimed-docs] Payment mandates belong to one of three types: Sweeping VRPs... Wave 1 VRPs... Direct Debits
            • [claimed-docs] After you create a payment mandate and your user has authorised it, you can create a payment on the mandate... it executes immediately.
            • [claimed-docs] webhooks inform you about: when a payment changes to a new status in the authorisation process
            • [claimed-docs] By integrating the TrueLayer MCP server with this AI assistant, you'd empower Claude AI to perform a range of banking and payment operations…
            • [claimed-docs] create-truelayer-payment-link` - Generate a new payment link for initiating a payment from a bank account to the TrueLayer merchant account
            • [probe] official MCP server documented at https://docs.truelayer.com/docs/truelayer-mcp-integration-for-claude-ai
          • ai-native userOperate the product with natural-language commands

            weight 2 · round to TrueLayer

            Plaid documents an official 'Dashboard MCP server' that exposes diagnostics/analytics tools (debugging Items, Link conversion data, usage metrics) which an AI agent could invoke via natural language, but this only covers dashboard operations, not the core product functionality (Auth, Transactions, Identity, Payments) — there is no broader natural-language interface for operating Plaid's main capabilities. Missing for 10: NL control over core Plaid products (linking, transactions, payments), independent/hands-on confirmation of MCP usability, and any conversational agent interface beyond dashboard diagnostics.

            • [claimed-docs] The Dashboard MCP server is a remote MCP server hosted by Plaid. It provides Production diagnostics and analytics tools, including tools for…
            • [probe] official MCP server documented at https://plaid.com/docs/resources/mcp/
            TrueLayerpartialprobed6/10

            TrueLayer documents an official MCP server integration with Claude AI that lets users invoke banking/payment operations (e.g., 'create-truelayer-payment-link') via natural language, directly enabling AI-native NL command usage. However, evidence only shows one example tool and a single AI assistant integration rather than a broad natural-language command surface across the full API. Missing for 10: evidence of broader NL command coverage across accounts/verification/mandates, independent hands-on confirmation of the MCP server's reliability, and support beyond Claude AI.

            • [claimed-docs] By integrating the TrueLayer MCP server with this AI assistant, you'd empower Claude AI to perform a range of banking and payment operations…
            • [claimed-docs] create-truelayer-payment-link` - Generate a new payment link for initiating a payment from a bank account to the TrueLayer merchant account
            • [probe] official MCP server documented at https://docs.truelayer.com/docs/truelayer-mcp-integration-for-claude-ai

          Api quality

          1. ai-native userExplore an interactive API reference with runnable examples

            weight 2 · round drawn
            Plaidnone0/10

            Evidence shows only static docs pages, a Quickstart sample app to clone locally, and a Sandbox test environment, but no interactive API reference (e.g., try-it console, embedded runnable code snippets) — probes for an OpenAPI spec and docs-as-markdown interactive surface both returned 404s, suggesting no such interactive reference exists.

            • [claimed-docs] Let's test out running Plaid locally by cloning the Quickstart app. You'll need API keys, which you can receive by signing up in the Dashboa…
            • [probe] PROBE docs-md: HTTP 404 at https://plaid.com/docs/.md
            • [probe] PROBE openapi: all candidate paths 404 (https://plaid.com/openapi.json, https://plaid.com/swagger.json, https://plaid.com/api/openapi.json, …
            TrueLayernone0/10

            The evidence pack contains only static documentation descriptions (guides, webhook references, SDK mentions) with no mention of an interactive API reference or runnable code examples/try-it-out console. A direct probe for OpenAPI/Swagger specs at standard paths returned 404 across all candidates, indicating no discoverable interactive API explorer.

            • [probe] PROBE openapi: all candidate paths 404 (https://docs.truelayer.com/openapi.json, https://docs.truelayer.com/swagger.json, https://docs.truel…
            • [claimed-docs] SDKs for Node.js, Python, Java and .NET.
            • [probe] PROBE llms.txt: HTTP 200 at https://docs.truelayer.com/llms.txt # TrueLayer Documentation > TrueLayer Documentation Append .md to any docu…
          2. ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)

            weight 2 · round drawn
            Plaidnone0/10

            Direct probes for OpenAPI/swagger spec files at standard paths all returned 404, and no documentation references a downloadable machine-readable API spec; only an llms.txt marketing page was found, not an OpenAPI/equivalent spec.

            • [probe] PROBE openapi: all candidate paths 404 (https://plaid.com/openapi.json, https://plaid.com/swagger.json, https://plaid.com/api/openapi.json, …
            • [probe] PROBE docs-md: HTTP 404 at https://plaid.com/docs/.md
            • [probe] PROBE llms.txt: HTTP 200 at https://plaid.com/llms.txt # Plaid > Plaid helps all companies build fintech solutions by making it easy, safe …
            TrueLayernone0/10

            A direct probe for OpenAPI/Swagger spec files at common paths (openapi.json, swagger.json, etc.) returned 404 across the board, and no documentation item references a downloadable machine-readable API spec despite extensive API docs.

            • [probe] PROBE openapi: all candidate paths 404 (https://docs.truelayer.com/openapi.json, https://docs.truelayer.com/swagger.json, https://docs.truel…
          3. ai-native userTest against a sandbox environment without touching production data

            weight 1 · round to Plaid

            Plaid provides a dedicated, fully-featured Sandbox environment supporting all API/Link functionality with unlimited test Items and test credentials, plus a special sandbox-only endpoint for programmatic Item creation, clearly separating test from production data. missing for 10: no independent/hands-on developer corroboration of sandbox fidelity, and no explicit mention of AI-agent-specific sandbox testing workflows.

            • [claimed-docs] The Plaid Sandbox is a free and fully-featured environment for application development and testing... you can create an unlimited number of …
            • [claimed-docs] The Plaid Sandbox is a free and fully-featured environment for application development and testing. All Plaid functionality of both the Plai…
            • [claimed-docs] you can also create Items in Sandbox via the API, using a special Sandbox-only endpoint, /sandbox/public_token/create. This endpoint allows …
            • [claimed-docs] Let's test out running Plaid locally by cloning the Quickstart app. You'll need API keys, which you can receive by signing up in the Dashboa…
            TrueLayerpartialprobed5/10

            TrueLayer provides a free test/sandbox merchant account for making test payments (truelayer-docs-32, quickstart-make-a-test-payment), which lets a developer or AI agent exercise the Payments API without touching production data. However, there is no explicit documentation of a dedicated sandbox environment concept (separate sandbox base URLs, sandbox-specific credentials, or sandbox banks/test providers) distinct from a 'free account' used for a first test payment, and no confirmation the MCP integration itself can be pointed at a sandbox. Missing for 10: explicit sandbox environment documentation (test-mode endpoints, mock bank providers), confirmation that the MCP server/agent tooling can target sandbox vs production, and independent/hands-on verification of sandbox isolation.

            • [claimed-docs] you'll create a free UK merchant account and complete your first test payment with the Payments API v3
            • [claimed-docs] By integrating the TrueLayer MCP server with this AI assistant, you'd empower Claude AI to perform a range of banking and payment operations…
            • [probe] official MCP server documented at https://docs.truelayer.com/docs/truelayer-mcp-integration-for-claude-ai
          4. ai-native userRely on versioned APIs with a documented deprecation policy

            weight 2 · round drawn
            Plaidnone0/10

            The evidence pack contains no documentation of API versioning scheme or a deprecation policy — no changelog, version headers, or sunset timeline are mentioned anywhere, only product feature docs (Auth, Balance, Identity, Transactions) and SDK error-handling snippets.

              TrueLayernone0/10

              Evidence confirms TrueLayer exposes a versioned API (Payments API v3) but nowhere documents a deprecation policy, versioning changelog, or sunset schedule for older API versions. Missing for 10: any versioning/deprecation policy page, changelog, migration guide, or sunset timeline evidence.

              • [claimed-docs] The Payments API v3 allows you to make and accept payments and payouts in the UK and EU.
              • [claimed-docs] The Payments API v3 uses a pair of ECDSA keys in addition to a bearer token.
              • [probe] PROBE openapi: all candidate paths 404 (https://docs.truelayer.com/openapi.json, https://docs.truelayer.com/swagger.json, https://docs.truel…

            Automation depth — how much of the product can run unattendedAutomation depth

            How much of the product can run unattended

            1. ai-native userPerform bulk operations across many items at once

              weight 2 · round drawn
              Plaidnone0/10

              Plaid's docs describe per-Item operations (Auth, Balance, Identity, Transactions, sandbox item creation) and webhooks, but no evidence shows a bulk/batch API for operating across many Items simultaneously (e.g., no bulk sync, bulk webhook re-fire, or multi-item query endpoint documented).

                TrueLayernone0/10

                The evidence pack covers single-payment, single-payout, and single-mandate creation flows, webhooks, and MCP tool for one-off payment links, but no documentation of any batch/bulk endpoint for processing many payments, payouts, or accounts in one call. Missing for 10: batch payment/payout creation endpoints, bulk data export or bulk verification APIs, any documented rate/volume-oriented bulk operation.

                • [claimed-docs] The Payments API v3 allows you to make and accept payments and payouts in the UK and EU.
                • [claimed-docs] Send payments to bank accounts. Covers the API, beneficiary management and reconciliation.
                • [claimed-docs] Send payouts to bank accounts that have been verified against a user's identity.
                • [claimed-docs] Use the following steps to learn how to create a new payment mandate for your user. You'll need this mandate to set up recurring payments.
                • [claimed-docs] create-truelayer-payment-link` - Generate a new payment link for initiating a payment from a bank account to the TrueLayer merchant account
              • ai-native userDefine rules that trigger actions automatically on events

                weight 3 · round drawn

                Plaid provides webhooks that notify developers of events (item changes, transaction updates, async completions), which can be used to build automated reactions, but there is no evidence of a declarative rules engine where an AI-native user defines 'if event X then action Y' logic directly within Plaid—developers must write their own handling code. Missing for 10: a native rule/condition-action builder, AI-triggered automation config, or no-code trigger definitions beyond raw webhook payloads.

                • [claimed-docs] Plaid sends webhooks to programmatically inform you about changes to Plaid Items or the status of asynchronous processes.
                • [claimed-docs] Retrieve up to 24 months of transaction data and stay up-to-date with webhooks
                • [github] try { await plaidClient.transactionsSync(request); } catch (error) { const err = error.response.data; }
                TrueLayerpartialclaimed4/10

                TrueLayer provides webhooks that notify external systems on payment status events, and payment mandates that execute automatically once authorised (e.g. VRPs, Direct Debits), giving building blocks for event-driven automation. However, there is no evidence of a native rules-engine or condition/action configuration UI where a user defines arbitrary 'if event X then do Y' automations within TrueLayer itself — the actual rule logic must be built by the developer's own system consuming the webhook. Missing for 10: a documented rules/automation engine, in-product trigger-action configuration, and any first-party or independent example of user-defined automation rules beyond webhooks and fixed mandate execution.

                • [claimed-docs] Webhooks are JSON-format notifications you receive when any event occurs within the Payments API v3.
                • [claimed-docs] webhooks inform you about: when a payment changes to a new status in the authorisation process
                • [claimed-docs] Use the following steps to learn how to create a new payment mandate for your user. You'll need this mandate to set up recurring payments.
                • [claimed-docs] Once you create a payment on an authorised mandate, it executes immediately without requiring further user authorisation.
                • [claimed-docs] Payment mandates belong to one of three types: Sweeping VRPs... Wave 1 VRPs... Direct Debits
                • [claimed-docs] Each of your apps in Console can have a single webhook URI, which the Payments API sends webhooks to.
              • ai-native userSchedule recurring jobs or workflows

                weight 2 · round to TrueLayer
                Plaidnone0/10

                The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)

                  TrueLayerpartialclaimed5/10

                  TrueLayer supports payment mandates (VRPs) that, once authorised, let a payment execute automatically and repeatedly without further user authorisation — a domain-specific form of recurring workflow (docs-15, docs-16, docs-30, docs-31). However there is no evidence of a general-purpose scheduler, cron-like triggers, or workflow orchestration beyond recurring payments themselves. missing for 10: general job/workflow scheduling primitives, evidence of scheduling cadence configuration (daily/weekly/custom), and any non-payment automation use case.

                  • [claimed-docs] Use the following steps to learn how to create a new payment mandate for your user. You'll need this mandate to set up recurring payments.
                  • [claimed-docs] Once you create a payment on an authorised mandate, it executes immediately without requiring further user authorisation.
                  • [claimed-docs] Payment mandates belong to one of three types: Sweeping VRPs... Wave 1 VRPs... Direct Debits
                  • [claimed-docs] After you create a payment mandate and your user has authorised it, you can create a payment on the mandate... it executes immediately.

                Balance ownership — stories about balance ownership in this arenaBalance ownership

                Stories about balance ownership in this arena

                Ach details

                1. developerObtain verified account and routing numbers (or tokenized equivalents) from a linked account to fund ACH or bank-debit payments without micro-deposits

                  weight 3 · round to Plaid

                  Plaid Auth explicitly provides checking/savings/cash management account and routing numbers to initiate ACH/wire debits/credits without micro-deposits, and is paired with Balance and Identity for verification, with Sandbox/Link supporting full dev testing. missing for 10: no independent/hands-on corroboration of micro-deposit-free instant verification success rate, and no explicit mention of tokenized-equivalent output formats.

                  • [claimed-docs] Auth allows you to request a user's checking, savings, or cash management account and routing number, making it easy for you to initiate cre…
                  • [claimed-docs] Balance is Plaid's product for receiving real-time balance information. This data is commonly used to tell if an account has sufficient fund…
                  • [claimed-docs] Plaid's Identity product helps you verify users' identities by accessing information on file with their financial institution.
                  • [claimed-docs] Plaid Link is the client-side component that your users will interact with in order to link their accounts to Plaid and allow you to access …
                  • [claimed-docs] The Plaid Sandbox is a free and fully-featured environment for application development and testing. All Plaid functionality of both the Plai…
                  TrueLayernone0/10

                  TrueLayer's documented Payments/Verification/Data APIs operate on UK/EU account identifiers (sort code/account number, IBAN, Direct Debit, Faster Payments, VRPs) and provide identity/name verification, not US-style ACH funding via account/routing numbers or tokenized ACH equivalents. No evidence pack item references ACH, routing numbers, or micro-deposit-free bank-debit tokenization.

                  • [claimed-docs] Verify that a bank account belongs to a given user.
                  • [claimed-docs] Send payouts to bank accounts that have been verified against a user's identity.
                  • [claimed-docs] We compare the identity data to the account holder's name for all the connected account(s) the user has given consent for.
                  • [claimed-docs] Payment mandates belong to one of three types: Sweeping VRPs... Wave 1 VRPs... Direct Debits
                  • [claimed-docs] Store bank account details for future payment initiation. Covers setup, consent and reuse.

                Balances

                1. developerFetch a real-time balance for a connected account before initiating a payment — a documented balance endpoint intended for NSF and risk checks

                  weight 3 · round to Plaid

                  Plaid's Balance product is explicitly documented as a real-time balance endpoint used to check sufficient funds before using an account as a payment funding source, directly matching the NSF/risk-check use case. missing for 10: independent hands-on developer confirmation of the /accounts/balance/get endpoint behavior and no explicit mention of latency/SLA guarantees for pre-payment checks.

                  • [claimed-docs] Balance is Plaid's product for receiving real-time balance information. This data is commonly used to tell if an account has sufficient fund…
                  TrueLayerpartialclaimed5/10

                  TrueLayer's Data API documents reading account balances (truelayer-docs-5, truelayer-docs-28), which could be used before initiating a payment, but there is no documented endpoint or guidance explicitly framed as a pre-payment real-time balance/NSF or risk check tied to the Payments API flow. missing for 10: explicit documentation of a balance-check step integrated into the payment initiation flow, real-time/NSF-specific balance endpoint framing, and independent confirmation of this workflow.

                  • [claimed-docs] Read account information, balances and transaction history from a user's bank.
                  • [claimed-docs] Access identity, accounts, transactions and balance data for all integrated banks with a single interface.
                  • [claimed-docs] The Payments API v3 allows you to make and accept payments and payouts in the UK and EU.

                Ownership

                1. ops leadRetrieve account-holder details — names, addresses, contact data on file at the bank — to match the account owner against my customer

                  weight 2 · round to Plaid

                  Plaid's Identity product is explicitly documented to return name, phone, email, and mailing address on file with the account holder's financial institution, directly matching the ops-lead need to verify account-owner identity against a customer record. Missing for 10: no independent/hands-on corroboration of match-accuracy or match-rate quality, and no explicit description of a 'match' scoring feature (e.g., identity match API) beyond raw data retrieval.

                  • [claimed-docs] Plaid's Identity product helps you verify users' identities by accessing information on file with their financial institution.
                  • [claimed-docs] Plaid's Identity product helps you verify users' identities by accessing information on file with their financial institution. Using Identit…
                  TrueLayerpartialclaimed5/10

                  TrueLayer's Data API exposes 'identity' data alongside accounts/transactions/balances, and its Verification API explicitly compares identity data (name) against connected account holders — supporting name-based ownership matching. However, the evidence never confirms retrieval of addresses or contact details on file at the bank, only name matching. Missing for 10: explicit documentation of address/contact fields returned by the identity endpoint, and any hands-on confirmation of full account-holder profile retrieval.

                  • [claimed-docs] Access identity, accounts, transactions and balance data for all integrated banks with a single interface.
                  • [claimed-docs] We compare the identity data to the account holder's name for all the connected account(s) the user has given consent for.

                Processor tokens

                1. developerLinked accounts plug into my payment processor — documented integrations or token exchange that hand verified account credentials to third-party processors and platforms

                  weight 2 · round to Plaid

                  Plaid's Auth product explicitly hands over verified account and routing numbers to enable third-party ACH/wire debits/credits, and Payment Initiation extends this to real-time European bank transfers without manual entry, with Balance/Identity supplementing verification data used by payment processors. This is documented as a core first-party capability (token exchange via Link → API access to account credentials for downstream money movement). missing for 10: named case studies/integrations with specific processors (e.g., Stripe), independent technical corroboration of the token-exchange flow beyond docs.

                  • [claimed-docs] Auth allows you to request a user's checking, savings, or cash management account and routing number, making it easy for you to initiate cre…
                  • [claimed-docs] Balance is Plaid's product for receiving real-time balance information. This data is commonly used to tell if an account has sufficient fund…
                  • [claimed-docs] Plaid's European Payments suite enables your users to make real-time payments without manually entering their account details or leaving you…
                  • [claimed-docs] Plaid's European Payments suite enables your users to make real-time payments without manually entering their account details or leaving you…
                  • [claimed-docs] Plaid Link is the client-side component that your users will interact with in order to link their accounts to Plaid and allow you to access …
                  TrueLayerpartialclaimed6/10

                  TrueLayer documents Data API/Verification API flows that verify account ownership and identity, plus Payments API mechanisms (mandates, webhooks, signed requests) that let merchants/platforms initiate verified payments to bank accounts — this covers the core 'linked accounts feed a payment processor' story. However, evidence is entirely first-party docs describing TrueLayer's own APIs as the processor, not clear documentation of handing verified credentials to a distinct third-party processor/platform via token exchange. missing for 10: independent/hands-on confirmation, explicit third-party processor handoff or OAuth token exchange spec, and real-world integration case studies beyond marketing snippets.

                  • [claimed-docs] Verify that a bank account belongs to a given user.
                  • [claimed-docs] Read account information, balances and transaction history from a user's bank.
                  • [claimed-docs] Store bank account details for future payment initiation. Covers setup, consent and reuse.
                  • [claimed-docs] Send payouts to bank accounts that have been verified against a user's identity.
                  • [claimed-docs] Access identity, accounts, transactions and balance data for all integrated banks with a single interface.
                  • [claimed-docs] We compare the identity data to the account holder's name for all the connected account(s) the user has given consent for.
                  • [claimed-docs] Use the following steps to learn how to create a new payment mandate for your user. You'll need this mandate to set up recurring payments.
                  • [claimed-docs] After you create a payment mandate and your user has authorised it, you can create a payment on the mandate... it executes immediately.
                  • [claimed-docs] Use TrueLayer for payments in your webshop with our plugins for WooCommerce, Shopify and Magento.

                Banking agent access — stories about banking agent access in this arenaBanking agent access

                Stories about banking agent access in this arena

                Agent data

                1. ai-native userThe data comes back agent-consumable — clean structured JSON, documented schemas, and enrichment an automated financial workflow can reason over without heuristic parsing

                  weight 2 · round to TrueLayer

                  Plaid's docs describe structured JSON products (Auth, Balance, Identity, Transactions) with clear semantics and webhooks for async updates, and SDKs show typed request/response handling with try/catch error parsing, suggesting machine-consumable output. However, there's no evidence of a public OpenAPI/JSON-schema spec (probe explicitly found 404s for openapi.json/swagger.json), and no documentation of transaction enrichment/categorization features an agent could reason over without extra parsing logic. Missing for 10: published OpenAPI or JSON schema definitions, explicit enrichment/categorization documentation, and independent confirmation that outputs require no heuristic post-processing.

                  • [claimed-docs] Auth allows you to request a user's checking, savings, or cash management account and routing number, making it easy for you to initiate cre…
                  • [claimed-docs] Balance is Plaid's product for receiving real-time balance information. This data is commonly used to tell if an account has sufficient fund…
                  • [claimed-docs] Retrieve up to 24 months of transaction data and stay up-to-date with webhooks
                  • [claimed-docs] Plaid sends webhooks to programmatically inform you about changes to Plaid Items or the status of asynchronous processes.
                  • [github] try { await plaidClient.transactionsSync(request); } catch (error) { const err = error.response.data; }
                  • [github] All errors can now be caught using try/catch with async/await or through promise chaining.
                  • [probe] PROBE openapi: all candidate paths 404 (https://plaid.com/openapi.json, https://plaid.com/swagger.json, https://plaid.com/api/openapi.json, …
                  TrueLayerpartialprobed7/10

                  TrueLayer's Data API returns structured JSON (identity, accounts, transactions, balances) with a dedicated MCP server letting an AI assistant like Claude perform banking operations directly, and typed SDKs abstract the raw API surface — all strong signals of agent-consumable design. However, a probe found no discoverable OpenAPI/JSON schema (all candidate schema paths 404'd), and no evidence describes transaction enrichment (categorization, merchant normalization) that would let an agent reason without heuristic parsing. Missing for 10: published machine-readable schema/OpenAPI spec, documented data enrichment/categorization features, independent corroboration of agent consumption in practice.

                  • [claimed-docs] Access identity, accounts, transactions and balance data for all integrated banks with a single interface.
                  • [claimed-docs] Webhooks are JSON-format notifications you receive when any event occurs within the Payments API v3.
                  • [claimed-docs] SDKs for Node.js, Python, Java and .NET.
                  • [claimed-docs] They simplify API calls with easy-to-use interfaces, type-hinted methods and abstractions. They also automate request signing for all Paymen…
                  • [claimed-docs] By integrating the TrueLayer MCP server with this AI assistant, you'd empower Claude AI to perform a range of banking and payment operations…
                  • [claimed-docs] create-truelayer-payment-link` - Generate a new payment link for initiating a payment from a bank account to the TrueLayer merchant account
                  • [probe] official MCP server documented at https://docs.truelayer.com/docs/truelayer-mcp-integration-for-claude-ai
                  • [probe] PROBE openapi: all candidate paths 404 (https://docs.truelayer.com/openapi.json, https://docs.truelayer.com/swagger.json, https://docs.truel…

                Agent operations

                1. ai-native userAn agent can operate the platform — create link sessions, retrieve balances and transactions, and manage connections through the API or an MCP surface with scoped credentials

                  weight 3 · round drawn

                  Plaid's REST API comprehensively covers the core story — creating Link sessions (plaid-docs-5), retrieving balances (plaid-docs-2), pulling transactions (plaid-docs-4, plaid-gh-1), and managing connections/Items via webhooks (plaid-docs-8) — and SDKs like plaid-node make this scriptable by an agent. However, the only documented MCP surface is the Dashboard MCP server, which is scoped to Production diagnostics/analytics (debugging Items, Link conversion, usage metrics) rather than operational banking actions like initiating Link or pulling balances/transactions (plaid-docs-9, plaid-probe-4). Missing for 10: an MCP surface (or equivalent agent-native interface) that actually performs Link session creation/balance/transaction retrieval, and explicit documentation of scoped/limited credentials designed for autonomous agent use rather than server-side API keys.

                  • [claimed-docs] Plaid Link is the client-side component that your users will interact with in order to link their accounts to Plaid and allow you to access …
                  • [claimed-docs] Balance is Plaid's product for receiving real-time balance information. This data is commonly used to tell if an account has sufficient fund…
                  • [claimed-docs] Retrieve up to 24 months of transaction data and stay up-to-date with webhooks
                  • [claimed-docs] Plaid sends webhooks to programmatically inform you about changes to Plaid Items or the status of asynchronous processes.
                  • [github] try { await plaidClient.transactionsSync(request); } catch (error) { const err = error.response.data; }
                  • [claimed-docs] The Dashboard MCP server is a remote MCP server hosted by Plaid. It provides Production diagnostics and analytics tools, including tools for…
                  • [probe] official MCP server documented at https://plaid.com/docs/resources/mcp/
                  TrueLayerpartialprobed6/10

                  TrueLayer ships an official MCP server for Claude AI (truelayer-docs-17, probe-3) with at least a documented `create-truelayer-payment-link` tool (truelayer-docs-27), and its APIs separately support account/balance/transaction retrieval (truelayer-docs-5, truelayer-docs-28) and connection management with scoped client credentials and ECDSA-signed requests (truelayer-docs-12, truelayer-docs-21). However, the MCP surface itself is only shown to expose link-session creation, not balance/transaction retrieval or connection management as MCP tools. Missing for 10: explicit MCP tools/endpoints for balance/transaction retrieval and connection management, and documentation of MCP-specific scoped credentials rather than general API auth.

                  • [claimed-docs] By integrating the TrueLayer MCP server with this AI assistant, you'd empower Claude AI to perform a range of banking and payment operations…
                  • [claimed-docs] create-truelayer-payment-link` - Generate a new payment link for initiating a payment from a bank account to the TrueLayer merchant account
                  • [claimed-docs] Read account information, balances and transaction history from a user's bank.
                  • [claimed-docs] Access identity, accounts, transactions and balance data for all integrated banks with a single interface.
                  • [claimed-docs] The Payments API v3 uses a pair of ECDSA keys in addition to a bearer token.
                  • [claimed-docs] Invite users so they can retrieve your integration's client credentials, access the payments view, or issue refunds.
                  • [probe] official MCP server documented at https://docs.truelayer.com/docs/truelayer-mcp-integration-for-claude-ai

                Consent security — stories about consent security in this arenaConsent security

                Stories about consent security in this arena

                Consent

                1. ops leadEnd users can see and revoke what they've shared — a documented consent surface or portal where a user manages which apps hold access to their bank data

                  weight 2 · round drawn
                  Plaidnone0/10

                  The evidence pack contains no documentation of a Plaid-hosted consent management portal or dashboard where end users can view or revoke connected apps' access to their bank data; Plaid Link (docs-5) only covers the initial linking/consent flow, not ongoing management or revocation. Community comments even show a user explicitly asking how to revoke Plaid's access with no clear answer, reinforcing the absence of a documented self-service revocation surface.

                  • [claimed-docs] Plaid Link is the client-side component that your users will interact with in order to link their accounts to Plaid and allow you to access …
                  • [community] I gave them access to my bank via coinbase. If I change my bank password would they lose access to my account? If not, what do I need to do …
                  TrueLayernone0/10

                  No evidence of an end-user-facing consent dashboard or portal for viewing/revoking bank data access; documentation only covers developer-side consent creation (mandates, verification consent) and admin Console user management, not an end-user self-service revocation surface.

                  Deletion

                  1. ops leadSever and clean up — a documented way to delete a connection or user and have the platform stop collecting and purge held data

                    weight 2 · round drawn
                    Plaidnone0/10

                    The evidence pack contains no documentation of an item/access-token deletion endpoint, account disconnection flow, or data purge/retention policy — only product feature docs (Auth, Balance, Identity, Transactions) and Sandbox/dashboard mentions. A community comment even shows a user asking how to revoke Plaid's bank access with no clear answer surfaced, reinforcing the absence of a documented sever-and-purge mechanism in the pack.

                    • [community] I gave them access to my bank via coinbase. If I change my bank password would they lose access to my account? If not, what do I need to do …
                    • [claimed-docs] Retrieve up to 24 months of transaction data and stay up-to-date with webhooks
                    • [claimed-docs] Plaid sends webhooks to programmatically inform you about changes to Plaid Items or the status of asynchronous processes.
                    TrueLayernone0/10

                    No evidence pack item documents a way to delete a connection/user, revoke consent, stop data collection, or purge held data; documentation covers payments, mandates, webhooks, and MCP integration but nothing about consent revocation or data deletion/erasure workflows.

                    Scopes

                    1. developerI request only the data scopes I need — product-scoped consents and documented data-minimization controls, not an all-or-nothing grant

                      weight 2 · round to TrueLayer

                      Plaid's docs show genuinely separate, scopeable products (Auth, Balance, Identity, Transactions, Payment Initiation) that a developer can choose to request individually rather than one monolithic grant, which supports a product-scoped consent model. However, independent/community reports concretely contradict the 'data-minimization by design' claim: users report Plaid flows give 'no indication... you're likely giving away much more than just the bare minimum' and that dark patterns lead to over-broad grants (transaction, identity, balance data) beyond what the integrating app needs. Missing for 10: first-party documentation of a scoped-consent UI/permission screen, independent audit confirming least-privilege enforcement, and no rebuttal to the dark-pattern complaints.

                      • [claimed-docs] Auth allows you to request a user's checking, savings, or cash management account and routing number, making it easy for you to initiate cre…
                      • [claimed-docs] Balance is Plaid's product for receiving real-time balance information. This data is commonly used to tell if an account has sufficient fund…
                      • [claimed-docs] Plaid's Identity product helps you verify users' identities by accessing information on file with their financial institution.
                      • [claimed-docs] Retrieve up to 24 months of transaction data and stay up-to-date with webhooks
                      • [claimed-docs] Plaid's European Payments suite enables your users to make real-time payments without manually entering their account details or leaving you…
                      • [community] Have to say I'm not a fan of Plaid at all. Dark patterns galore. Absolutely no indication when you go through a Plaid flow that you're likel…
                      • [community] Plaid is a terrible company. Their main product scrapes financial data from unsuspecting users that simply think they're making a bank trans…
                      TrueLayerpartialclaimed5/10

                      TrueLayer offers distinct product APIs (Payments, Data/Account Info, Verification, Payouts) that developers can integrate separately, implying some scoping by product, and Data API notes consent is tied to specific connected accounts a user has approved. However there is no explicit documentation of granular, developer-selectable OAuth scopes or a consent screen showing minimized data requests per call. missing for 10: explicit scope/permission parameters documented in API reference, evidence of a consent UI showing selectable data categories, and independent confirmation that unused scopes aren't granted by default.

                      • [claimed-docs] Access identity, accounts, transactions and balance data for all integrated banks with a single interface.
                      • [claimed-docs] We compare the identity data to the account holder's name for all the connected account(s) the user has given consent for.
                      • [claimed-docs] Read account information, balances and transaction history from a user's bank.
                      • [claimed-docs] The Payments API v3 allows you to make and accept payments and payouts in the UK and EU.
                      • [claimed-docs] Send payouts to bank accounts that have been verified against a user's identity.

                    Data freshness — stories about data freshness in this arenaData freshness

                    Stories about data freshness in this arena

                    Refresh

                    1. developerTrigger an on-demand refresh of a connected account's data through the API when my use case needs now-fresh data, with the refresh semantics documented

                      weight 2 · round to Plaid

                      The evidence shows Plaid supports webhook-based updates (plaid-docs-8, plaid-docs-4) and an API-driven `transactionsSync` call (plaid-gh-1, plaid-gh-2) that developers can invoke to pull current data, which is adjacent to an on-demand refresh trigger, but the pack never cites Plaid's dedicated refresh endpoint (e.g. /transactions/refresh) or documents its specific semantics (timing, cost, which products support it). Missing for 10: explicit documentation of a refresh-on-demand endpoint and its semantics, confirmation of which products it applies to, and any independent/hands-on confirmation of its behavior.

                      • [claimed-docs] Plaid sends webhooks to programmatically inform you about changes to Plaid Items or the status of asynchronous processes.
                      • [claimed-docs] Retrieve up to 24 months of transaction data and stay up-to-date with webhooks
                      • [github] try { await plaidClient.transactionsSync(request); } catch (error) { const err = error.response.data; }
                      • [github] All errors can now be caught using try/catch with async/await or through promise chaining.
                      TrueLayernone0/10

                      The evidence pack documents TrueLayer's Data API for reading account info, balances, and transactions, but contains no mention of an explicit on-demand refresh endpoint or documented refresh semantics (e.g., cache TTLs, force-refresh parameters, or freshness guarantees). This is a fair axis for an open banking data API, but no supporting evidence exists.

                      • [claimed-docs] Read account information, balances and transaction history from a user's bank.
                      • [claimed-docs] Access identity, accounts, transactions and balance data for all integrated banks with a single interface.

                    Webhooks

                    1. developerData changes arrive as signed webhooks — new transactions, balance updates, connection state changes — so my system stays current without polling

                      weight 2 · round to Plaid

                      Plaid's docs explicitly describe webhooks for transactions, balance, and Item/connection state changes to keep systems updated without polling, and this is a well-documented core mechanism (plaid-docs-4, plaid-docs-8) reinforced by SDK error-handling examples showing transactionsSync usage in conjunction with webhooks (plaid-gh-1). No evidence indicates webhook signing/verification is missing or broken. Missing for 10: explicit mention of webhook signature verification mechanics and independent third-party confirmation of webhook reliability in production.

                      • [claimed-docs] Retrieve up to 24 months of transaction data and stay up-to-date with webhooks
                      • [claimed-docs] Plaid sends webhooks to programmatically inform you about changes to Plaid Items or the status of asynchronous processes.
                      • [github] try { await plaidClient.transactionsSync(request); } catch (error) { const err = error.response.data; }
                      TrueLayerpartialclaimed5/10

                      TrueLayer documents signed webhooks (Tl-Signature validation) for the Payments API, notifying about payment status changes during authorisation — this covers signed delivery and payment state changes, but the evidence never shows webhooks for the Data API events explicitly named in the story (new transactions, balance updates, connection/consent state changes). Missing for 10: documented webhook events for transaction/balance/connection state changes on the Data/Accounts side, and any confirmation these are pushed rather than requiring polling of the Data API.

                      • [claimed-docs] We strongly recommend you use our signing libraries to verify the `Tl-Signature` of any webhooks you receive.
                      • [claimed-docs] Webhooks are JSON-format notifications you receive when any event occurs within the Payments API v3.
                      • [claimed-docs] webhooks inform you about: when a payment changes to a new status in the authorisation process
                      • [claimed-docs] You must validate all incoming webhook requests through the `Tl-Signature` that accompanies the webhook.
                      • [claimed-docs] Each of your apps in Console can have a single webhook URI, which the Payments API sends webhooks to.
                      • [claimed-docs] Access identity, accounts, transactions and balance data for all integrated banks with a single interface.

                    Institution coverage — stories about institution coverage in this arenaInstitution coverage

                    Stories about institution coverage in this arena

                    Coverage

                    1. founderThe platform documents how many institutions it reaches and where — published coverage numbers and geographies I can check against where my users actually bank

                      weight 3 · round to TrueLayer

                      The pack shows only a narrow geography claim (payment-initiation supports '18 European markets') but no overall institution count or country-by-country coverage list that a founder could check against user banks. missing for 10: published total institution count, per-country/region coverage breakdown, and any independent verification of coverage claims.

                      • [claimed-docs] Plaid's European Payments suite enables your users to make real-time payments without manually entering their account details or leaving you…
                      TrueLayerpartialclaimed5/10

                      Docs state payments coverage spans UK and EU and provide a providers endpoint to query which banks are supported per country/segment, giving founders a way to check coverage against their user base. However, there's no published aggregate coverage numbers (e.g., total institutions reached) or a static geography breakdown document — only an API-based lookup. Missing for 10: published institution-count statistics, a documented list/table of supported countries and bank counts, and independent verification of coverage claims.

                      • [claimed-docs] The Payments API v3 allows you to make and accept payments and payouts in the UK and EU.
                      • [claimed-docs] Query the providers endpoint to see which banks are supported in each European country and segment.

                    Status

                    1. ops leadPer-institution health is visible — documented institution statuses, outage or degradation signals, and error codes that distinguish a bank problem from my problem

                      weight 2 · round to Plaid

                      Plaid documents webhooks for Item status changes and SDK-level error handling, and offers a Dashboard MCP server with 'diagnostics tools' for debugging Items, which supports some institution-health visibility. However, there is no evidence of a documented institution-status/error-code taxonomy (e.g., distinguishing bank outages from integration errors) or a public status page for individual institutions. Missing for 10: documented per-institution error code list distinguishing bank vs. client errors, an institution status/outage dashboard or feed, and independent confirmation these diagnostics reliably surface bank-side outages.

                      • [claimed-docs] Plaid sends webhooks to programmatically inform you about changes to Plaid Items or the status of asynchronous processes.
                      • [github] try { await plaidClient.transactionsSync(request); } catch (error) { const err = error.response.data; }
                      • [github] All errors can now be caught using try/catch with async/await or through promise chaining.
                      • [claimed-docs] The Dashboard MCP server is a remote MCP server hosted by Plaid. It provides Production diagnostics and analytics tools, including tools for…
                      • [probe] official MCP server documented at https://plaid.com/docs/resources/mcp/
                      TrueLayernone0/10

                      Evidence shows a providers endpoint for bank coverage/support by country (truelayer-docs-10) and generic webhook status events (truelayer-docs-33), but nothing documents per-institution health status, outage/degradation signals, or error codes that distinguish a bank-side failure from an integration-side one — missing for 10: institution status page/API, outage/degradation indicators, and error taxonomy separating bank vs merchant faults.

                      • [claimed-docs] Query the providers endpoint to see which banks are supported in each European country and segment.
                      • [claimed-docs] webhooks inform you about: when a payment changes to a new status in the authorisation process

                    Integration dx — sandboxes, test modes, webhooks, and how fast a developer gets to a working integrationIntegration dx

                    Sandboxes, test modes, webhooks, and how fast a developer gets to a working integration

                    Multi product

                    1. developerOne link session can power multiple data products — auth, balances, transactions, identity — without forcing the user through separate connection flows per product

                      weight 2 · round to TrueLayer

                      Plaid's sandbox docs explicitly mention creating an Item with 'initial products' (plural) via a single public_token, implying one Link-created Item can be enabled for multiple products (auth, balance, identity, transactions) at once rather than separate connections. However, the evidence pack never explicitly confirms a single Link session UX flow surfacing multiple products to the end user in one consent step. Missing for 10: an explicit doc/example showing a single Link token configured with products=['auth','balances','transactions','identity'] and the resulting single end-user consent flow, plus independent/hands-on confirmation.

                      • [claimed-docs] you can also create Items in Sandbox via the API, using a special Sandbox-only endpoint, /sandbox/public_token/create. This endpoint allows …
                      • [claimed-docs] Plaid Link is the client-side component that your users will interact with in order to link their accounts to Plaid and allow you to access …
                      • [claimed-docs] Auth allows you to request a user's checking, savings, or cash management account and routing number, making it easy for you to initiate cre…
                      • [claimed-docs] Balance is Plaid's product for receiving real-time balance information. This data is commonly used to tell if an account has sufficient fund…
                      • [claimed-docs] Plaid's Identity product helps you verify users' identities by accessing information on file with their financial institution.
                      • [claimed-docs] Retrieve up to 24 months of transaction data and stay up-to-date with webhooks
                      TrueLayerfullclaimed7/10

                      TrueLayer's Data API docs describe a single interface that covers identity, accounts, transactions and balance data across all integrated banks, implying one connection can serve multiple data products rather than separate flows per product ([truelayer-docs-28], [truelayer-docs-5]). Missing for 10: explicit description of the underlying consent/session mechanics (e.g., how one auth link's token scopes map to multiple product calls without re-prompting the user) and independent/hands-on confirmation that no re-authentication is required per product.

                      • [claimed-docs] Access identity, accounts, transactions and balance data for all integrated banks with a single interface.
                      • [claimed-docs] Read account information, balances and transaction history from a user's bank.
                      • [claimed-docs] Verify that a bank account belongs to a given user.
                      • [claimed-docs] We compare the identity data to the account holder's name for all the connected account(s) the user has given consent for.

                    Quickstart

                    1. developerGo from signup to my first linked sandbox account fast — self-serve API keys, a runnable quickstart, and client libraries in my language

                      weight 2 · round to TrueLayer

                      Docs show self-serve signup via Dashboard for API keys, a runnable Quickstart app, a fully-featured free Sandbox environment supporting all products, and a Node client library with async/await error handling. However, there's no explicit evidence of the breadth of client libraries across multiple languages, no independent hands-on confirmation of quickstart speed/ease, and no OpenAPI spec discoverable via probes. missing for 10: multi-language client library coverage evidence, independent/hands-on time-to-first-linked-account confirmation, public OpenAPI/API reference spec.

                      • [claimed-docs] The Plaid Sandbox is a free and fully-featured environment for application development and testing... you can create an unlimited number of …
                      • [claimed-docs] Let's test out running Plaid locally by cloning the Quickstart app. You'll need API keys, which you can receive by signing up in the Dashboa…
                      • [claimed-docs] The Plaid Sandbox is a free and fully-featured environment for application development and testing. All Plaid functionality of both the Plai…
                      • [claimed-docs] you can also create Items in Sandbox via the API, using a special Sandbox-only endpoint, /sandbox/public_token/create. This endpoint allows …
                      • [github] try { await plaidClient.transactionsSync(request); } catch (error) { const err = error.response.data; }
                      • [github] All errors can now be caught using try/catch with async/await or through promise chaining.
                      • [probe] PROBE openapi: all candidate paths 404 (https://plaid.com/openapi.json, https://plaid.com/swagger.json, https://plaid.com/api/openapi.json, …
                      TrueLayerfullclaimed7/10

                      TrueLayer docs describe a self-serve quickstart that creates a free UK merchant account and completes a first test payment, plus SDKs for Node.js, Python, Java and .NET and dedicated signing libraries to speed integration. This directly matches the signup-to-first-linked-sandbox-account story, though all evidence is first-party docs with no independent/hands-on corroboration of actual time-to-first-success. Missing for 10: independent developer reports confirming ease/speed of the flow, explicit sandbox-environment terminology (vs 'test payment'), and confirmation that API key generation itself is fully self-serve without sales contact.

                      • [claimed-docs] you'll create a free UK merchant account and complete your first test payment with the Payments API v3
                      • [claimed-docs] SDKs for Node.js, Python, Java and .NET.
                      • [claimed-docs] They simplify API calls with easy-to-use interfaces, type-hinted methods and abstractions. They also automate request signing for all Paymen…
                      • [claimed-docs] We offer signing libraries in these languages
                      • [github] Convenient libraries to produce TrueLayer API requests signatures.

                    Sandbox

                    1. developerA sandbox with test institutions and documented test credentials lets me exercise linking, data retrieval, and error states end-to-end before touching a real bank account

                      weight 3 · round to Plaid

                      Plaid's Sandbox docs describe a free, fully-featured test environment supporting all API and Link functionality, unlimited test Items, a special sandbox-only endpoint to create Items with arbitrary institution IDs and test credentials, and SDK error-handling examples for exercising error states end-to-end. This directly matches the story's need to test linking, data retrieval, and error flows before touching real accounts. Missing for 10: independent/hands-on developer corroboration of the sandbox experience beyond first-party docs.

                      • [claimed-docs] The Plaid Sandbox is a free and fully-featured environment for application development and testing... you can create an unlimited number of …
                      • [claimed-docs] The Plaid Sandbox is a free and fully-featured environment for application development and testing. All Plaid functionality of both the Plai…
                      • [claimed-docs] you can also create Items in Sandbox via the API, using a special Sandbox-only endpoint, /sandbox/public_token/create. This endpoint allows …
                      • [github] try { await plaidClient.transactionsSync(request); } catch (error) { const err = error.response.data; }
                      • [github] All errors can now be caught using try/catch with async/await or through promise chaining.
                      • [claimed-docs] Plaid Link is the client-side component that your users will interact with in order to link their accounts to Plaid and allow you to access …
                      TrueLayerpartialclaimed3/10

                      Docs reference a quickstart that walks through creating a free account and completing a 'test payment' and a providers endpoint to see supported banks, implying some testing path exists, but there is no explicit mention of a sandbox environment, documented test institutions, or test credentials for exercising the Data API (linking/account retrieval) or specific error-state scenarios end-to-end. Missing for 10: explicit sandbox/test-bank credentials documentation, coverage of Data API linking and retrieval testing, and documented error-state simulation.

                      • [claimed-docs] you'll create a free UK merchant account and complete your first test payment with the Payments API v3
                      • [claimed-docs] Query the providers endpoint to see which banks are supported in each European country and segment.
                      • [claimed-docs] Read account information, balances and transaction history from a user's bank.

                    Openness — open source, data portability, and self-hosting storiesOpenness

                    Open source, data portability, and self-hosting stories

                    1. ai-native userDo everything through the API that I can do in the UI

                      weight 2 · round to TrueLayer

                      Plaid is API-first for core financial data products, and Sandbox Items can be created via API instead of the Dashboard UI (plaid-docs-14), suggesting some UI/API parity. However, the docs explicitly describe Dashboard-only actions like customizing and publishing Link's flow (plaid-docs-11) and signing up for API keys (plaid-docs-10) with no corresponding API endpoint shown, and there's no OpenAPI spec or full endpoint catalog to confirm total parity (plaid-probe-3). Missing for 10: evidence that Dashboard-only settings (Link customization, key management, analytics) have API equivalents, and independent confirmation of full UI/API feature parity.

                      • [claimed-docs] You can customize parts of Link's flow straight from the Dashboard. You can preview your changes in real time and then publish them instantl…
                      • [claimed-docs] you can also create Items in Sandbox via the API, using a special Sandbox-only endpoint, /sandbox/public_token/create. This endpoint allows …
                      • [claimed-docs] Let's test out running Plaid locally by cloning the Quickstart app. You'll need API keys, which you can receive by signing up in the Dashboa…
                      • [probe] PROBE openapi: all candidate paths 404 (https://plaid.com/openapi.json, https://plaid.com/swagger.json, https://plaid.com/api/openapi.json, …
                      TrueLayerpartialprobed6/10

                      TrueLayer is API-first: payments, payouts, mandates, data/account access, verification, webhooks and signing are all exposed as core API operations with SDKs, and Console (the UI) appears to largely mirror these merchant operations. However, some Console-only functions (inviting team users, MFA setup, account management, monitoring/reporting dashboards) are described as UI actions with no evidence of an equivalent API/endpoint, and no OpenAPI spec is discoverable (probe 404s), making full programmatic parity unverifiable. missing for 10: API-equivalents for Console user/team management and MFA setup, a public OpenAPI/schema confirming full endpoint parity, and independent confirmation that all UI actions have API counterparts.

                      • [claimed-docs] The Payments API v3 allows you to make and accept payments and payouts in the UK and EU.
                      • [claimed-docs] Monitor payments and generate reports in Console.
                      • [claimed-docs] Quickly see your merchant account balances, access balance reports, and configure sweeping.
                      • [claimed-docs] Invite users so they can retrieve your integration's client credentials, access the payments view, or issue refunds.
                      • [claimed-docs] After you create an account, add another layer of security with multi-factor authentication (MFA).
                      • [probe] PROBE openapi: all candidate paths 404 (https://docs.truelayer.com/openapi.json, https://docs.truelayer.com/swagger.json, https://docs.truel…
                    2. ai-native userExport all of my data in open formats and leave

                      weight 3 · round drawn
                      Plaidnone0/10

                      The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)

                        TrueLayernone0/10

                        The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)

                        • ai-native userRead the product's source under an open license

                          weight 2 · round to TrueLayer
                          Plaidnone0/10

                          Plaid is a closed-source commercial API/SaaS product; its client SDKs (e.g., plaid-node) are open-source wrappers but the core Plaid service/source is not published under an open license, and no evidence shows the product's actual source available for inspection.

                            TrueLayerpartialclaimed2/10

                            TrueLayer's core payments/banking product is a closed proprietary SaaS API with no evidence of full source availability, but one auxiliary component—the request-signing library—is published as open source on GitHub. missing for 10: no open license for the actual product/platform source, only a small signing helper library is open.

                            • [github] Convenient libraries to produce TrueLayer API requests signatures.

                          Payment initiation — stories about payment initiation in this arenaPayment initiation

                          Stories about payment initiation in this arena

                          Pay by bank

                          1. developerInitiate a bank payment from a connected account — a documented pay-by-bank or payment-initiation product with its live geographies stated honestly

                            weight 2 · round to TrueLayer

                            Plaid documents a real Payment Initiation product enabling real-time bank payments across 18 named European markets, which is a fairly honest geography disclosure, but Plaid explicitly does not offer this product in the US (US flows rely on Auth+ACH via third-party rails, not Plaid-initiated payment). missing for 10: explicit US/global payment-initiation coverage or a clear statement of unsupported geographies beyond Europe, independent/hands-on confirmation of the payment-initiation flow working as documented, and clarity on settlement/liability model for developers.

                            • [claimed-docs] Plaid's European Payments suite enables your users to make real-time payments without manually entering their account details or leaving you…
                            • [claimed-docs] Plaid's European Payments suite enables your users to make real-time payments without manually entering their account details or leaving you…
                            • [claimed-docs] Auth allows you to request a user's checking, savings, or cash management account and routing number, making it easy for you to initiate cre…
                            TrueLayerfullclaimed8/10

                            TrueLayer's Payments API v3 is well documented for initiating pay-by-bank payments from a connected account, with a quickstart to create a test payment, payment links, mandates for recurring payments, and webhooks — and it explicitly states its live geographies as UK and EU (truelayer-docs-1, truelayer-docs-23, truelayer-docs-32, truelayer-docs-10). Missing for 10: independent/hands-on developer confirmation of the payment flow working end-to-end and a fully granular, country-by-country live-market breakdown beyond the UK/EU summary.

                            • [claimed-docs] The Payments API v3 allows you to make and accept payments and payouts in the UK and EU.
                            • [claimed-docs] Accept Pay by Bank payments. Covers the API, authentication, webhooks and testing.
                            • [claimed-docs] Generate payment links without a custom integration.
                            • [claimed-docs] Use the following steps to learn how to create a new payment mandate for your user. You'll need this mandate to set up recurring payments.
                            • [claimed-docs] you'll create a free UK merchant account and complete your first test payment with the Payments API v3
                            • [claimed-docs] Query the providers endpoint to see which banks are supported in each European country and segment.
                            • [claimed-docs] webhooks inform you about: when a payment changes to a new status in the authorisation process

                          Recurring

                          1. developerRecurring bank payments are supported — variable recurring payments, standing consents, or documented recurring debit flows built on the connection

                            weight 2 · round to TrueLayer
                            Plaidnone0/10

                            Plaid's Payment Initiation docs describe single real-time payments across European markets, with no mention of variable recurring payments, standing orders, or documented recurring debit/consent flows; Auth/ACH docs also only describe initiating one-off credits/debits, not recurring mandates.

                            • [claimed-docs] Plaid's European Payments suite enables your users to make real-time payments without manually entering their account details or leaving you…
                            • [claimed-docs] Plaid's European Payments suite enables your users to make real-time payments without manually entering their account details or leaving you…
                            • [claimed-docs] Auth allows you to request a user's checking, savings, or cash management account and routing number, making it easy for you to initiate cre…
                            TrueLayerfullclaimed8/10

                            TrueLayer documents payment mandates explicitly covering Sweeping VRPs, Wave 1 VRPs, and Direct Debits, with dedicated docs on creating a mandate and executing recurring payments on an authorised mandate without further user auth. This directly matches variable recurring payments, standing consents, and recurring debit flows built on the Payments API. Missing for 10: independent/hands-on corroboration beyond first-party docs, and more detail on standing consent lifecycle management (renewal/revocation).

                            • [claimed-docs] Use the following steps to learn how to create a new payment mandate for your user. You'll need this mandate to set up recurring payments.
                            • [claimed-docs] Once you create a payment on an authorised mandate, it executes immediately without requiring further user authorisation.
                            • [claimed-docs] Payment mandates belong to one of three types: Sweeping VRPs... Wave 1 VRPs... Direct Debits
                            • [claimed-docs] After you create a payment mandate and your user has authorised it, you can create a payment on the mandate... it executes immediately.

                          Privacy posture — data-handling and privacy storiesPrivacy posture

                          Data-handling and privacy stories

                          1. ai-native userChoose where my data is stored (region/residency)

                            weight 2 · round drawn
                            Plaidnone0/10

                            No evidence of any data residency/region selection controls in Plaid's documentation; the evidence pack covers products, sandbox, MCP server, and payment features but never mentions data storage location choice or regional hosting options.

                              TrueLayernone0/10

                              TrueLayer's evidence covers UK/EU payments and data APIs but nowhere mentions user-selectable data residency or region storage controls; the mention of UK/EU scope reflects operational coverage, not a configurable data-residency choice. Missing for 10: any documentation of data residency options, region selection controls, or storage location configurability.

                              • [claimed-docs] The Payments API v3 allows you to make and accept payments and payouts in the UK and EU.
                              • [claimed-docs] Access identity, accounts, transactions and balance data for all integrated banks with a single interface.
                            • ai-native userControl data retention and deletion

                              weight 2 · round drawn
                              Plaidnone0/10

                              No evidence pack item documents any user- or developer-facing mechanism for controlling data retention periods or deleting stored financial data in Plaid; docs cover data collection (Auth, Identity, Transactions, Balance) but not retention/deletion controls. Community commentary even shows a user unsure how to revoke Plaid's access, underscoring the absence of a clear deletion/retention feature.

                              • [claimed-docs] Retrieve up to 24 months of transaction data and stay up-to-date with webhooks
                              • [community] I gave them access to my bank via coinbase. If I change my bank password would they lose access to my account? If not, what do I need to do …
                              TrueLayernone0/10

                              No evidence of any data retention or deletion controls (e.g., data export, deletion API, retention policy settings) for AI-native users; evidence pack covers payments, data access APIs, webhooks, and MCP integration but nothing about controlling or deleting stored data.

                              • ai-native userOpt out of telemetry and usage tracking

                                weight 2 · round drawn
                                Plaidnone0/10

                                No evidence in the pack addresses telemetry or usage-tracking opt-out for Plaid's SDKs, Link, or APIs; the docs and community items focus on financial data access and privacy concerns about data collection scope, not an opt-out mechanism for usage analytics.

                                  TrueLayernone0/10

                                  TrueLayer is a payments/banking API platform; no evidence in the pack addresses telemetry/usage-tracking opt-out settings for AI-native users interacting with its MCP integration or SDKs. This axis is plausible for a platform with SDKs and an MCP server, but no documentation or feature is cited, so it's 'none' rather than 'na'.

                                  Transactions enrichment — stories about transactions enrichment in this arenaTransactions enrichment

                                  Stories about transactions enrichment in this arena

                                  Cashflow

                                  1. finance leadThe platform derives income and cash-flow signals from connected accounts — recurring streams, payroll detection, or documented income verification products built on the same data

                                    weight 2 · round drawn
                                    Plaidnone0/10

                                    The evidence pack covers Auth, Balance, Identity, Transactions, Payment Initiation and Link, but contains no mention of an Income product, payroll detection, or recurring-stream/cash-flow analytics built on transaction data — the specific capability the story asks about is absent from the pack.

                                      TrueLayernone0/10

                                      TrueLayer's Data API covers identity, accounts, balances and raw transaction history, but no evidence describes derived income/cash-flow signals such as recurring stream detection, payroll detection, or a dedicated income verification product built on the data.

                                      • [claimed-docs] Read account information, balances and transaction history from a user's bank.
                                      • [claimed-docs] Access identity, accounts, transactions and balance data for all integrated banks with a single interface.
                                      • [claimed-docs] We compare the identity data to the account holder's name for all the connected account(s) the user has given consent for.

                                    Enrichment

                                    1. developerRaw bank transactions come back enriched — cleaned merchant names, categories, and logos — documented as a capability of the platform, not left as an exercise for me

                                      weight 2 · round drawn
                                      Plaidnone0/10

                                      While Plaid's Transactions product is documented as returning transaction data, none of the evidence describes enrichment specifics like cleaned merchant names, categories, or logos being a documented feature — only raw transaction retrieval and webhooks are mentioned (plaid-docs-4, plaid-gh-1). Missing for 10: explicit documentation of merchant name cleaning, category taxonomy, and logo/icon fields as part of the Transactions response.

                                      • [claimed-docs] Retrieve up to 24 months of transaction data and stay up-to-date with webhooks
                                      • [github] try { await plaidClient.transactionsSync(request); } catch (error) { const err = error.response.data; }
                                      TrueLayernone0/10

                                      The Data API is documented as returning identity, accounts, transactions and balance data (truelayer-docs-28), but no evidence describes merchant name cleaning, categorization, or logo enrichment as a documented capability. Missing for 10: any mention of transaction enrichment, merchant name normalization, category tagging, or logo/icon data in the docs.

                                      • [claimed-docs] Access identity, accounts, transactions and balance data for all integrated banks with a single interface.

                                    Transactions

                                    1. developerPull transaction history for a connected account through the API — paginated, with documented history depth and a sync pattern for fetching only what changed

                                      weight 3 · round to Plaid

                                      Plaid's Transactions docs confirm up to 24 months of history and webhook-based updates, and the plaid-node SDK demonstrates the transactionsSync pattern for fetching only changed data, matching the story's pagination/sync/history-depth requirements. missing for 10: no explicit mention of pagination cursor mechanics or rate limits, and no independent/hands-on corroboration of sync behavior beyond the SDK snippet.

                                      • [claimed-docs] Retrieve up to 24 months of transaction data and stay up-to-date with webhooks
                                      • [github] try { await plaidClient.transactionsSync(request); } catch (error) { const err = error.response.data; }
                                      • [github] All errors can now be caught using try/catch with async/await or through promise chaining.
                                      TrueLayerpartialclaimed3/10

                                      Docs confirm a Data API that reads account, balance and transaction history via a single interface (truelayer-docs-5, truelayer-docs-28), but there is no evidence of pagination mechanics, documented history depth/lookback window, or an incremental sync pattern (e.g., delta/cursor endpoints) for fetching only changed transactions. missing for 10: pagination details, documented transaction history depth/limits, incremental/delta sync mechanism.

                                      • [claimed-docs] Read account information, balances and transaction history from a user's bank.
                                      • [claimed-docs] Access identity, accounts, transactions and balance data for all integrated banks with a single interface.

                                    Not comparable on these axes

                                    1. ai-native userPlug MCP servers into this product so it can use their tools

                                      weight 3 · not comparable
                                      Plaidn/a

                                      Plaid is a fintech data/API platform, not an agentic host or assistant interface where a user would plug in MCP servers for it to consume tools; the only MCP-related evidence shows Plaid exposing its own Dashboard as an MCP server (a different, server-provider axis), not Plaid acting as an MCP client consuming external tools.

                                      • [claimed-docs] The Dashboard MCP server is a remote MCP server hosted by Plaid. It provides Production diagnostics and analytics tools, including tools for…
                                      • [probe] official MCP server documented at https://plaid.com/docs/resources/mcp/
                                      TrueLayern/a

                                      TrueLayer is a payments/banking API platform, not an AI agent or assistant that itself consumes tools via MCP; the evidence shows the opposite relationship — TrueLayer ships an MCP *server* so that AI assistants like Claude can call TrueLayer's payment tools, not a mechanism for TrueLayer to plug in and use other MCP servers' tools.

                                      • [claimed-docs] By integrating the TrueLayer MCP server with this AI assistant, you'd empower Claude AI to perform a range of banking and payment operations…
                                      • [claimed-docs] create-truelayer-payment-link` - Generate a new payment link for initiating a payment from a bank account to the TrueLayer merchant account
                                      • [probe] official MCP server documented at https://docs.truelayer.com/docs/truelayer-mcp-integration-for-claude-ai
                                    2. ai-native userDelegate tasks to a built-in AI assistant inside the product

                                      weight 3 · not comparable
                                      Plaidn/a

                                      Plaid is a financial data/payments API infrastructure product, not a user-facing product with a built-in AI assistant persona; this axis is a category error for this kind of B2B fintech API platform. No evidence describes a built-in AI assistant for delegating tasks (the MCP server is for dashboard diagnostics, not an in-product assistant).

                                        TrueLayern/a

                                        TrueLayer is a payments/banking API platform, not a product with a built-in AI assistant UI; its AI-related evidence is an MCP server for integrating with external assistants like Claude, not a delegated in-product assistant. This is a category mismatch, not a missing feature.

                                        • ai-native userVersion, review, and roll back my automations

                                          weight 1 · not comparable
                                          Plaidn/a

                                          Plaid is a financial data/payments API platform, not an automation-building tool with workflows to version, review, or roll back; this axis doesn't apply to its product category.

                                            TrueLayern/a

                                            TrueLayer is a payments/banking API platform, not an automation-building tool with a workflow/version history concept; versioning, review, and rollback of 'automations' is a category error for this product type.

                                            • ai-native userSelf-host the core product

                                              weight 3 · not comparable
                                              Plaidn/a

                                              Plaid is a hosted financial-data/API SaaS product built on proprietary bank connections and infrastructure; self-hosting the core service is not a plausible axis for this category (only a local quickstart demo app is offered, not the core Plaid backend).

                                                TrueLayern/a

                                                TrueLayer is a regulated banking/payments API SaaS platform, not open-source software; self-hosting the core product is a category error for this kind of licensed financial infrastructure provider.

                                                • ai-native userPrevent my data from being used to train AI models

                                                  weight 3 · not comparable
                                                  Plaidn/a

                                                  Plaid is a financial data connectivity API, not an AI model or AI product feature; the evidence pack contains no mention of AI model training or opt-out controls for such training. This axis is a category error for this type of product.

                                                    TrueLayern/a

                                                    TrueLayer is a banking/payments API provider, not an AI model provider or platform that trains models on user data; opting out of AI training is a category error for this product type.