Live data from Hacker News

Griffin – A fully-regulated, API-driven bank, with Clojure

juxt.pro

91–100 of 223 posts

Re: Griffin – A fully-regulated, API-driven bank, with Clojure

#91

Why are these API banks always in the UK? I've been waiting to do my banking using curl for years and no one has made it available in the US.

U.S. banking is surprisingly far behind the curve, and hasn’t led the world from a tech or innovation perspective for many decades. The UK on the other hand has actively encouraged new banks and new tech. It’s had things like instant, free, payments between personal accounts for almost two decades. Contactless transactions for at least a decade, mobile banking for decades, and government mandated banking API for almo…

> It’s had things like instant, free, payments between personal accounts for almost two decades.

Thanks for making me feel old I was thinking "it hasn't been anywhere near that long, I remember the rollout like it was yesterday". Turns out that rollout was 15 years ago.

Re: Griffin – A fully-regulated, API-driven bank, with Clojure

#92
post #82

Earlier quoted context omitted.

This is what all those chain analysis companies claim to solve for, and allegedly law enforcement agencies have done in the past to de-anonymize people. Perhaps you are right about it not being feasible given enough volume and so on. But at that point, if a government level threat actor wants to stop you from doing something and you are in their jurisdiction, jail cells tend to be quite effective at limiting people f…

> This is what all those chain analysis companies claim to solve for, and allegedly law enforcement agencies have done in the past to de-anonymize people. Perhaps you are right about it not being feasible given enough volume and so on. De-anonymizing people who are not attempting to prevent it is fairly trivial. You tie one transaction to their wallet and they use the same wallet for everything. But that's an entirel…

I will concede the concern that the bank won’t be able to just take your money in the case of using ethereum, but being unable to legally spend your ethereum in the country you physically reside in complicates things. And buying things over the internet would get the government to wonder how you can afford these things and how you will pay your taxes, thus investigating your finances and discovering the proscribed crypto wallet. Capone got busted this way and cash is 100% fungible and private.

Re: Griffin – A fully-regulated, API-driven bank, with Clojure

#93
post #62

Why are these API banks always in the UK? I've been waiting to do my banking using curl for years and no one has made it available in the US.

Hi. My company, Keeta [0], is making this available in many countries, including the US. [0] https://keeta.com/

It's not. Doing payment or wire transfer is not same as being a bank in most country, even to the customers

Re: Griffin – A fully-regulated, API-driven bank, with Clojure

#94
post #90
post #79

Earlier quoted context omitted.

> Types validate whatever you use them to validate, which can certainly include what we usually call "logic". I'd love an example of this! I concede that I could be wrong on the point's of ML/Haskell families, however, it relies on the practitioner correctly using the type system to the extreme (at least, that is my impression). C++ and other similar OO's, the type system isn't as compelling as a correctness measure.…

> I concede that I could be wrong on the point's of ML/Haskell families, however, it relies on the practitioner correctly using the type system to the extreme (at least, that is my impression). I wouldn't say it's "extreme", it's very normal and natural. You just stick everything in the types and it works. > C++ and other similar OO's, the type system isn't as compelling as a correctness measure. Agreed that C++-styl…

> I wouldn't say it's "extreme", it's very normal and natural. You just stick everything in the types and it works.

Ah, then I seem to be missing the point/intention. Thanks for illuminating that it should feel "natural". I think I need to spend more time with ML/Haskell families.

> ... the vast majority of the time you can construct your types in ways that force your logic to be correct because you just don't offer the ability to do the wrong thing

I think that is where I haven't had experience, nor much exposure to, when it comes to "static typing" in the true sense/intention of making a program correct. More so (which I think I loosely alluded to), is that the type system was being used to "model objects in the real world".

> what kind of logic errors are you seeing that you think wouldn't be eliminated by using types?

Classic "logic" stuff. Forgetting to modify and return a map given some other information. Accidentally returning the inverse of a boolean (i.e. !isSomething(x) vs isSomething(x)), incorrect adds or bit shifts, concurrent access to shared data structures (shared memory may be a more apt term), reconciling two different pieces of data into a shared one, algorithmic implementations (though I think you touched on this being less likely when using a type system designed to encourage correct algorithms by applying type theory, so it may be moot).

To maybe give some clarity to what I mean by correctness, I mean does the program match the expected behavior of the programmer. In playing around with F#, I've written buggy F#, but the types all matched up. I had a guarantee that my program would run in a non-faulty manner (bar any system fault), but the program was not correct.

> and found types to be very effective

I'm very curious where you've seen this be very effective (if you're able to share), and with what language/technology.

---

Also, as a last quip, I am enjoying learning about your perspective with type systems. There are some points you have brought up which have caused me to think harder and in more depth about the concept and it's application, and want to voice that I appreciate you putting in the time to have this exchange. Want to this up before I forget, since it is getting late in my neck of the woods.

Re: Griffin – A fully-regulated, API-driven bank, with Clojure

#95
post #47
post #34

Earlier quoted context omitted.

> Why are these API banks always in the UK? I can think of 835 million reasons: https://www.reuters.com/article/eu-rbs-britain/corrected-uk-... Plus, Open Banking and Faster Payments (which were EU initiatives before Brexit) maybe helped.

faster payments had nothing to do with the EU "open" banking did (and accordingly you have to be a large company to participate at all)

Instant interbank transfer is basically everywhere[1] - China, India, Korea, Singapore, Malaysia, Indonesia, etc...

[1] https://www.imf.org/-/media/Files/Publications/WP/2022/Engli...

Re: Griffin – A fully-regulated, API-driven bank, with Clojure

#96
post #94
post #90

Earlier quoted context omitted.

> I concede that I could be wrong on the point's of ML/Haskell families, however, it relies on the practitioner correctly using the type system to the extreme (at least, that is my impression). I wouldn't say it's "extreme", it's very normal and natural. You just stick everything in the types and it works. > C++ and other similar OO's, the type system isn't as compelling as a correctness measure. Agreed that C++-styl…

> I wouldn't say it's "extreme", it's very normal and natural. You just stick everything in the types and it works. Ah, then I seem to be missing the point/intention. Thanks for illuminating that it should feel "natural". I think I need to spend more time with ML/Haskell families. > ... the vast majority of the time you can construct your types in ways that force your logic to be correct because you just don't offer…

> Classic "logic" stuff. Forgetting to modify and return a map given some other information. Accidentally returning the inverse of a boolean (i.e. !isSomething(x) vs isSomething(x)), incorrect adds or bit shifts

If something really is just a map or a boolean or an integer then you can't avoid this kind of thing. But usually it isn't, it's something meaningful in your domain, and then you can make and enforce the right distinctions. CachedResults is not the same as FullyPopulatedResults (and neither is just a Map); rather than x and a flag for whether x isSomething, how about an Either XThatIsSomething XThatIsNotSomething? Adds and bitshifts are a wide range of operations, and if you're doing deep numerical work then that's one place where I've found that existing type systems often can't keep up, but a lot of the time you're in a domain where you don't need to do that - e.g. if you only need to add values then you can use a type that wouldn't even allow you to subtract them (indeed most of the time I see people using integers they're opaque IDs that it never makes sense to do anything mathematical with - it would be nonsense to multiply a user ID by a permission group ID, so why expose them as integers?).

> I'm very curious where you've seen this be very effective (if you're able to share), and with what language/technology.

Various industries (finance, adtech, messaging), largely "backend" whether direct API backends or more batchy/offline "big data" processing, but also even web frontends. Mostly Scala.

Re: Griffin – A fully-regulated, API-driven bank, with Clojure

#97
post #9

Why are these API banks always in the UK? I've been waiting to do my banking using curl for years and no one has made it available in the US.

Getting a new banking charter in the US is hard, but it's straightforward to be a challenger bank in the UK. Jarvis moved (back) to London from SF to start Griffin. The banks in the US that have APIs tend to focus on large fintech partnerships, so even simple APIs will be expensive compared to a regular bank account. Grasshopper Bank in the US (for example) is one of the few that will do APIs on top of regular commer…

I see new banks popping up all the time in the US. I would enjoy seeing a comparison of the process in the US vs the UK.

Re: Griffin – A fully-regulated, API-driven bank, with Clojure

#98
post #26

Despite the unpopularity here. I am still a fan of cryptocurrency as an alternative to traditional banking.

The issue is always the same: traditional banking is frictionless, very cheap and convenient for 99.9% of people out there. Crypto isn't frictionless, it's not cheap and it solves problems that only the 0.1% has such as the need of transferring large amounts of "money", without tracing, in short times, across the globe but it undoes the benefits that the 99.9% has while bringing complexity. Plus, nobody really wants…

I'm tired of hearing the "works on my machine" line about banks.

Here's a few issues I've run into in the last few years:

- I dissolved a corporation in Korea and it took nearly 1.5 years and $8k USD in lawyer fees to get ~$80k USD out of the country. My other option would've been to go back to Korea and buy Rolexes.

- I moved to an Eastern European country and spent several weeks providing KYC/AML docs after attempting to send $30k from the US to a local bank account while my funds were in limbo. Ended up having to use ATMs to pay rent and other expenses.

- Bought a house in said Eastern European country and almost lost the deal because of several bank delays. Seller was pissed and had to involve lawyers to calm him down. Technically I should've had to pay extra because of the delays, because of the way real estate deals are structured in that country.

- I moved to Latin America and went to probably 6 car dealers who all told me that purchasing a car would take up to 2 months because of the KYC/AML process involved in wiring money from the US. I ended up going various ATMs 40 times over the course of several weeks, withdrawing $500 at a time, so I could buy a used car off Facebook marketplace. Had to take over $20k in cash in a backpack to a lawyer's office to complete the deal. Spent way more time & money on my rental car than I wanted to.

- Earlier this year while visiting the US I went into a bank branch to withdraw $20k to purchase a used car for my dad and not only could the teller not help me, but it triggered a flag on my account that caused all of my funds to be frozen for several days until I was able to get it resolved. Ended up borrowing money from a friend so I could buy the car before I left the US.

- Sending even $500 to my bank account here in Latin America takes over a week with various questions from bank staff. Every time I worry if the funds will even arrive because it has to go through multiple intermediaries with various memos/notes to the intermediary receivers. From my US bank account to another bank in NY, credited to some European account holder to send to Europe with further instructions on how to get the money to me in Latin America. I bank with an institution that's run by the national government; I figured they'd have better international finance connections than any of the commercial banks, but apparently not.

- A couple weeks ago I decided I'd send $50k to my account here because I don't want to go through this processes every time I want to pay bills. 2 weeks later and my $50k is still stuck. The bank keeps coming back with more questions and requesting more documents every few days. Nobody at the bank can tell me how long it will take to release the funds.

I've got more stories like this, and I know many expats with similar stories. I'm fortunate that I even have US financial access, and that I'm not living in a country like Lebanon, Turkey, Argentina, Venezuela, or even worse Russia, Iran, Cuba, etc. Things are even more difficult in many other countries.

By the way, Western Union works great here and is super fast, but they take huge commissions. Funny how that works.

The traditional financial system works great if you live in a first-world financial bubble and all of your friends, family, business partners, etc. also live in first-world financial bubbles. Meanwhile some of us are still on the financial equivalent of dial-up while the typical HN poster is on gigabit fiber talking about how great all of the bloated 20MB web apps are for them. I'm sweating bullets every time I deal with a bank, while people on HN say "this shit is great!"

I'll be beyond happy if the Bitcoiners are right and the whole world eventually switches to a global permissionless currency.

Re: Griffin – A fully-regulated, API-driven bank, with Clojure

#99
post #98

Earlier quoted context omitted.

The issue is always the same: traditional banking is frictionless, very cheap and convenient for 99.9% of people out there. Crypto isn't frictionless, it's not cheap and it solves problems that only the 0.1% has such as the need of transferring large amounts of "money", without tracing, in short times, across the globe but it undoes the benefits that the 99.9% has while bringing complexity. Plus, nobody really wants…

I'm tired of hearing the "works on my machine" line about banks. Here's a few issues I've run into in the last few years: - I dissolved a corporation in Korea and it took nearly 1.5 years and $8k USD in lawyer fees to get ~$80k USD out of the country. My other option would've been to go back to Korea and buy Rolexes. - I moved to an Eastern European country and spent several weeks providing KYC/AML docs after attempt…

>issues I've run into in the last few years

Bitcoin has existed in the last few years. So I have to ask why it is that you haven't used it if you've had these issue moving money via traditional banks. Are the transaction fees too high (like Western Union).

Post reply on HN