Porting Passiv to Alpaca: a Dev's Perspective
One of the most delightful feelings in software development is getting something right on the first try. I like to pat myself on the back for a job well done, but it’s more often than not, it’s the tooling more than my own aptitude. On the rare occasion that the first implementation works, I take a moment to appreciate how nice it is when everything fits together like a well-made jigsaw puzzle.
At Passiv, we recently made the decision to port our application to work with more brokerages. In case you haven’t heard of it, Passiv is portfolio management software that lets users turn their brokerage account into personal robo-advisors. No more MERs, just sweet, sweet index investing. All someone has to do is link their brokerage account, choose a model portfolio, and let Passiv keep them on track.
Alpaca is the first US brokerage supported by Passiv, and it’s not an accident. Despite the fact that about half of US brokerages have an API, the bureaucratic and technical hurdles to use their APIs commercially are immense. In one case, it took us over two years to go from first contact to an API licensing agreement with a large international brokerage. It then took over six months to successfully make a first API connection. In contrast, when we decided to integrate with Alpaca, our start-to-finish integration time was a matter of weeks. Wouldn’t it be great if more companies took developer support seriously?
It’s hard to convey how seamless it was to port our application to work on Alpaca, so here are three of my favorite things about the Alpaca API.
A list of all available securities
There’s an endpoint that dumps the complete list of all securities available through Alpaca. Most brokerage APIs only expose an endpoint for searching through available securities. When building a user-facing application, having the list of securities in advance removes a whole step—as in, we don’t have to ping Alpaca to verify that whatever the user selects is in fact a real security. It also makes it easier to maintain a coherent mapping between equivalent securities on different platforms (which all seem to have their own idiosyncratic way to represent ticker symbols).
A fully functional paper trading API
The paper trading API is fully compatible with the production API, meaning we could test extensively before ever putting real cash on the table. Most brokerages simply do not support paper accounts with their API, making testing a pain.
A responsive support team
While building the integration, there were a few API features that needed to be built to offer the full Passiv experience on Alpaca. We explained the situation and the AlpacaDB, Inc. team immediately recognized the importance of having account transactions and OAuth support (the features we needed), and built them in a matter of weeks.
Financial Operating Systems
It’s a well-known fact that financial services need infrastructure to run. In terms of investing, the core requirements include custody, trade functionality, account segregation, and a host of other things. It turns out that there’s a whole class of businesses out there that already support these things: online brokerages. In fact, the requirements are so uniform that it doesn’t really matter which one you choose…all the basic functionality is nearly identical across all online brokerages. Better still, thanks to the great leveling of October 2019, there isn’t even a price difference anymore.
All that matters now is the quality of the services built on top of these brokerages.
I view online brokerages as bare-bones financial operating systems. They will form the backbone of a new financial services industry that operates at the software level. We can build our software on any online brokerage as long as they have an open API, but the quality of that API is a strong factor in how we prioritize. Developer support is a key factor in the success of platforms, and the best developer experience results in the best user experience.
At Passiv, we are starting with APIs that are easy to integrate and support the key functionality needed for our app. We chose to start with Alpaca.
Technology and services are offered by AlpacaDB, Inc. Brokerage services are provided by Alpaca Securities LLC (“Alpaca”), member FINRA/SIPC, a wholly-owned subsidiary of AlpacaDB, Inc.