Checkout the app

As the Billionaire space race intensifies, we need modern solutions for space flight booking. In addition, as Space Tourism becomes mainstream, financial services will have to evolve to enable high-volume transactions.

Keyano is the world's first space marketplace. Simply put, it connects spaceline companies to customers. Customers are looking to book tickets for suborbital and orbital space flights.

What it does

Two types of users use Keyano - Space Vendors & Space Tourists

Space Vendor

The space vendors can add new Flights to the marketplace, oversee Flight bookings, manage virtual accounts and manage refunds.

Space Tourists

A space tourist is someone looking to experience space travel's love, wonder and awe. Keyano allows people from around the globe to buy tickets to Space in their local currencies. In addition, they can choose from a range of flights offered by Keyano's space partners, manage all their tickets from the all-in-one portal, and cancel their bookings if they want.

Hackathon Requirements

Use Rapyd's Virtual Accounts API

While registering Vendors, we create a Rapyd eWallet for each space vendor. This eWallet lets vendors have local virtual account numbers in countries like US & UK.

Accept multiple local bank payments in the customer's local currency

In the app, after a Space Vendor adds a new flight, Rapyd issues various bank account numbers in different countries to accept payments. For example, European customers can transfer the money to European Virtual Bank Account associated with the Vendor's eWallet. Likewise, American customers can transfer the money to the company's American account. How do we make this? They can pick a currency on the checkout page.

Be a Two-Step Payment Process: 1) Make a Deposit 2) Pay the Remaining Amount before lift-off.

Tickets are confirmed by the Vendor only after they verify that they have received the total amount. We use Rapyd's "simulate transfer" method for the demo to make a transaction. Note: The customers need to pay the entire amount before lift-off.

Show how the transaction can easily be reconciled in your application.

In the application, the space vendors can view the transaction history for all the virtual accounts in the 'Virtual Accounts' tab. To look at the list of refunds, we can go to the 'Refunds' section. Each currency has a separate transaction history for payments and refunds, making reconciliation and record keeping a piece of cake.

Demonstrate a clever and frictionless way to do a refund of the deposit amount:

To initiate the refund, the customer clicks on the cancel button on the customer dashboard. Then, the customer gets redirected to the "Create Beneficiary Tokenisation Page". Then, they enter their relevant details like name, account number, and IBAN. Once they enter the information, it triggers a 'Beneficiary Created' webhook. Under the hood, the backend creates a payout to the beneficiary account, transferring the order amount back to the beneficiary's bank. Read more about virtual account use cases.

Demonstrate how your application could facilitate other space transport scenarios that are B2B

Keyano is a very dynamic solution. The customers can book multiple flights and manage them from their dashboard. So the customers could be solo travellers or big corporations like NASA, making Keyano genuinely flexible.

How we built it

Keyano is a full-stack application built entirely using Typescript, ReactJS & NodeJS.


ReactJs & Material UI power the frontend of the application. Redux handles the state management. Finally, Formik & Yup make for making elegant forms with dynamic error handling.


Nodejs and Typescript are used to build the backend. Express is used as a middleware to handle incoming requests from the React-based frontend. A PostgreSQL database hosted on AWS serves as the data store for the application to keep track of the user data. Finally, TypeORM is an ORM (Object-relational Mapper) that helps us to write SQL queries.


  • Create Wallet - created when the Vendor registers.
  • List Capabilities of Virtual Accounts per Country - Allow vendors to add multiple currencies.
  • Issue Virtual Account - used when the Space Vendor adds a new flight.
  • Retrieve Virtual Account History - get a list of all transactions made by customers of a country
  • List Virtual Accounts by Rapyd Wallet - list all your virtual accounts.


  • Create Beneficiary Tokenization Page - used to obtain bank account information for refunds.
  • Payouts required fields - used to get the form fields needed to create a sender for the beneficiary.
  • Create Sender - used to create a sender in the beneficiary's country.
  • Create Payout - When a beneficiary requests a refund, we generate a payout.
  • List Payouts - get all the refunds issued for Space Vendor.


  • Simulate Bank Transfer

Challenges we ran into

Virtual accounts are a new feature introduced by Rapyd, so setting them up was a bit challenging. However, the Rapyd team did a great job at responding and helping with any issues.

Accomplishments that we're proud of

We were able to complete the project in time and solve a problem that existed. We built a multi-country marketplace that shows how you can accept payments in your own and other currencies and settle in multiple currencies. This project can help other developers build similar solutions that leverage virtual accounts.

Checkout the Github repository for frontend

To run the project, you need to install the dependencies.

git clone
cd space-tourism-frontend
npm i
npm run start

Checkout the Github repository for backend

git clone
cd space-tourism-backend
npm i
npm run start:dev

What we learned

We learned about how Rapyd's Virtual Accounts work. Rapyd Virtual Accounts are the ideal solution for businesses that want to collect and organize bank payments in other countries.

What's next for Keyano Space Tourism

The application is running in Sandbox mode. Hopefully, it can someday act as an enabler for space travel. We hope to add compliance documents once we book the ticket. Additionally, we hope to send an email confirmation once the ticket is confirmed. Currently, to contact the Vendor, the customers have to reach them via email. We plan to add messaging in Keyano to enable better communication between them.

Share this project: