MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MMM-Fintech - Multi-Asset Portfolio Display (Crypto, Stocks, ETFs, Forex)

    Scheduled Pinned Locked Moved Showcase
    financialstock marketcryptocurrency
    7 Posts 2 Posters 127 Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A Offline
      ArnoldoB
      last edited by

      Hi everyone,

      I’d like to share a module I’ve been working on: MMM-Fintech – a portfolio display module that shows your financial holdings with real-time pricing. I built it to fill my needs. I took a modular approach that would allow writing additional connectors for other data sources.

      Screenshot

      MMM-Fintech Example

      Features

      • Multi-Asset Support: Crypto, stocks, ETFs, mutual funds, and forex rates in one unified display
      • Coinbase Integration: Automatically fetches crypto holdings via CDP API
      • Twelve Data Integration: Real-time pricing for stocks, ETFs, mutual funds, and forex
      • Manual Holdings: Add staked assets or brokerage positions that APIs can’t see
      • Market Hours Scheduling: Limits stock/forex polling to trading hours to conserve API calls
      • Privacy Mode: Hide quantities and values – show only symbols, prices, and changes
      • Currency Conversion: Display values in USD, EUR, GBP, PHP, or other currencies
      • Encrypted Credentials: AES-256-GCM encryption for your API keys

      Links

      • GitHub: https://github.com/sonnyb9/MMM-Fintech
      • Installation & Setup: See the README for step-by-step instructions

      Requirements

      • Coinbase CDP API key (free, for crypto)
      • Twelve Data API key (free tier: 800 calls/day, for stocks/forex)

      License

      MIT

      Feedback Welcome

      This is my first MagicMirror module. I’d appreciate any feedback, bug reports, or feature suggestions. Feel free to open issues on GitHub or reply here.

      Thanks!​​​​​​​​​​​​​​​​

      S 2 Replies Last reply Reply Quote 1
      • S Offline
        scottwalsh @ArnoldoB
        last edited by

        @ArnoldoB

        Was looking at your roadmap, a suggestion:
        In addition to syncing with brokers, you could also look at portfolio tracking products like https://www.sharesight.com/nz/

        A 1 Reply Last reply Reply Quote 0
        • A Offline
          ArnoldoB @scottwalsh
          last edited by

          @scottwalsh Interesting idea, I’ll have a look at that. I was thinking about using Plaid, but it would cost money and I’m frugal :)

          A 1 Reply Last reply Reply Quote 0
          • A Offline
            ArnoldoB @ArnoldoB
            last edited by

            I’m working on a patch to add snap trade support. A snaptrade branch should appear in my repo in the next day or two. Thanks for the suggestion!

            1 Reply Last reply Reply Quote 0
            • S Offline
              scottwalsh @ArnoldoB
              last edited by

              @ArnoldoB Noted the screenshot seems to be a broken file on GitHub (and in the post here).

              A 1 Reply Last reply Reply Quote 0
              • A Offline
                ArnoldoB @scottwalsh
                last edited by

                @scottwalsh I fixed the screenshot.

                I also released a new v0.6.0 of MMM-Fintech with Snaptrade support. It can replace the Coinbase free API and TwelveData API while providing better holdings data. Coinbase was reporting staked crypto holdings as $0 balance forcing the use of a manual_holdings.json file. Snaptrade is pay as you go, so I left coinbase, TwelveData, and the manual holding options in place as free options. I’m still using TwelveData for pricing updates since it’s free for up to 800 queries per day.

                1 Reply Last reply Reply Quote 0
                • A Offline
                  ArnoldoB
                  last edited by

                  I’ve released v0.8.0. Here’s the release notes:

                  [0.8.0] - 2026-01-09

                  Added

                  • Portfolio Performance Charts: Visual tracking of portfolio value over time
                    • Area chart with gradient fill
                    • Hourly snapshots (rolling 48 hours) for 1D view
                    • Daily snapshots for 1W, 1M, 3M, 1Y, All views
                    • Chart.js integration via CDN
                  • Chart Configuration Options:
                    • showCharts - Enable chart display (default: false)
                    • chartMode - “combined” / “separate” / “exclude-crypto”
                    • chartPeriod - “1D” / “1W” / “1M” / “3M” / “1Y” / “All”
                    • showPeriodSelector - Show period buttons for touch devices (default: false)
                    • historyRetention - Days to retain daily history (default: 1825 / 5 years)
                  • History Storage: Local history.json file for snapshot data
                    • ~600 bytes per snapshot (10 holdings)
                    • ~250 KB after 1 year, ~1.1 MB after 5 years

                  Changed

                  • Price updates now record hourly snapshots for chart data
                  • Holdings sync now records daily snapshots for chart data
                  1 Reply Last reply Reply Quote 1
                  • 1 / 1
                  • First post
                    Last post
                  Enjoying MagicMirror? Please consider a donation!
                  MagicMirror created by Michael Teeuw.
                  Forum managed by Sam, technical setup by Karsten.
                  This forum is using NodeBB as its core | Contributors
                  Contact | Privacy Policy