Conversation
Contributor
Author
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit fc8ddf3. Configure here.
j0ntz
force-pushed
the
jon/integrate-dfx-ramp
branch
2 times, most recently
from
June 25, 2026 23:36
a096719 to
ee8d927
Compare
Integrate DFX (app.dfx.swiss) as a SEPA-based buy/sell fiat ramp using the external ramp webview pattern. Registers the dfx ramp plugin and adds its GUI plugin entry. Like every ramp plugin it is enabled through the rampPlugins map (config.json plus keys.json). Supports EUR/CHF across the SEPA region plus Switzerland and Liechtenstein for BTC, ETH and major EVM chains, Solana and Monero.
j0ntz
force-pushed
the
jon/integrate-dfx-ramp
branch
from
October 1, 2026 17:13
ee8d927 to
3819441
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




CHANGELOG
Does this branch warrant an entry to the CHANGELOG?
Dependencies
none
Requirements
If you have made any visual changes to the GUI. Make sure you have:
Description
Integrate DFX (API, docs) as a SEPA fiat buy/sell ramp (no swap), using the
src/plugins/ramps/external-ramp pattern (same shape asbitsofgoldandlibertyx): there is no quoting API, so the user is deeplinked into the DFX web widget to complete the buy or sell.What this adds:
src/plugins/ramps/dfx/dfxRampPlugin.tsanddfxRampTypes.ts: the DFX external ramp factory and its init-options cleaner.dfxregistered inallRampPlugins.ts.dfxGUI plugin (baseUri: https://app.dfx.swiss, camera permission for QR scanning).dfxadded to thepreferProvidersid list insrc/docs/ramps-deeplink-provider-priority.md.Enabling it: like every ramp plugin, DFX is off until the
rampPluginsmap carries it,rampPlugins.dfx = trueinconfig.jsonandrampPlugins.dfx = {}inkeys.json. DFX needs no API key; the optional init fields arepartnerIconandwallet(the partner identifier DFX reads from the URL, defaultEdge).Support matrix:
sepapayment type, EUR and CHF, for Bitcoin, Ethereum, Arbitrum, Optimism, Polygon, Base, BNB Smart Chain, Solana and Monero (mainnet coins only). Buy opens/buy, sell opens/sell. Countries are the EEA members plus Switzerland where DFX's country list (api.dfx.swiss/v1/country) allows IBAN, bank and KYC: 30 countries, with Iceland and Norway included and Bulgaria left out because DFX disallows it.Rebased onto current
develop. The earlierenvConfig.tshunk is gone because that file was removed by theenv.jsonsplit, and the earliertestIDcommit dropped out because the same testIDs already landed upstream.Testing: drove Buy (500 EUR) and Sell (100 EUR) on the iOS simulator with region Germany, fiat EUR and a Bitcoin wallet. In both directions DFX appears as the "SEPA Bank Transfer" payment method ("Powered By: DFX", settlement 1 to 3 days), and selecting it opens the DFX web widget. Screenshots attached.
tsc --noEmit, eslint and the jest suite pass.Asana task
Test evidence
3819441Add DFX fiat ramp provider
2026-10-01
1. buy dfx sepa option
2. buy dfx webview
3. sell dfx sepa option
4. sell dfx webview