FeelConnect▍
ProductsDocsPricingChangelog
Sign inGet API keys

Search documentation

Fuzzy search across every docs page and section

Getting started/Going live

Getting started

  • Overview
  • Quickstart
  • Authentication
  • Environments and sandbox
  • Link
  • Going live

API reference

  • Link tokens
  • Institutions
  • Items
  • Accounts
  • Transactions
  • Identity
  • Income
  • Assets
  • Investments
  • Liabilities
  • Recurring
  • Categories
  • AI products

Platform

  • Webhooks
  • Errors
  • Rate limits and quotas
  • SDKs
  • GraphQL
  • MCP and AI agents
  • Changelog
  1. Docs
  2. Getting started
  3. Going live
PreviousLinkNextLink tokens

On this page

  • Turn on today, no contract
  • GoCardless Bank Account Data
  • Coinbase
  • Kraken
  • PayPal
  • Crypto wallets
  • Requires a business relationship
  • How routing works
  • Environment behaviour
  • Switching an application to live
  • Before you take real users' data
  • What users see
FeelConnect▍

The developer-first financial data platform.

All systems operational

Products

Universal LinkData APIsAI enrichmentPricing

Developers

DocumentationAPI explorerDashboardGet API keys

Company

HomeChangelogfeels.moneySign in

Legal

PrivacyTermsSecurityData processing
© 2026 FeelConnect. All rights reserved./v1 · FC-Version 2026-07-01

Getting started

Going live

Which connectors you can turn on yourself today, which need a signed agreement, how institution routing picks one, and what to set before real user data flows.

Sandbox works out of the box and needs nothing. Real money data needs credentials, and the honest summary is: some providers you can turn on yourself in ten minutes, and some require a signed business relationship. This page says which is which.

Every connector is already implemented against its real API. Each activates the moment its environment variables are present — no code change, only a restart of the service.

See the live state, not the theory

The Connections & coverage page in the dashboard reads this deployment's environment and shows exactly which connectors are active right now, how many institutions route to each, and what every disabled one is missing. Trust it over any static list.

Turn on today, no contract

ProviderWhat it connectsWhat you do
GoCardless Bank Account Data2,500+ real banks across the UK and EUFree self-signup — see below.
CoinbaseCoinbase accounts and transactionsRegister an OAuth app.
KrakenKraken balances and ledgersUsers paste their own read-only API key in Link; the KRAKEN_* pair switches the connector on.
PayPalPayPal balances and transactionsRegister a REST app.
Crypto walletsAny public EVM address (MetaMask, Ledger, Trezor…)Set EVM_RPC_URL to any public RPC endpoint.
Manual importAny institution, via CSV / OFX / QFXNothing — always on.

GoCardless Bank Account Data

Formerly Nordigen. Free tier, self-service, no sales call, and it covers most of the UK and EU retail banking market under a PSD2 licence they hold — you inherit their regulatory permission rather than needing your own AISP licence. This is the fastest route to real banks.

  • Create an account at bankaccountdata.gocardless.com.
  • Under Developers → User secrets, create a secret. You get an ID and a key.
  • Put both in the environment and restart the service.
.env
GOCARDLESS_SECRET_ID=…
GOCARDLESS_SECRET_KEY=…

Every UK/EU institution in the catalog routes to GoCardless automatically, because their connectorPreference already lists it ahead of the sandbox fallback.

Coinbase

Create an OAuth application at portal.cdp.coinbase.com with redirect URI https://connect.feels.money/link/callback/coinbase.

.env
COINBASE_CLIENT_ID=…
COINBASE_CLIENT_SECRET=…

Kraken

Each user pastes their own read-only Kraken API key inside Link; it is stored AES-encrypted on the item like every other provider credential, and the Query funds permission is all it needs. The connector itself is gated on an environment pair, so set one to switch it on.

.env
KRAKEN_API_KEY=…
KRAKEN_API_SECRET=…

PayPal

Register a REST app in the PayPal developer dashboard with the reporting scope and redirect URI https://connect.feels.money/link/callback/paypal.

.env
PAYPAL_CLIENT_ID=…
PAYPAL_CLIENT_SECRET=…

Crypto wallets

Any public Ethereum JSON-RPC endpoint works, including free public ones. Balances are read from the chain by public address — read-only by construction, with no private key anywhere in the system.

.env
EVM_RPC_URL=https://eth.llamarpc.com

Requires a business relationship

These cover the US retail banking market — Chase, Bank of America, Wells Fargo, and the thousands of regional banks and credit unions in the catalog. Each is a company-to-company agreement with a compliance review. Budget days to weeks, not minutes. The connectors are written and waiting.

ProviderCoverageHow to start
PlaidBroadest US/CA coveragedashboard.plaid.com/signup — sandbox is instant; Production access needs a company profile and a use-case review.
MXUS banks and credit unionsmx.com — sales-led.
Finicity (Mastercard)US banks, income and asset verificationdeveloper.mastercard.com — sales-led.
AkoyaDirect, token-based access to large US banks (no credential sharing)akoya.com — sales-led; the cleanest model for the big banks.
Stripe Financial ConnectionsUS bank accounts, tied to a Stripe accountdashboard.stripe.com — enable Financial Connections; faster if you already use Stripe.
WiseWise balanceswise.com/settings/public-keys — API access on a business account.

Variables to set once you have them — each group is independent:

.env
PLAID_CLIENT_ID= PLAID_SECRET= PLAID_ENV=production
MX_CLIENT_ID= MX_API_KEY=
FINICITY_PARTNER_ID= FINICITY_APP_KEY= FINICITY_PARTNER_SECRET=
AKOYA_CLIENT_ID= AKOYA_SECRET=
STRIPE_FC_SECRET_KEY=
WISE_CLIENT_ID= WISE_CLIENT_SECRET=

How routing works

Each institution carries an ordered connectorPreference, for example Chase is ["akoya", "finicity", "plaid", "sandbox"]. At connect time the registry walks that list and uses the first connector whose credentials are present. So:

  • With no credentials, everything falls to sandbox and behaves like a demo — simulated data that never touches a real bank.
  • Add Plaid, and every institution listing Plaid starts using it — no data migration, no code change.
  • manual and evm-wallet always run for real, in both test and live environments.
  • A connector whose module is not registered in a deployment reports itself disabled, so routing skips it and falls through to the next preference rather than failing.

Environment behaviour

Test-environment keys (fc_sk_test_…) always resolve to sandbox regardless of credentials, so your customers develop against stable fake data while your live keys hit real banks. That is by design, not a failure.

TestLive
Key prefixfc_sk_test_fc_sk_live_
RoutingAlways sandboxFirst configured connector in the preference order
manual / evm-walletRun for realRun for real
DataDeterministic simulationReal account data

Switching an application to live

  • Have at least one upstream connector configured (see above), or live keys will only reach manual and evm-wallet.
  • In the dashboard, open the application → enable live access. This requires the Startup plan or above.
  • Create a live secret key. It is shown once.
  • Point your integration at it. Nothing else changes — same endpoints, same shapes.

Before you take real users' data

  • Set FC_ENCRYPTION_KEY to a real 32-byte value (openssl rand -base64 32). Without it the app derives a development key and says so loudly in the logs. Rotating it later requires re-encrypting stored provider tokens.
  • Set CRON_SECRET and point a scheduler at GET /api/internal/cron every 5–15 minutes. It drives webhook retries and stale-item refresh. Unset, the route fails closed and background work never runs.
  • Move email to a transactional provider with SPF and DKIM on your sending domain.
  • Review the OAuth redirect URIs registered with each provider — they must point at https://connect.feels.money/link/callback/<connector>.

Check it, do not guess

The Connections & coverage page checks each of these live and shows what is still missing.

What users see

Real institution logos are fetched once and served from our own origin. That is deliberate: if the Link modal loaded logos from a third-party CDN, that CDN would learn every user's IP address and which bank they were about to connect. Fictional sandbox institutions keep monogram tiles, so demo data never wears a real brand's mark.

Bank consent pages cannot be displayed inside a frame, so the Link modal hands off to a popup window — or, if popups are blocked, asks the embedding page to navigate the whole tab — and resumes automatically when the bank returns the user.