crypto exchange · United States
Nova Crypto Exchange is not a real company. It is one of the fictional institutions the sandbox ships with, listed in the catalog as inst_sandbox_nova so you can exercise the whole Link flow — login, MFA, account selection, consent — against deterministic data without borrowing a real brand’s name.
Custodial exchange accounts: asset balances, holdings, and ledger activity. Link hands the user off to the institution's own consent page, so no password is ever seen by your servers or ours. No multi-factor step is expected in the normal flow, though a connector may still challenge.
what you can read
Support is a property of the connector that serves the connection, not of the institution alone — so the honest answer is a matrix, not a badge.
| Connector | Balances | Transactions | Recurring | Assets | Identity | Income | Liabilities | Investments | Crypto |
|---|---|---|---|---|---|---|---|---|---|
| Sandboxself-serveAlways on. Deterministic simulated data — it never reaches a real institution. |
This institution routes to the sandbox and nowhere else, in both environments. There is no upstream provider to configure and no real account to reach — the data is generated deterministically from the item id, so the same connection always produces the same accounts, balances, and history.
how to connect it
Passing institution_id opens Link directly on Nova Crypto Exchange instead of the picker — useful when your own UI already asked which bank.
import { FeelConnect } from "@feelconnect/node";const fc = new FeelConnect({apiKey: process.env.FEELCONNECT_SECRET_KEY!,baseUrl: "https://connect.feels.money/v1",});// Pin the flow to Nova Crypto Exchange: Link opens straight on its auth step// instead of the institution picker.const { link_token } = await fc.link.createToken({client_name: "Your app",user: { client_user_id: "user-123" },products: ["balances", "transactions", "recurring"],institution_id: "inst_sandbox_nova",});
The browser receives only the link_token, which expires in thirty minutes. Link runs the institution’s auth step, any MFA challenge, account selection, and the consent screen, then hands back a public_token. Exchange it once on your server with fc.link.exchangeToken and store the resulting access_token encrypted. Full walkthrough in the quickstart.
in the api
The response below is generated from this institution's row, so it is the shape and the values a real call gets back.
# Look the institution up by id.curl https://connect.feels.money/v1/institutions/get_by_id \-H "Authorization: Bearer $FEELCONNECT_SECRET_KEY" \-H "Content-Type: application/json" \-d '{ "institution_id": "inst_sandbox_nova" }'
logo_url is a path on this origin rather than a third-party CDN, so rendering the mark never tells anyone else which institution your user is looking at. primary_color and monogram are the fallback tile for clients that would rather not load an image at all. Field by field in the institutions reference.
In the sandbox this institution connects today. Because it is flagged as an OAuth institution, Link runs the simulated consent hand-off rather than asking for a password. Either way the item comes back with 24 months of deterministic history — enough to build and demo the whole integration before any provider agreement exists. Sandbox reference.
keep reading