Ask Me Anything — Part 2

#CardstackAMA: Behind the scenes of the Cardstack Project

Cardstack Team
Cardstack
10 min readSep 26, 2022

--

Chris Tse, Founding Director of the Cardstack Project, hosted an AMA session on September 1, 2022, where he answered various questions from the Cardstack community. He shared progress updates on product development and announced upcoming product launches. He also addressed questions around Cardstack’s strategy, protocol, and marketing efforts.

Product

Is Cardstack planning any product launch this year? (35:40)

Yes. Three products are currently in progress, scheduled to be released this year:

  1. The B2B app supports invoicing and cross-chain payments using different coins (not just our own CPXD tokens).
  2. The scheduling tool is about automation, giving you the ability to pay someone e.g. $6 USD / USDC / USDT once a month. This is the foundation for subscription billing, which will allow people to do SaaS subscriptions using only balances within the wallet — but without risking the company you subscribe to taking all your funds, because the protocol has a restriction for that.
  3. We also aim to launch the first version of the user experience built on top of the Cardstack Framework V3.

Additionally, we are making some improvements to the Cardstack Wallet, such as in-app purchase capabilities.

What is the upcoming B2B product? (12:12)

Currently, Card Pay allows users to make WeChat- or Venmo-style crypto payments, so it facilitates consumer transactions. Now, a lot of companies that are using crypto today — especially DAOs and NFT projects — pay their vendors, freelancers, and employees in stablecoins. And they need a way to use the Card Pay payment system to do not only payments, but invoicing as well.

Therefore, having smoothed out the consumer transactions, we are currently extending the capability of this product to support business use cases as well. This will also give us the opportunity to charge protocol fees and create a product that creates more excitement.

We will also support popular EVM chains, so as to ship a product where you can pay people with different tokens, not just CPXD tokens.

How will the scheduling tool work? (42:02)

As a user, you just say, “I want to pay this person $5 USD every month.” Then we’ll deduct that amount from your balance on the specified date. We’ll tell you on-screen what balance you have and in the future, we may even notify you when you have to refill your balance.

Note that the scheduling tool can never take more money than you have signed. So your payments are totally under your control, and you can cancel them if you want. Once you set them up and go on vacation, there is an automation process that will take care of your payments for you.

The cool thing is that this is done in an entirely decentralized and private way. It’s a service we provide that is trustless and non-custodial, so we do not control your funds. And once you set up a relationship, we keep that going by doing the second part of the transaction using the safe module.

What is the plan for the Cardstack Wallet? (37:09)

Cardstack Wallet (available on iOS and Android) started out as a payment wallet, because that’s the use case that drives everything else.

Recently, we renamed the wallet from “Card Wallet by Cardstack” to “Cardstack Wallet” — which offers you key management, the ability to deal with funds and safes, and much more. But additionally, this will be your passport into the Cardstack ecosystem. To use any of our apps, you will need to install the Cardstack Wallet mobile application, and that is the way you log in; it’s almost like a second factor, where you are checking Face ID as part of the login.

So, the wallet is a prerequisite. It has all the features for notifications and signatures that may be possible in MetaMask and other wallets too, but they will be optimized for you if you use Cardstack Wallet. That’s how we’re going to market the mobile app.

How will multisig work in the Cardstack Wallet? (38:22)

Right now, every single balance account or prepaid card in the wallet is a multisig of one user. We haven’t added a multi-user UI, but the infrastructure is already there.

Ultimately, it will be possible for organizations to have signers who can sign transactions for the company or DAO, using Cardstack Wallet. If they have a bigger account like a treasury account with more value in it, they will need two or three signatures for transactions. All of that will be supported in Cardstack Wallet, similarly to how you can approve things in SaaS apps today.

The B2B product will be the use case that drives the addition of the multi-user capability to the wallet experience.

What modules / features can you opt into in Card Pay? (40:42)

If you need to schedule payments, for example, you can add the “schedule payments” module to your account. Similarly, if you need to do payment splits or pay people commissions — these are all complex payment use cases that are certainly possible if you just use MetaMask, but that would be much better if they were automated.

So we want to create these different types of split / claim / drop / etc. capabilities. But instead of having to switch apps and move your funds from one dApp to another dApp just to use a particular feature, you will be able to keep your funds in the same multisig safe with the same multi-user roles; all you need to do is add the feature you want by adding the respective module.

The cool thing about the Gnosis Safe module ecosystem is that you can add capabilities, so we’re taking advantage of this extensibility and providing a UI for it.

What is the difference between Card Space and Card.xyz? (39:28)

Card Space is general-purpose. When we render a card from the Cardstack Framework, it’s in a Card Space. Card.xyz is the hosting of the Card Space that reflects your user profile. Username.card.xyz is an instantiation of the Card Space for the user profile identity use case.

We actually want to turn Card.xyz into a verified profile. That means, if you’re part of a DAO, your Card.xyz profile will confirm that you’re a verified member of that DAO, e.g. because you’re in their Discord group or, even better, if you’re one of the signers for their treasury. So we can use the wallet relationship — who is giving signing rights to whom? — as a way to say, “You can trust that this person actually is from this company or DAO because you can trace their record.” These days, you can use a profile page to claim to be Elon Musk if you want; but with wallets, we can verify that a person actually has signing rights for the particular organization they claim to represent.

What’s the status of the Card Compiler? (20:41)

The idea of the Card Compiler is that you have a card / mini application that consists of different parts, which can be built by different developers and which all work together. For instance, one developer’s address card can be used in another developer’s contact card, which in turn could be part of an invoice card that might be part of an agreement. Different code from different developers can be nested and referenced in a way that makes it seem like it was all built by one team. But in fact, it’s built by different teams, with each of them declaring their own fields and card types. That composability is what we’re compiling.

For example, if you want to accept all crypto payment methods to let customers pay for your product or service, you can use a Solana payment card, a Bitcoin payment card, an Ethereum payment card, and even a Venmo payment card — all of which implement the “Pay” action card for the user.

We’re currently working on making the compiler extremely efficient. There are some earlier versions of the Card Compiler that work already, but it is very complicated to figure out all the definitions and citations. As the composability goes up, so does the complexity. That is why we aim for the Card Compiler to summarize all that information and publish it in the Card Catalog. This way, once a card is submitted to the catalog, we can run the code without having to go down the rabbit hole of where it all came from.

That work is already done; we can use the capability of the browser to traverse these relationships. There is still more work to be done to improve the Card Compiler, but the current version will be shipping soon.

What is the plan for the Card Builder? (43:16)

We have built this no-code builder a few times on top of the previous version of the Cardstack Framework and we plan to build a new version of it, using what we’ve learned.

The design system that allows for drag-and-drop is actually based on the Boxel design system, which is used everywhere in Cardstack. We’ll continue to use that codebase / design system to reflect a form, a collection, a field, a button, etc. And the drag-and-drop no-code builder uses those components.

How are those components snapped together in a Lego sense? That’s changing with our runtime and our new SDK, but we will revisit the Card Builder user experience, which also relates to the animation engine. We’re working on a new orchestration engine and integrating that work, so that, when you’re dragging and dropping something, you’re actually animating it. That’s all part of the framework; it’s not just decorations. It is actually part of the way we help you understand what’s going on with this type of composability.

Can apps built on Cardstack be moved to Web2? (44:21)

All web that is built on Cardstack is natively “web.” It’s just a JavaScript application that has a data source, and the data source can be sourced from a blockchain or it could be sourced from your local file system. In fact, the current Card Compiler that is being iterated on in public, in an open-source way, uses the file system on your computer as the source of the cards. So the cards don’t really need to be Web3. And if you don’t have authentication — e.g. if you’re just viewing some open wiki that anybody can edit — you don’t even need a sign-in. So there’s nothing about the Cardstack Framework that is specifically Web2 or Web3. It’s just a way of rendering and storing data on a browser, maybe assisted by a server, or sometimes storing data in the cloud or on the blockchain.

However, we are using the Web3 model for monetization, such as subscription billing and royalty payments for developers. We are also using the Web3 model for access control, where the multisig hierarchy is our way to determine who is part of what organization with permissions to sign transactions. Those capabilities can be extended, in case you want to use your existing accounting system or directory.

Basically, with an integration to Web2 cloud services, the same cards that work in Web3 will also work in Web2.

Marketing

What is the objective of the Web3 Watch fireside chats? (47:10)

We get to have great conversations, build relationships, and do market research on how the Cardstack technology resonates with various types of builders who are working on all kinds of different projects. We also get a lot of information about the experience of building other protocols and gaining adoption.

Essentially, the Web3 Watch fireside chats allow us to understand what is going on and provide great educational content. They help us anchor ourselves in the ecosystem.

I’m personally very inspired by a lot of the builders who have joined me on these fireside chats. Some of them have been in the industry for a long time, some of them are just coming into the industry, and they all have something interesting to offer.

When will we see real efforts to make Cardstack known, seeing as development has come such a long way? (49:14)

Development has come a very long way. Marketing is challenging because it only makes sense to spend effort, time, and energy on marketing once we have identified an audience. Cardstack has been a Web3 project in a rather general way so far, working on software with many capabilities and a lot of potential.

Now that our focus is on the SaaS product itself — ”If you run an organization that interacts with blockchain, here’s a tool for you to organize your vendors, customers, and employees.” — our marketing will focus on B2B marketing.

Our protocol, which is all about analytics, is meant for builders who want to use those capabilities. And for JavaScript development, we have the Cardstack Framework.

So in the future, you will see marketing with a very specific target. We will hone our message for developers, our message for B2B users, and our message for data protocol developers separately, instead of just talking about Cardstack in general. When those marketing messages become more focused, the marketing will become more visible. And that’s when the real efforts and the real amplification will happen.

Are any events planned for the remainder of the year? (50:26)

Fortunately, travel is becoming more and more possible now. I was delighted to be invited to speak at EthCC in Paris in July, and I hope to do that again.

However, I want to make sure that the topic we’re talking about is relevant to what we do. We don’t want to talk about something as generic as “What is the potential of Web3 in commerce?” We try to be much more specific. But once we have something that is a good fit for the work that we’re doing in our landscape, we will absolutely take advantage of that opportunity.

Learn More

If you missed the live stream of the AMA, you can watch Chris Tse answer the questions above and many more in this video:

This article is Part 2 of our AMA series, focusing on the product- and marketing-related questions Chris Tse answered in the video above. Part 1 covers questions around Cardstack’s strategy and protocol.

To get all our latest updates, sign up for our newsletter on cardstack.com, star Cardstack on GitHub, and join our Discord channel or our Telegram group and announcement channel.

--

--

Cardstack Team
Cardstack

Official account for the team behind the Cardstack project.