Crypto

  • Bitcoin Magazine: Bitcoin News, Articles, Charts, and Guides
  • Crypto Briefing
  • CoinJournal: Latest Bitcoin, Ethereum & Crypto News
  • LocalCoinSwap
  • Cointelegraph.com News
  • NewsBTC
  • bitFlyer Europe
  • CryptoSlate
  • CryptoPotato
  • Cake DeFi Blog
  • Error
  • CoinSutra Blog: Cryptocurrency Guides & Tutorials – CoinSutra – Bitcoin Community
  • Crypto Mining Blog
  • BNC insights feed
  • Error
  • Algorand Price Prediction: ALGO Is Downing Slowly
  • 101 Blockchains
  • CryptoNinjas
  • Error
- James Lavish
Yield Curves, Inversion, The Eurodollar And Bitcoin

With indications of inflation appearing on the horizon, how can bitcoin serve as a safeguard against the impact?

What is the yield curve?What does it mean when it’s inverted?What is yield curve control (YCC)?And how does the eurodollar fit into all this?Inspirational Tweet:

Link to tweet thread.

As Lyn Alden explains in this thread: “…the 10-2 curve is saying, ‘we're probably getting close to a possible recession, but not confirmed, and probably many months away...’”

Let’s break that down a bit, shall we?

What Is The Yield Curve?

First of all, what exactly is the yield curve that everyone seems to be talking about lately, and how is it tied to inflation, the Federal Reserve Board and possible recession?

The yield curve is basically a chart plotting all the current nominal (not including inflation) rates of each government-issued bond. Maturity is the term for a bond, and yield is the annual interest rate that a bond will pay the buyer.

A normal yield curve (this one from 2018) chart will typically look like this:

SOURCE: FRED®, Federal Reserve Bank of St. Louis

The Fed sets what is called the federal funds rate, and this is the shortest interest rate you can get a quote on, as it is the rate (annualized) that the Fed suggests commercial banks borrow and lend their excess reserves to each other overnight. This rate is the benchmark that all other rates are priced from (or so, in theory).

As you can see, in a normal economic environment, the shorter the maturity of the bond, the lower the yield. This makes perfect sense in that, the shorter the time committed to lending money to someone, the less interest you would charge them for that agreed lockup period (term). So, how does this tell us anything about future economic downturns or possible recessions?

That’s where yield curve inversion comes into play and what we will tackle next.

What Does It Mean When It’s Inverted?

When shorter-term bonds, like the 3-month or the 2-year, start to reflect a higher yield than longer-term bonds, 10-year or even 30-year, then we know there is expected trouble on the horizon. Basically, the market is telling you that investors are expecting rates to be lower in the future because of an economic slowdown or recession.

So, when we see something like this (e.g., August 2019):

SOURCE: FRED®, Federal Reserve Bank of St. Louis

… where the 3-month and 2-year bonds are yielding more than the 10-year bonds are, investors start to get nervous.

You will also sometimes see it expressed like below, showing the actual spread between the 2-year and the 10-year interest rates. Notice the momentary inversion back in August 2019 here:

SOURCE: FRED®, Federal Reserve Bank of St. Louis

Why does it matter so much, if it is just an indication and not a reality yet?

Because inversion not only shows an expected downturn, but can actually wreak havoc in the lending markets themselves and cause problems for companies as well as consumers.

When short-term rates are higher than long-term, consumers who have adjustable-rate mortgages, home equity lines of credit, personal loans and credit card debt will see payments go up because of the rise in short-term rates.

Also, profit margins fall for companies that borrow at short-term rates and lend at long-term rates, like many banks. This spread collapsing causes a sharp downturn in profits for them. So they are less willing to lend at a reduced spread, and this only perpetuates borrowing problems for many consumers.

It’s a painful feedback loop for all.

What Is Yield Curve Control?

No surprise, the Fed has an answer to all this — don’t they always? In the form of what we call yield curve control (YCC). This is basically the Fed setting a target level for rates, then entering the open market and buying short-term paper (1-month to 2-year bonds, typically) and/or selling long-term paper (10-year to 30-year bonds).

The buying drives the short-term bond interest rates lower and the selling drives the long-term bond interest rates higher, thereby normalizing the curve to a “healthier” state.

Of course, there’s a cost to all this with the likely expansion of the Fed’s balance sheet and further expansion of the money supply, especially when the open market does not participate at the level necessary for the Fed to achieve its targeted rates.

Result? Possible exacerbated inflation, even in the face of a contracting economy. Which is what we call stagflation. Unless the control of the curve helps head off a pending recession and economic expansion resumes: a big “if.”

What Is The Eurodollar And How Does It Fit Into All This?

A eurodollar bond is a U.S. dollar-denominated bond issued by a foreign company and held in a foreign bank outside both the U.S. and the issuer's home country. A bit confusing, as the prefix “euro” is a blanket reference to all foreign, not just European companies and banks.

More importantly, and in our context here, eurodollar futures are interest-rate-based futures contracts on the eurodollar, with a three-month maturity.

To put it simply, these futures will trade at what the market expects U.S. 3-month interest rate levels will be in the future. They are an additional data point and indicator of when the market expects interest rates to peak. (This is also known as the terminal rate of the Fed cycle.)

For instance, if the December 2023 eurodollar contract shows an implied rate of 2.3% and the rates declining to 2.1% in the March 2024 contract, then the expected peak for the fed funds rate would be at the end of 2023 or early 2024.

Simple as that, and just another place to look for clues of what investors are thinking and expecting.

What You Can Do About It … (Yep — Bitcoin)

Let’s say you’re watching rates closely and hearing that the Fed is going to start using YCC to manage the rate curve, thereby printing more money and, in turn, likely causing more long-term inflation. And what if inflation somehow gets out of control? How can you protect yourself?

It doesn’t matter when you are reading this, as long as the world is still operating primarily with fiat (government-issued and “backed”) money, bitcoin remains a hedge versus inflation and insurance against hyperinflation. I wrote a simple but thorough thread about that here:

Link to tweet thread.

To identify the inflation hedge attributes of Bitcoin, it’s simple really. Because Bitcoin is governed by a mathematical formula (not a board of directors, CEO, or founder), the supply of bitcoin is absolutely limited to 21 million total.

Furthermore, with a truly decentralized network (the computers that collectively govern the Bitcoin algorithm, mining, and transaction settlements), settled transactions and total number of bitcoin to be minted will never change. Bitcoin is therefore immutable.

In other words, Bitcoin is safe.

Whether or not the price of bitcoin (BTC) is volatile in the short term does not matter as much as the fact that we know the value of the U.S. dollar continues to decline. And in the long term and in total, as the dollar declines, BTC appreciates. It is therefore a hedge against long-term inflation of not just the U.S. dollar, but any government-issued fiat currency.

The best part? Each single bitcoin is made up of 100 million “pennies” (actually the smallest unit of bitcoin - 0.00000001 btc - is called satoshis, or sats), and one can therefore buy as much or as little they can or want to in a single transaction.

$5 or $500 million: You name it, Bitcoin can handle it.

This is a guest post by James Lavish. Opinions expressed are entirely their own and do not necessarily reflect those of BTC Inc or Bitcoin Magazine.

- Craig Deutsch
Bitcoiner Jobs Wants To Get You Working Full Time In Bitcoin

A new service is aiming to bridge the gap between employees who want to find work in the Bitcoin industry and employers at Bitcoin companies.

We spoke with the two people who are part of the team behind the popular website, Bitcoiner Jobs, geared toward the orange-pilled workforce. Nathan Dennis and Cory Klippsten cocreated Bitcoiner Jobs with the goal of connecting Bitcoiner employers with Bitcoiner employees. Many Bitcoiners are interested in making the leap from the fiat-mining jobs and finding a career in Bitcoin. Often, those people are unsure of where to start. It’s not common to find a college program in “Bitcoin Studies” churning out candidates, and most companies are looking for prospective candidates to demonstrate proof of work as opposed to having fancy credentials anyway.

Working full time in Bitcoin can mean various things and not all roles are related to software development or coding. This author found work through the website as an editor at Bitcoin Magazine. Categories on the Bitcoiner Jobs website range from engineering to marketing to finance to legal to customer operations to logistics. There are a wide variety of opportunities for those interested in working both remotely and locally. Bitcoiner Jobs provided us with statistics for their site below:

898 jobs posted3,530 direct job applications using native forms140+ employer accounts approved2,580 job alerts created for their weekly jobs letter1,269 job seeker accounts signed up

We sat down with Klippsten and Dennis to learn more about the story of Bitcoiner Jobs and how they plan to continue its growth.

What prompted you to start Bitcoiner Jobs?

Klippsten: Like many of the best products, we built something that we needed, and it turned out others needed it too. We were getting so many job applicants in the first half of 2021 that it was turning into a part-time job to help them try to find roles across the many companies in the Bitcoin ecosystem. I needed a platform to facilitate that and take me out of it.

My first attempt to scale was posting candidate profiles as Twitter threads, and that quickly resulted in a few matches. Serendipitously, within a week or two I was randomly introduced to the CEO of a SaaS [software as a service] company specializing in niche job boards as a service, and it fit the bill perfectly. The next step was to find someone who could build what we needed, and I was lucky to find Nathan in the Bitcoin Twitter community. He quickly outpaced a couple of other candidates in terms of ideas and output, and built a beautiful first version for launch. After we got to know each other better, it was obvious that he could add a lot of value at Swan in addition to Bitcoiner Jobs, so by the end of Q3 we agreed to roll both Nathan and the site under Swan.

I wanted to do this on the side, and Nathan just took the reins and was absolutely crushing it and delivering a beautiful work product and was passionate about it. He had human resources experience, so he understood the pain points and exactly where to spend time, so we just had a very natural collaboration right out of the gate. It moved really, really, really fast. Once we had Nathan in place and the SaaS tool, we were able to get a product out pretty quickly. We determined the branding, Bitcoiner Jobs, which fit with this message that Bitcoin's going to be fine; Bitcoiners need lots of help.

What's been the reception among the employers and potential employees?

Dennis: The response has been great from both sides. Employers have shared that one of their biggest challenges in recruitment is finding candidates that are aligned with their mission; Bitcoin has fixed this, so it’s no surprise that the majority of Bitcoin projects and companies — around 140 of them — have signed up with Bitcoiner Jobs to find talent as our site meticulously filters out any non-Bitcoin companies. Another key feature that has been helpful is we do not charge companies to post their jobs and they have unlimited slots. This is very important for startups as they have more important things to be allocating budget to and in most cases would end up having to pick one or two jobs and pay hundreds of dollars per post with no guaranteed value-add. As Gigi says, information wants to be free and job posts are just information that lives on company websites. This is also extremely important for open-source projects looking for more contributors.

For employees, providing a place for all Bitcoin jobs has been a game changer for job seekers looking to work on Bitcoin and Bitcoin only. Before Bitcoiner Jobs, it would take a lot of time and research to find out who was hiring in the space; this is a struggle I personally felt when I knew I wanted to dedicate the rest of my working life to Bitcoin.

As we know, the Bitcoin community rocks and this has worked its way into the job seeking community. We celebrate Bitcoiners who have landed their dream job and we promote those looking to leave their fiat job, so we can band together and help as many Bitcoiners as possible.

With it being so early and the number of job seekers outweighing available jobs, a lot of Bitcoiners are looking at how they might transition into the Bitcoin ecosystem, as their professional career to date may not align to current needs. This is something we are very aware of and are working hard at providing a solution for.

What kind of growth do you see for Bitcoiner Jobs?

Dennis: Bitcoiner Jobs has been growing in lockstep with the Bitcoin industry and will continue to do so, with a push to go beyond Bitcoin companies and working its way into Bitcoin teams at companies across an array of industries.

The U.S. currently leads the way with companies and hiring but this is starting to level out with companies popping up in all regions across the world and the beauty of working on Bitcoin is that we are already global, the mindset is there and so is the talent.

A key area for growth over the coming months and years will be education and being ready to support multiple companies as they enter hypergrowth stages. This is going to be very exciting.

What types of features do you hope to add to the website?

Dennis: We are actively planning version two and recruiting a team of Bitcoiners to make this a reality. There are many key features we want to work on. By improved searching and matching functionality for employers and job seekers, we can help streamline the shortlist for employers and a shortlist of jobs for the job seekers. As this balloons — and we know that it is going to balloon — it’s the Bitcoiner industry rather than just the Bitcoin companies. Bitcoiner Jobs is focused on the people. We plan to have that functionality because people aren't going to be able to search through thousands of jobs.

A big issue with LinkedIn is the model for companies and recruiters to contact you is a monthly cost so what you find is you've effectively got recruiters and a talent team spamming anyone that has one word that matches the search in their profile. They haven't done any research; they haven't read the candidate's profile. They’re just saying, “Right. You've got this word on your profile and we're going to spam you.” I know this because this is a process that I used to use in my previous days in HR and recruitment. I'm thinking about how there needs to be an economic incentive for people or a cost for people to reach out and engage.

There is a potential to have a messaging function where people that want to talk to you need to put in their own work rather than just posting a wide net and hoping that people reviewing come back.

We also want to adjust the UX [user experience] to account for Bitcoiners looking to hire Bitcoiners at any company; this is a big focus for us as the current supply of jobs is not enough to satisfy the demand from jobseekers. What we have to understand is that not every Bitcoiner should just go and retrain to be a software engineer because then we're going to end up with too many software engineers and not enough people building houses or wiring houses or fixing things. It's all of these different lines of work that people are passionate about, and they shouldn't lose that passion just because Bitcoin is there. Bitcoin is for everyone, so it would be really cool if I was a construction manager and I want to hire an electrician, but that electrician is a Bitcoiner. Like how much fun are we going to have on site? Wiring the house, having fun, but we're listening to podcasts instead of the local radio and all these different things. It's about collecting the people. It goes far beyond just Bitcoin product companies.

We want more engagement with the open-source community and connecting contributors to projects. Lightning can be integrated in features such as headhunting bounty programs, where people unlock certain sats as they work their way through the bounty and it gets accepted by the project. It’s important to understand how misaligned incentives are in the recruitment industry. If you're a really good recruiter that's got a network in the Bitcoin industry then you can do headhunting bounties powered by Lightning escrow where if they [the candidate] get interviewed, that’s a little [reward]. You get paid for that. That's how the recruitment industry could be cut up into segments where you're not just doing all of the work upfront for free. The employer is actually seeing that there's a cost to the recruiter and they're not just sending 10 resumes with buzzwords on profiles and just hoping that one person gets the job so they can get that recruitment bonus.

There's lots of funky ideas that we can realign incentives from a recruitment perspective using Lightning.

We also want to extend partnerships with educational partners to help scale engineering recruitment across the industry. I think the key thing is continuing to give back. It's the building of a network of open-source projects so that the people who are available to work in Bitcoin can have an easily accessible directory of all the open-source projects in one place that's constantly being updated with bounties. We want to help people understand how they can get involved. It doesn't have to just be contributing to open-source by coding. It could be documentation. It could be testing.

A big majority of the big Bitcoin product companies are going to build the tools and solutions that we need, so as Bitcoiners, we need to be aware of the bottleneck of engineering talent that isn't just experienced in our industry, it's something that's experienced [everywhere in tech]. As technology takes over, everything is building relationships with educational programs, like the Chaincode [Labs] seminars, Base58, Qala, Summer Of Bitcoin. So that as they train these engineers in Bitcoin, we can then propose those trainees to the Bitcoin companies and just have a slide with all of the engineering talent coming through and we can be a hub to connect that network.

Do you have an estimate of how many people have found work through your site?

Dennis: This is something we are not able to track as we support multiple application processes. We have native application forms, email and external job application links, depending on how the employer manages their recruitment process.

However, we have heard a lot of success stories from employers on the site and we have personally experienced the power of Bitcoiner Jobs at Swan. Some of our favorite feedback from companies who hire through Bitcoiner Jobs:

"Bitcoiner Jobs is a lighthouse in the fiat storm, a refuge where those who value freedom can find one another and build together.” – Start9 Labs"Bitcoiner Jobs got us access to hundreds of applicants within days. Highly qualified individuals, culture fit, and talent that we could not find anywhere else.” – Voltage"Bitcoiner Jobs is how I landed a game-changing career in an industry that aligns with my personal interests and values. Best of all, the first person I went on to hire also found us through Bitcoiner Jobs! There's no better way to find high-quality talent from around the world who have put in the work and decided to become laser focused on the same standard.” – ZEBEDEE“Bitcoiner Jobs has been an amazing place to post our open roles! In the few months we've posted there, we've been able to fill multiple roles. Highly recommend using them if you're hiring!” – Blockstream"Bitcoiner Jobs has a unique ability to deliver mission-oriented, high-quality individuals across a wide range of job disciplines. We have thoroughly enjoyed the diverse pool of talent that Bitcoiner Jobs has delivered and they have helped us improve our time-to-hire on multiple positions at Strike." – Strike

Have you found a job in the industry through Bitcoiner Jobs? Email us your story!

This is a guest post by Craig Deutsch. Opinions expressed are entirely their own and do not necessarily reflect those of BTC Inc. or Bitcoin Magazine.

- Shawn Amick
Russia Legalizing Bitcoin And Crypto Is A Matter of Time, Says Minister of Industry And Trade

Denis Manturov, Russian minister of industry and trade, explains that legalizing bitcoin and other cryptocurrencies as payment will happen given time.

The legalization of bitcoin and other cryptocurrencies as a means of payment is only a matter of time according to the Russian minister of industry and trade. The minister explains that the process of legalization will happen, it’s just a matter of how it is regulated, and how it is passed. Russian regulatory agencies have danced around the concepts of legalization and bans over the course of the past few months.

Denis Manturov, Minister of Industry and Trade of the Russian Federation, recently expressed his opinion that bitcoin and other cryptocurrencies being legalized in Russia is just a matter of time, according to a report from Russian state news agency TASS.

At an educational event called New Horizon, when asked whether or not Russia would be legalizing bitcoin or any other cryptocurrency, Manturov stated:

“The question is when it will happen, how it will happen and how it will be regulated. Now both the Central Bank and the government are actively engaged in this.”

Currently, Russian authorities are discussing the future of cryptocurrencies and mining. The Bank of Russia pushed for a complete ban on cryptocurrency, citing systemic threats to the current financial system.

The Ministry of Finance, however, has held the position that cryptocurrencies should be legal and well-regulated and President Vladimir Putin also pleaded with regulatory agencies to come to an agreement on the matter due to Russia’s natural resource advantages.

“But everyone tends to understand that this is a trend of time, and sooner or later, in one format or another it will be carried out,” said Manturov at the New Horizon event. “But, once again, it should be legal, correct, in accordance with the rules that will be formulated.”

This past February, the Russian government approved the concept of regulating bitcoin and other cryptocurrencies based on a proposal drafted by the Ministry of Finance. During the same month, the Ministry of Finance also submitted a bill.

The Ministry of Finance reportedly expects legislation regulating bitcoin and other cryptocurrencies will be introduced this year and is also working on the collection of tax as it relates to cryptocurrency. 

- Shawn Amick
BitMEX Announces New Spot Bitcoin And Crypto Exchange

BitMEX has released a spot exchange allowing the company to offer direct access to bitcoin and other cryptocurrencies instead of only trading derivatives.

BitMEX announces a new spot exchange for bitcoin and other cryptocurrencies. BitMEX previously offered a platform for derivatives of bitcoin and other cryptocurrencies but will now offer direct asset trading.The spot exchange will allow users to convert their fiat into bitcoin or another cryptocurrency directly.

BitMEX, a cryptocurrency trading platform, has released the BitMEX Spot Exchange for retail and institutional traders which will allow customers to trade bitcoin and other cryptocurrencies, according to a press release sent to Bitcoin Magazine.

Users of the platform will be able to take advantage of Spot assets – direct purchases of the asset itself instead of an underlying derivative – through coin conversion request-for-quotes (RFQs). These requests will be tracked on central limit order books and will utilize an application programmable interface (API) to facilitate the trade. BitMEX Lite will also support spot trading once the feature is added to the mobile app in coming weeks.

“Last year, we introduced our Beyond Derivatives strategy, and the launch of BitMEX Spot is the centerpiece of this vision. Today, BitMEX is one step closer to providing our users with a full crypto ecosystem to buy, sell, and trade their favorite digital assets,” said Alexander Höpner, CEO of BitMEX.

“We will not rest as we aim to deliver more features, more trading pairs, and more ways for our clients to take part in the crypto revolution,” Höpner continued.

Previously, BitMEX operated a product known as Beyond Derivatives for its customers, but the new spot exchange seeks to bring the increasing number of investors looking to grow their knowledge of assets. BitMEX reported that 90% of respondents surveyed want to increase their knowledge on bitcoin and other cryptocurrencies. Half of those investors surveyed are reportedly looking to stay in their assets for the foreseeable future, even amid the recent market downturns.

BitMEX’s spot exchange will allow users to transact with fiat to acquire bitcoin and other cryptocurrencies while facilitating crypto for crypto trading as well. 

- Dylan LeClair And Sam Rule
An Overview Of The Stablecoin Market

The U.S. dollar accounts for nearly 100% of stablecoin value and a window of opportunity for policymakers has emerged with the collapse of UST.

In this excerpt from Bitcoin Magazine Pro, we will take a more in-depth look at the redemption mechanism of USDT, and cover why the concerns about the stablecoin and the apparent risks it presents to the bitcoin/cryptocurrency ecosystem.

Before digging in, it should be said that the advent of bitcoin on a long enough timeframe obfuscates the need for a “stablecoin,” which is really just a blockchain-based IOU held by a counterparty. A digital bearer asset that is completely stable on the protocol level and from an issuance and absolute supply perspective that can be held with no counterparty risk is the innovation. With that being said, the natural demand for dollars in the “crypto-economy” does make sense given the dollar’s incumbent status as the world reserve currency.

With today’s release and focus on stablecoins, as well as the recent collapse of UST, an interesting window of opportunity for policymakers has emerged to provide guidance and clarity to stablecoin issuers, which would result in a rising demand for monetizing U.S. Treasury debt. After all, in the cryptocurrency ecosystem, USD stablecoins account for nearly 100% of stablecoin value. Given the dollar's role as the world reserve currency today, this makes intuitive sense.

The U.S. dollar accounts for nearly 100% of stablecoin value.

The main takeaway from the rapid growth of stablecoins over the past two years is that despite the emergence of a digital monetary bearer asset with a fixed supply (bitcoin), there still is demand for a bearer instrument form of dollars, even if accompanied by trade-offs. All in all, a vibrant market for stablecoins ultimately will lead to smoother rails to bitcoin itself for those without access to the walled garden Western financial system, without offering the assurances of bitcoin’s monetary policy or decentralization.

The is an excerpt from a recent edition of Bitcoin Magazine Pro, Bitcoin Magazine's premium markets newsletter. To be among the first to receive these insights and other on-chain bitcoin market analysis straight to your inbox, subscribe now.

- Shawn Amick
NFL Defensive End Alex Barrett Is Taking 100% Of His Salary In Bitcoin

NFL player Alex Barrett from the San Francisco 49ers is taking his entire salary in bitcoin through a partnership with BTC payroll service provider Bitwage.

NFL player Alex Barrett of the San Francisco 49ers is now taking 100% of his paycheck in bitcoin.Barrett signed up with Bitwage, a bitcoin payroll service provider that lets anyone get paid in BTC.Bitwage does not need employers to participate in their system to get paid in bitcoin and is open for anyone to sign up.

Alex Barrett, defensive lineman for the San Francisco 49ers, has officially partnered with Bitwage to receive 100% of his paycheck in bitcoin, according to an exclusive press release sent to Bitcoin Magazine.

“I stumbled across Bitwage in a Twitter Spaces room a few months ago when they announced that they were supporting UFC fighter Matheus Nicolau and his journey to get paid in bitcoin,” Barret said. “I was amazed by how Bitwage set this guy up so easily and with VIP service. I thought, ‘why not me?’

Shortly after that Twitter Space, Barrett began having meetings with Bitwage, a bitcoin payroll service provider, who then offered the NFL player tickets to Bitcoin 2022 – the largest bitcoin conference in the world – where the partnership was solidified.

“When I came down to Miami, I saw the Bitcoin revolution in-person. I was bullish before, but something shifted in me,” Barrett explained. “I was completely sold, and getting to meet the Bitwage team was great. They treated me like their number-one priority, even before I was technically their client.”

Bitwage allows anyone in the world to get paid in bitcoin without needing to onboard their employer. Users register with Bitwage and receive an account number linking to a bank account which is then given to their employer. Once money is paid to the account, Bitwage converts the money to BTC, in the amount determined by the user, and sends it to a bitcoin address the user controls.

“The in-person onboarding made me feel like a valued part of the company,” said Barrett. “This personal touch was unlike anything I’ve ever seen before. I definitely recommend them. But most importantly, I learned a lot. The company takes their time in helping athletes and influencers truly understand Bitcoin.”

Barrett joins the ranks of professional athletes such as Matheus Nicolau, Achara Ifunanyachi, and Alex Crognale, who now accept their paychecks in bitcoin.

“It’s vitally important that we spread the knowledge and educate our VIPs so they become true sovereign individuals,” said Jonathan Chester, CEO of Bitwage. “But this treatment isn’t exclusive to athletes and VIP customers: it’s available to anyone who signs up to our service.”

- Marty Bent
Bitcoin Gives Users Total Control Of Their Money

Knowing that I control my money is a type of peace of mind that cannot be provided by a fully “stable” monetary good controlled by central bankers.

The below is a direct excerpt of Marty's Bent Issue #1210: “Bitcoin gives you control. That’s the fundamental value.” Sign up for the newsletter here.

(Source)

We're at the part of the bitcoin bear cycle where those in the mainstream who have derided the new monetary asset running on its own distributed network as nothing more than a ponzi for degenerate speculators and drug addicts are coming out of the woodwork to claim victory. If you've been paying attention to the headlines and talking heads you've likely heard phrases like:

"See, this is proof that bitcoin is too volatile and can never work as a store of value. Who wants to store value in an asset that fluctuates so violently?"

"It can't even work as a proper medium of exchange due to slow confirmation times and the amount of transactions per second that are supported by the blockchain."

"I told you so!"

These are nothing more than vapid phrases uttered by individuals looking to confirm their flawed biases while hoping that this is truly the bear market that sends bitcoin to zero. The problem for this class of critic is that their view of bitcoin is myopic, wholly focusing on the price at any given time and how rapidly it has fluctuated. While price is certainly an important aspect and a higher price can be viewed as much better than a lower price for bitcoiners, price alone does not capture the fundamental value of the network. A fundamental value that cannot be replicated by any other asset on the planet. As I said in the tweet at the top of this page, bitcoin provides individuals the world over with the ability to easily receive, save and send money in a self-sovereign fashion.

The fundamental value proposition of the network is control over those three functions. Every other monetary asset on the planet falls short of providing individuals with the type of control that bitcoin can provide. Short-term price volatility at the beginning stages of bitcoin's monetization phase is something I am more than happy with stomaching. Knowing that I actually control my money is a type of peace of mind that a fully “stable” monetary good being controlled by corrupted middlemen simply cannot provide.

I know I own x/21,000,000 of the total supply.

I know how my private-public key pairs were created because I made them myself.

I can verify that the bitcoin being sent to my wallet is actually bitcoin.

I can hold that bitcoin for as long as I want without the risk of a bank or payment processor denying me access to my funds because of the particular time of day, my political views or the need for a bail-in of the failing central banking system.

This level of control is extremely powerful. Despite recent and historical price volatility, I believe that more and more individuals across the planet will slowly but surely come to recognize the fundamental value proposition of this level of control over one's money. No amount of pundit screeching or schadenfreude will change the inherent control that the Bitcoin network gives an individual over their money. They can screech and laugh. I'll continue to preach and stack.

- Beautyon
African Nations Resisting Bitcoin Only Delay The Inevitable

Countries in Africa have the opportunity to become global leaders by adopting Bitcoin and providing a pathway for innovation. All fiat leads to Bitcoin.

There are two forward-looking countries on Earth when it comes to Bitcoin: El Salvador and the Central African Republic. These two very different countries on different sides of the globe have both come to the same conclusion: Bitcoin is the best money ever invented and embracing it early will be beneficial both for the people of the adopting nation and to the benefit and preservation of the concept of the nation-state itself.

There are other countries on the other hand, that are not led by gifted and insightful people. Uganda may be one such example, the central bank of which has just made this very ill-advised, ill-timed announcement, demonstrating a complete lack of understanding of all the matters to do with money and the great changes that are coming to how it is accounted for.

(Bank of Uganda)

Their first error is to believe there is such a thing as a “crypto asset.” This term does not describe a real thing and their insertion of this phrase into their announcement shows that their thinking is not original at all, but gleaned from what they’ve read on the internet or what they've been told to say by the Bank of International Settlement or the International Monetary Fund.

Compare and contrast with the statements, plans and laws passed by El Salvador, demonstrating a complete understanding of Bitcoin and what it means to the future of that country. There is a clear divide here; on the one hand, profound ignorance and, on the other, deep insight, responsible stewardship, future-oriented thinking and ethics.

Future-oriented governments will be desperate to fully embrace Bitcoin and its dynamics, knowing that the probability that it will become the world’s reserve currency is one. (That means an absolute certainty, math-challenged readers.)

Bitcoin was designed to protect everyone on Earth from stupid people, but before Bitcoin can protect you from stupid people, it needs to be adopted by those same stupid people that are the threat to you. This is the conundrum. How can you get stupid people to buy and hold and use bitcoin? And what happens when they’re running the government?

The answer for people living in ethically run countries is that people like President Nayib Bukele and President Faustin-Archange Touadéra must take the reins of power and use them responsibly to free their countries from the yoke of penury entrenching Western fiat currencies.

The Central African Republic is symbolically placed on the continent to become the center of African bitcoin based ecommerce, being roughly equidistant from all points on the continent. That country could be transformed from being one of the poorest to one of the richest in very short order, should it harness the transformation made possible by adopting Bitcoin and then become a continental hub for Bitcoin. This is no more strange than El Salvador becoming a focus for Bitcoin, for those of you with a goldfish memory who believe this is unimaginable.

Doing business on the continent of Africa is very difficult. It is difficult to get payments in and very difficult to get payments out. For example, there is a black market exchange rate, and the government sanctioned exchange rate in Nigeria, meaning that there are two economies running in parallel, on top of the difficulty of moving money out. Bitcoin fixes all of this because anyone can send and receive bitcoin in any amount at any time, without permission, and its price is determined by the market, not the State.

Saying “without permission” or “permissionless” as Bitcoiners do, is a phrase loaded with so much benefit that it is hard to describe to Westerners who have no idea of what it is like to do business on the continent of Africa. They take for granted that doing business and sending and receiving fiat money is a matter of pressing a button.

In Nigeria, for example, real life is not so.

Moving money is fraught with difficulties and multiple ways of making a loss on a transfer. These piled up losses can make it impossible to earn a profit, and if you do, impossible to spend or recycle it where you need to spend or recycle it. Bitcoin makes all of this go away, as well as adding extraordinary speed to all transactions that are without precedent for Nigerians and many people living on the African continent.

Given all of the advantages of Bitcoin, an intelligent person would ask, “Why then hasn’t Nigeria officially embraced bitcoin as a means of payment?” This is the correct question, and there are many answers to this, some cultural, that are preventing the Nigerian government from embracing reality and acting boldly like a leader nation as El Salvador and the Central African Republic has.

Trying to do any sort of Bitcoin business in Nigeria very often involves the invocation of the Central Bank of Nigeria (CBN), which has a stranglehold on all businesses and bank accounts in Nigeria. Bitcoin would abolish their societal status and the reign of terror that they’ve unleashed on the great people of Nigeria. It is a sure bet that this is one of the key reasons why they’re trying so hard to stamp out Bitcoin, rather than do their duty to serve the Nigerian people by embracing this new tool.

That the most populous country on the continent of Africa is the number two nation on Earth for Bitcoin adoption (one-third of all Nigerians use it) in the face of withering and unethical restrictions is a testament to the powerful and resourceful character of the Nigerian people who are born futurists, natural capitalists and extraordinary entrepreneurs: highly intelligent, capable and motivated.

What is holding back the Nigerian people is the totally corrupt, protectionist and anti-Nigeria CBN, which is preventing the flow of money and flourishing of innovation there, for no good reason other than a nauseating lust for power and a cargo cult mentality about the role of the State and necessity for a central bank. In Nigeria, more than any other country “Bitcoin fixes this” by removing the need for the naira from people’s lives as they switch to bitcoin.

Nigeria could become the African capital of Bitcoin if the Nigerian people used it without permission en masse, squeezing out the naira as the people’s money, exposing their businesses and personal finances to the free flow of money bitcoin facilitates. It could become the African capital of Bitcoin with an El Salvador-esque embracing of reality if Nigeria made bitcoin legal tender.

Were the Nigerian government to do this, it would be the most powerful signal imaginable, and establish them as the absolute leader nation on the continent. It would not only signal that Bitcoin is changing the world, but that the so called “third-world countries” are taking their destinies into their own hands, opting for sound money over sycophancy, for reliability over rapaciousness, for transparency over tyranny, for clarity over corruption, for freedom over fiat.

The choice is simple. Nigeria must go full Bitcoin by law. The Nigerian people desire and deserve it.

But it appears that the backwards actors and cargo cultists in Nigeria may not presently be prepared to hear these words.

The Nigerian government’s version of a Securities and Exchange Commission, a cargo cult imitation of the American SEC, has just released a totally absurd document on the offering and custody of “Digital Assets.” In it, is one of many hilarious sections on the issuance of initial coin offerings (ICOs) which are already dead everywhere else on earth, and were they not, would never be issued in Nigeria by anyone. This shows that the people who authored this “regulation” are simply copying text from the internet or have been spoon-fed it; in fact, everything about them is copied all the way down.

They even have a totally insane section mandating the publishing of white papers. It is obvious by this that they don’t know the origin of the white paper phenomenon in “the space” and are simply making things up as they go along, regulating and mandating anything that moves without any understanding of how anything works or why it exists.

Remember also, that every novel offering made available over the internet is now fully accessible by every Nigerian citizen, whether the Nigerian government likes it or not, because these offers are freely accessible and usable on commodity mobile phones. All these ridiculous copycat regulations do is ensure that Nigerians are excluded from writing and releasing software inside their own country. And the Nigerian government doesn’t have the technical capability to prevent Nigerians from using Bitcoin or any other communication tool.

In effect, this means that Nigerians (presently one-third of them) are openly rejecting the system there and voluntarily opting into a nongovernmental system of money and finance because it is better and more suited to the Nigerian character of innovation.

To a foreigner, the idea that Nigerians have a character of innovation may seem odd, but there is no other explanation for that great country being number two in the world for Bitcoin adoption. It is the Nigerian government that is Luddite and getting in the way of Nigerians and their inevitable joining of the global network as leaders and peers.

Finally (and thankfully), the position of the Nigerian government appears to be open to change. It is attending the extraordinary meeting in El Salvador with the governments of central bankers from Angola, Armenia, Bangladesh, Burundi, Congo, Costa Rica, Egypt, Gambia, Ghana, India, Namibia, Senegal, Sundan, Uganda, Zambia and 25 other developing countries flying in to find out how to embrace Bitcoin.

Nigeria being on this list of countries is highly significant. As a group, countries on this list are bigger than BRICS. If they all “go Bitcoin,” it will be one of the most significant events in modern history and the removal of the yoke of the dollar from the necks of billions of people.

Bringing them together outside the U.N./U.S. context is a stroke of genius. Now, together with common cause, common complaints and common animus, Bitcoin will serve as the basis for a new pole in the emerging multipolar world: one where financial coordination doesn't require trust and there is no leader, just the absolutely fair, transparent and totally ethical Bitcoin.

This is a guest post by Beautyon. Opinions expressed are entirely their own and do not necessarily reflect those of BTC Inc. or Bitcoin Magazine.

- Jesse Willms
A Blessing From Dr. Jordan Peterson At Bitcoin 2022

Dr. Jordan Peterson discussed how Bitcoin’s incorruptible store of value is essential for psychological well-being.

A group of 700 Bitcoiners came together in Miami on the last evening of Bitcoin 2022 for a special “spiritual” gathering and to hear Dr. Jordan Peterson, the internationally-acclaimed psychologist and author of the bestselling “12 Rules for Life” talk about bitcoin and spirituality.

Peterson is a favorite in the Bitcoin community and was “one of the most anticipated keynote speakers at Bitcoin 2022,” according to one review.

“Much of the Bitcoin community already has an ideological intersection with Peterson,” noted another.

John Vallis, in attendance and welcoming guests (like one of the priests of old) told the gathering, “I’ve been a huge fan of Jordan Peterson for a long time.”

“He’s been instrumental in helping me grapple with the deeper elements of bitcoin and value and meaning and how that’s all wrapped up together,” he added.

Robert Breedlove, well-known Bitcoiner and podcaster talked about Peterson’s effect on him, particularly his first book “Maps of Meaning,” saying it was “very impactful on my thinking.”

“Your work has been transformative in adding value to millions of people's lives,” he told Peterson.

Sometimes Even A Movement Needs A Psychologist

It couldn’t be a better time to be consulting with a psychologist. Price volatility can be stressful despite the fact that the big picture for Bitcoin is positive. Two countries — El Salvador and the Central African Republic have been onboarded to Bitcoin and it looks like several more are on the way.

In his introduction, John Vallis talked about the “craziness” of “clown world” today and how for many, depression, anxiety and hopelessness are a part of modern fiat living.

The psychological health of Bitcoiners was the subject of a recent New York Post article that published a survey that “proved” Bitcoiners are more likely to be “psychopaths.”

The average bitcoin investor is a “calculating psychopath with an inflated ego,” and bitcoin investors commonly exhibit ‘dark’ personality traits such as narcissism and sadism,” said the article.

On balance, this New York Post piece likely improved peoples’ mental health as it was the cause of great fun and humor for Bitcoiners on Twitter who proceeded to identify as psychopaths and dark tetrads.

Bitcoin Is Psychologically Healthy

Peterson has been cautious in his support of bitcoin but at this event he was clear about the issue of mental health and bitcoin saying that bitcoin was psychologically healthier than living with fiat. Calling it an “incorruptible store of value” he credited bitcoin with its “transformative effect on people.”

Peterson called Bitcoin “a worthy experiment” and said “it doesn’t seem to have any self-evident psychological or logical flaws.”

One of the healthier aspects of bitcoin he noted was the relative certainty of value into the future while fiat is subject to inflation and thus uncertainty which is psychologically stressful.

Bitcoin Is Freedom Of Value And Speech

The issue of freedom is a bottom line for Peterson — without freedom, especially freedom of speech, psychological well-being is not possible.

He talked about the importance of freedom and a free market as an important element of psychological well being.

“One of the things that made me interested in bitcoin is no interference from the state,” said Peterson.

Tweet linked here.

A Free Currency In A Free Marketplace Is Essential For Human Well-being

This young bitcoin analyst demonstrates that he understands the importance of freedom from government control:

Tweet linked here.

Peterson reiterated how free choice of value in a marketplace is essential for a foundation of psychological well-being that a society can build upon.

Peterson stressed that unlike fiat currencies bitcoin doesn’t distort value by changing the rules or causing inflation.

Building on his conference chat he reiterated his support for the views of Austrian Economists, who believe that monetary integrity and moral integrity are inextricably linked.

The cult-like nature of this special gathering which ended with a discussion of Christ, struck at least one observer as reminiscent of the gatherings of early Christians.

“There is a larger contingent of Christians within Bitcoin than I realised,” noted one reviewer.

“Beyond that there is a general sense of the underlying spirituality behind a movement that truly restores economic sovereignty to anybody who wants it, with effectively zero barriers to entry,” he added.

- Shawn Amick
One-Click Bitcoin Payments Are Now Available In 30 Countries

Primer, an automated payments infrastructure platform servicing over 30 countries, partnered with OpenNode to enable one-click payments with bitcoin.

Primer, a global payment infrastructure automation platform, now allows one-click checkout functions for bitcoin.Primer partnered with a leading bitcoin payments infrastructure company, OpenNode, to bring this optionality worldwide. Primer currently operates in 30 countries with a wide-range of supported payment features and OpenNode services 126 countries.

Primer, a global payment infrastructure provider, now allows merchants worldwide to accept bitcoin as payment through a 1-click checkout function through a partnership with OpenNode according to a press release.

OpenNode is a bitcoin payments infrastructure provider and with Primer’s leading commerce automation platform, users across the world will be able to access seamless payments using bitcoin.

“OpenNode and Primer share the mission of reinventing payments and providing unmatched value to merchants and businesses everywhere,” said Josh Held, Head of Strategy at OpenNode.

Held continued to say “OpenNode has believed in the promise of Bitcoin and Lightning-powered payments for a long time, and demand is now growing exponentially.”

Gabriel Le Roux, co-founder at Primer, explained the enthusiasm behind Pimer’s partnership with OpenNode noting how merchants will be able to take advantage of this functionality, not through the tedious process of coding with barriers of entry, but through a simple organic process that only requires a few clicks to set up.

“Primer and OpenNode are passionate about making Bitcoin an easily accessible payment option for merchants, through the best-in-class checkout experience available on the market,” Le Roux said.

Primer was the world’s first automator of payment infrastructure and commerce with a goal of removing barriers customers face with using specific forms of payment. With a collection of one-click integrations in over 30 supported countries, Primer was a natural partner for OpenNode as one of the leading payment gateways for bitcoin and the Lightning Network.

OpenNode operates in 126 countries, removes the technical complexities of the Lightning Network for users across the globe, and is compatible with every bitcoin wallet. 

- Shawn Amick
CoinCorner Released A Lightning NFC Card For Bitcoin

CoinCorner released the Bolt Card, a contactless NFC card that works similar to the tap function for Visa, but on the Bitcoin Lightning Network.

CoinCorner has released The Bolt Card, an NFC-enabled Lightning card.Similar to a Visa, users would just tap their card on a Lightning-enabled POS to spend bitcoin.CoinCorner and BTCPay Server gateways are supported with multiple vendors and more to come.

CoinCorner, a leader in bitcoin and Lightning Network services, has announced The Bolt Card – a contactless, near-field-communication (NFC) card powered by Lightning – via a press release sent to Bitcoin Magazine.

The Bolt Card allows users to simply tap any Lightning-enabled point-of-sale (POS) creating an almost instantaneous transaction processed through the Lightning Network in seconds. The legacy payment infrastructure system plays no role in any of the processing. The process is similar to the tap function of a Visa or Mastercard, without the settlement delays, processing fees, or centralized entities.

“Making in-person payments with Bitcoin and Lightning is still not as efficient and user-friendly as we need it to be for the mass audience. It still involves unlocking a phone, opening an app, scanning a QR code and then making the transaction,” said CoinCorner CEO, Danny Scott.

“This is a backwards step when it comes to user experience in comparison to what we're used to today for in-person payments,” Scott continued.

At launch, The Bolt Card is compatible with Lightning and LNURL protocols while supporting CoinCorner and BTCPay Server gateways and will soon be compatible with IBEX Mercado, LNBits, and FastBitcoins.

“Innovation to drive Bitcoin adoption is what we do at CoinCorner. We're building real products for the real world and yes, we mean the world - all 7.7 billion of us,” Scott explained. “We have more big plans ahead, so keep watching throughout 2022, the beginning of the future is here - bring on hyperbitcoinization!”

- Shawn Amick
China Emerges As Second-Largest Bitcoin Mining Hub Despite Ban

A report from Cambridge exploring bitcoin mining shows the U.S. as the dominant global player and China in second despite the country’s ban last year.

New data from Cambridge details a portrait for the global hash rate of bitcoin mining. The U.S. is solidifying its position as the global leader with 37.84% of the global hash rate. China surged to almost 22% following the mining ban from last year showing either a rise of covert operations or miners that have remained well-hidden throughout.

The U.S. has risen as the global dominant country housing Bitcoin hash rate while China has picked up pace to trail in second despite its ban from last year, new data from a Cambridge Center for Alternative Finance (CCAF) report shows.

Following the need for underground mining facilities in China after the ban that took place in June of 2021, covert Chinese operations have risen to 21.11% of the global hash rate, returning China to its position as a major mining hub worldwide. Kazakhstan continues to hold a respectable hash rate of 13.22%, while Canada controls 6.48% and Russia produces 4.66%.

From September 2021 to January 2022, CCAF data shows a continued rise in dominance for the U.S. leading 37.84% of the total global hash rate. The largest American hash rate providers are Georgia (30.76%), Texas (11.22%), and Kentucky (10.93%).

The last time CCAF released detailed bitcoin mining data was in October 2021, immediately following the aftermath of the Chinese ban which resulted in a shockingly steep decline in hash rate – bottoming out at 57.47 exahashes per second (EH/s) on June 27, 2021, per the report.

A quick and decisive migration took place in what seemed like an overnight exodus and by December 2021 the hash rate had risen back to previous levels, reaching 193.64 EH/s on December 21, 2021). By February 2022, a new all-time high (ATH) of 248.11 EH/s of global Bitcoin hash rate was achieved, showcasing the incredible adaptability of the bitcoin ecosystem in the face of adversity.

On the Chinese ban and sudden hash rate resurgence, CCAF noted that it may not be the case that the major hub of Chinese miners actually left at all, stating that “it is probable that a non-trivial share of Chinese miners quickly adapted to the new circumstances and continued operating covertly while hiding their tracks using foreign proxy services to deflect attention and scrutiny.”

- Darius Dale
Current Bitcoin Price Action: A Macro View

Risk assets continue to face a challenging environment as Federal Reserve officials take incremental actions to tighten financial conditions.

Darius Dale is the Founder and CEO of 42 Macro, an investment research firm that aims to disrupt the financial services industry by democratizing institutional-grade macro risk management processes.

Key Takeaways

Short-Term (less than one month): Our market signaling process is pointing to a continuation of the challenging environment for risk assets. While a downside surprise in the U.S. April CPI data provided some reprieve, we, at 42 Macro, don’t think a grossly anticipated negative rate of change inflection will do much in isolation to catalyze a durable bottom in either stocks or bonds given our analysis of second-round inflation momentum and the latest forward guidance out of the Federal Reserve and European Central Bank.

Medium-Term (three to six months): We continue to see downside risk to around $3,200–$3,400 for a durable bottom in the S&P 500 — which would likely catalyze another 30–50% decline in bitcoin once cross-asset correlation risk kicks in. While that range may prove to be 200–300 points too low once the Fed put option is factored in, we do believe it is important for every investor to comprehend the risk we continue to see on an ex ante basis.

(Source)

Our base case scenario sees the U.S. economy returning to inflation in April 2022 and May after a brief stint in reflation before settling into a persistent deflation by June. Inflation and deflation are the two components of 42 Macro’s “GRID Regimes” that feature elevated volatility and covariance across asset classes. Given this condition of elevated portfolio risk, it is likely we are only in the middle innings of the bear market(s) in high-beta risk assets we have been anticipating since the fall.

(Chart by 42 Macro)

With the Fed unlikely to receive any signals from either the labor market or inflation statistics to stop tightening monetary policy for at least another quarter (perhaps two or three), it is likely financial conditions must tighten considerably to force a dovish pivot. While U.S. and global growth dynamics do not yet support such an adverse outcome, we believe simultaneous deteriorations in the liquidity cycle, growth cycle and profits cycle will continue to perpetuate a protracted and pervasive breakdown in risk appetite.

(Graph by 42 Macro) (Graph by 42 Macro)

The balance of risks surrounding our model outcome are balanced. With respect to what we believe is a low-probability bull case, risk inflation peaks and slows much faster over the next two to three months than we, economist consensus and the Fed, currently anticipate, leading to a sharp repricing lower of the projected path for the Fed Funds Rate in money markets. Any such sharp deceleration in inflation would also inflate real incomes and delay a more meaningful slowdown in growth by perpetuating a growth plus inflation (“Goldilocks”) soft landing in the U.S. and across large parts of the global economy. Goldilocks is an extremely bullish regime for bitcoin, with an annualized expected return north of 400%.

(Graph by 42 Macro)

With respect to what we believe is a low-probability bear case, a deterioration on the geopolitical front amid incremental supply chain disruptions stemming from China’s “Zero COVID” policy may sustain the ongoing inflation impulse for another two or three months. This causes Fed officials to take incremental actions (relative to market pricing) to tighten financial conditions into the teeth of the sharper deceleration in growth our models have persisted throughout 2H22E. The resulting deflation would likely be deeper and more protracted, perpetuating jump conditions in recession probability models. A deep deflation — as evidenced by a (two-sigma) growth delta is quite bad for bitcoin. That regime features a negative 64% annualized expected return for the digital asset.

This is a guest post by Darius Dale. Opinions expressed are entirely their own and do not necessarily reflect those of BTC Inc. or Bitcoin Magazine.

- Allen Farrington And Sacha Meyers
Bitcoin Is Venice: Soil And Yield

Damage to our soil and ongoing misguided environmentalism are symptomatic of fiat’s shortsightedness. Bitcoin offers a chance for Renaissance.

Get the full book now in Bitcoin Magazine's store.

This article is part of a series of adapted excerpts from “Bitcoin Is Venice” by Allen Farrington and Sacha Meyers, which is available for purchase on Bitcoin Magazine’s store now.

You can find the other articles in the series here.

“The first agricultural communities reached Europe’s doorstep in southern Bulgaria around 5300 BC. At first farmers grew wheat and barley in small fields surrounding a few timber-framed buildings. Agricultural expansion into marginal land lasted about two thousand years before the agricultural potential of the region was fully exploited and persistent cultivation began to exhaust the soil. With no evidence of a climate shift, local populations grew and then declined as agricultural settlement swept through the area. Evidence for extensive late Neolithic soil erosion shows that agriculture spread from small areas of arable soils on the valley bottoms into highly erodible forest soils on steeper slopes. Eventually, the landscape filled in with small communities of several hundred people farming the area within about a mile of their village.

“In these first European communities, population rose slowly before a rapid decline that emptied settlements out for five hundred to a thousand years, until the first traces of Bronze Age cultures then appeared. This pattern suggests a fundamental model of agricultural development in which prosperity increases the capacity of the land to support people, allowing the population to expand to use the available land. Then, having eroded soils from marginal land, the population contracts rapidly before soil rebuilds in a period of low population density.”

–David Montgomery, “Dirt: The Erosion Of Civilizations

We find soil erosion to be the perfect example of an environmental issue for our purposes for a number of reasons: It is caused locally and can only be fixed locally, even though the consequences are global; it is entirely obviously a problem of time preference which results from an obsession with maximizing flows rather than nurturing, replenishing, and growing stocks; but most of all, it does not seem to us to be commonly appreciated or even understood to be a problem. In fact, many of its consequences are celebrated.

Hence, it is, to our minds, a more worthwhile problem to discuss in the context of being a problem, because contemporary society has been propagandized to not take it seriously, if it is even noticed at all. We think, therefore, that the terms of the following discussion can effectively be airdropped into any number of better-known and more widely appreciated environmental debates — emissions, pollution, deforestation, biodiversity loss, etc. — but that in doing so its effect, its sting, will be lessened ever-so-slightly. Soil erosion is our exemplar of high-time preference society strip mining environmental capital.[i]

Much like our commentary in “Client/Server Fiat Finance,” comparing Andrew Jackson and the Bank of the United States nearly 200 years ago to Tarek El Diwany and the Bank of England barely 10 years ago, soil erosion is by no means a temporally or geographically isolated phenomenon. Its specter has haunted every civilization in recorded history.

In “Rome’s Fall Reconsidered,” Vladimir Simkhovitch[ii] writes, first of all somewhat tongue-in-cheek:

“What is the cause of this moral corruption and degeneration of which all Roman writers of the period complain?

“In that very same ode Horace tells us why he takes so desperate a view of things. The great deeds of the Romans were the deeds of a sturdy farmer race … and these farmers’ sons existed no longer. If they could not maintain themselves on their farms, still worse were the chances for a respectable existence in Rome; there they lost what little they have and became demoralized, dependent paupers.”

Later, Simkhovitch more seriously identifies:

“The process of concentration followed many parallel routes. Indebtedness was undoubtedly the greatest factor in abolishing small holdings. Unproductivity of agriculture naturally led to cattle-ranches which required much larger holdings. Wealthy men acquired and accumulated vast domains rather for the pleasure of possession than as a paying investment. But the process of deterioration went on, and legislative interferences could neither stop the robbing of the soil nor the depreciation of land values.”

And finally, to link culture, finance and soil fertility so as to come full circle, Simkhovitch asks:

“Why then did the Roman farmers fail to improve their methods of agriculture even when pressed by necessity to do so, even when threatened with extermination? It was easier said than done. Behind our abstract agricultural reflections are concrete individual farms … the owners of the rundown farms are impoverished, and when a farmer is economically sinking, he is not in a position to improve his land.

“Only one with sufficient resources can improve his land. By improving land, we add to our capital, while by robbing land we add immediately to our income; in doing so, however, we diminish out of all proportion our capital as farmers, the productive value of our farm land. The individual farmer can therefore improve his land only when in an economically strong position. A farmer who is failing to make a living on his farm is more likely to exploit his farm to the utmost; and when there is no room for further exploitation, he is likely to meet the deficit by borrowing, and thus pledging the future productivity of his farm. Such is the process that as a rule leads to his losing possession of his homestead and his fields, and to his complete proletarisation.”

Montgomery likewise is not describing a purely historical curiosity, but rather a permanent feature of the struggle to sustain civilization, as dire an issue today as it has ever been in the past. He warns:

“Across the planet, moderate to extreme soil erosion has degraded 1.2 billion hectares of agricultural land since 1945 — an area the size of China and India combined. One estimate places the amount of agricultural land used and abandoned in the past fifty years as equal to the amount farmed today. The United Nations estimates that 38 percent of global cropland has been seriously degraded since the Second World War. Each year farms around the world lose 75 billion metric tons of soil. A 1995 review of the global effects of soil erosion reported the loss of twelve million hectares of arable land each year to soil erosion and land degradation. This would mean that the annual loss of arable land is almost 1 percent of the total available. Clearly this is not sustainable.

“Globally, average cropland erosion of ten to a hundred tons per hectare per year removes soil about ten to a hundred times faster than it forms. So far in the agricultural era, nearly a third of the world’ potentially farmable land has been lost to erosion, most of it in the past forty years. In the late 1980s a Dutch-led assessment of global soil erosion found that almost 2 billion hectares of former agricultural lands could no longer support crops. That much land could feed billions of people. We are running out of dirt we cannot afford to lose.”

Montgomery makes the connection here to the ultimate utility of healthy soil: feeding people. Global soil erosion threatens humanity’s collective ability to adequately feed itself: a dramatically necessary precondition of any other kinds of capital accumulation. Practitioners of hyper-degenerate hyper-fiat “yield farming” on so-called “cryptocurrencies” are living off the surplus of real yield a real farmer somewhere has harvested.

And yet the results of inadequate care for the capital stock of arable land go well beyond the sheer quantity of calorific output. There are problems in terms of quality potentially much deeper still. The levels of glyphosate, the chief ingredient in the most widely-used herbicide in the U.S., Roundup, in the breast milk of American women has been found to be around a thousand times the level allowed in European drinking water.

Glyphosate also impedes absorption and translocation of calcium, magnesium and selenium in soil, and overexposure is thought to be a leading cause of the recent unprecedented prevalence of celiac disease, breast, thyroid, liver, kidney and pancreatic cancer, and myeloid leukemia. In 2015, the International Agency for Research on Cancer classified Glyphosate as “probably carcinogenic to humans.” In an article titled, “Dirt Poor: Have Fruits and Vegetables Become Less Nutritious? and even more tellingly subtitled, “Because of soil depletion, crops grown decades ago were much richer in vitamins and minerals than the varieties most of us get today,” Scientific American reported on a landmark study by Donald Davis from the University of Texas with the startling summary that Davis’s team:

“Studied U.S. Department of Agriculture nutritional data from 1950 and 1999 for 43 different vegetables and fruits, finding ‘reliable declines’ in the amount of protein, calcium, phosphorous, iron, riboflavin (vitamin B2) and vitamin C over the past half century. Davis and his colleagues chalk up this declining nutritional content to the preponderance of agricultural practices designed to improve traits (size, growth rate, pest resistance) other than nutrition.”

We are not only strip mining the land; we are strip mining human health.

The reader may well be wondering if this is all a hobby horse of the authors and be unsure where this is all going and what — if anything — it has to do with capital or capitalism. Just in case this is so, we repeat one of the first quoted extracts of “Bitcoin Is Venice” and this series which the reader may have forgotten by now; from Henri Pirenne’s “Medieval Cities”:

“Lombardy, where from Venice on the east and Pisa and Genoa on the west all the commercial movements of the Mediterranean flowed and were blended into one, flourished with an extraordinary exuberance. On the wonderful plain cities bloomed with the same vigor as the harvests. The fertility of the soil made possible for them an unlimited expansion, and at the same time the ease of obtaining markets favored both the importation of raw materials and the exportation of manufactured products. There, commerce gave rise to industry, and as it developed, Bergamo, Cremona, Lodi, Verona, and all the old towns, all the old Roman municipia, took on new life, far more vigorous than that which had animated them in antiquity.”

Soil was not sufficient to the Renaissance, but it was necessary, for the very simple reason that it underpins all capital formation. It is literally the original capital that must be nurtured, replenished and grown in order to sustain capital formation of any other kind.

Henry Kissinger is known for the rather menacing aphorism, “Who controls the food supply controls the people; who controls the energy can control continents; who controls money can control the world.

We have covered how Bitcoin completely re-localizes the money, and goes to great lengths, if not total, to re-localize the energy, but the food supply is worth digging into a little further.

The food supply is the yield of the carrying capacity of arable land. This is why soil erosion matters, and matters greatly. It may often take the form of literal strip mining, but arguably more importantly it is capital strip mining. Entirely aside from it being a barely well-known or publicized problem, this is why we consider it to be the perfect example of environmental capital that ought to be nurtured, replenished and grown, yet is not. Unlike biodiversity loss, for example, soil erosion is a distinctly human and communal problem.

Soil literally is capital. It has a carrying capacity and a yield that has human utility. This is by no means to dismiss biodiversity loss, carbon emissions or other forms of environmental damage, and we absolutely insist that virtually every such problem is ultimately caused by short-termism and selfishness or stupidity in general, but more specifically that all are motivated by degenerate fiat finance and money. However, we make no apologies whatsoever for placing human beings above all other life forms and ecosystems, for two exceedingly simple reasons, one philosophical and one practical.

Philosophically, only humans care. Only humans can go out their way to protect other life forms. Many contemporary environmental activists,[iii] as opposed to real environmentalists or what might be more easily understood and appreciated by the label conservationists, would do well to remember that “the environment” is not a benign spirit of peace and harmony. In moral terms, it’s very nearly pure evil. Everything in “the environment,” including the environment itself, is either indifferent to your pain and suffering and willing to take advantage of it, or is actively trying to kill you.

Like Bitcoin, it doesn’t care, but unlike Bitcoin, that apathy is reflected in unrelenting violence. Humans and humans alone care and self-regulate their capacity for violence and use their surplus time and energy above subsistence to attempt to protect and conserve the environment that is constantly trying to kill them. Humans alone have advanced to civilization, or, personal sacrifice and interpersonal compromise in the pursuit of the fruits of voluntary cooperation rather than immediate-term selfish violence. While many plants and animals might appear to plan and act for the future, only humans have a time preference that they arrive at intellectually rather than merely instinctively. And, of course, in the very, very, very long run — the kind of time horizons over which Bitcoin makes one think and take seriously — life on earth will eventually be annihilated if humans cannot develop the technological means of grafting it onto an extra-terrestrial ecosystem.

Practically, the only rational hope for protecting non-human life forms and ecosystems is to first and foremost prevent human suffering. Desperate, suffering, and mal-incentivized humans will inevitably destroy things. They will consume capital — and more. They will consume resources that do not even have an economic carrying capacity in the first place, do not constitute capital, and hence do not damage human relations but damage only the environment. They will cause biodiversity loss, for example, without a second thought. Indisputably the most environmentally damaging governments have been communist — an ideology hardly known for its valuing of capital or its propensity to avoid suffering, desperation and mal-incentivization amongst the governed. Not just to avoid the never-ending disaster of communism, but to protect the environment from any form of collective human endeavor, the incentives must be fixed.

This all sheds high-modernist efforts to “protect” the environment by arrogantly engineering it beyond belief or recognition in a particularly hilarious light. There are too many examples to list anywhere near exhaustively, but let us consider just a few, from a range of times and places. “Seeing Like A State begins with an extensive analysis of German “scientific” forestry in the early 19th century. The attempt to use “science” to “manage” forests and optimize the output of timber, with repeated scare quotes because, of course, it was anything but scientific, and the forests were not managed so much as destroyed. We won’t quote what runs for 20 or so pages, but we will offer a shorter, pithier summary of the fallout instead:

“A new term, Waldsterben (forest death), entered the German vocabulary to describe the worst cases. An exceptionally complex process involving soil building, nutrient uptake, and symbiotic relations among fungi, insects, mammals, and flora — which were, and still are, not entirely understood — was apparently disrupted, with serious consequences. Most of these consequences can be traced to the radical simplicity of the scientific forest.”

Or consider Allan Savory’s frustration at the modern treatment of livestock, both what bovine animals are and are not used for in modern agriculture, writing in “Holistic Management”:

“No other aspect of Holistic Management has caused such controversy as the suggested set of animal impact has. That trampling by livestock damages both plants and soils is a deeply held belief throughout the world… Some range scientists have for years rejected the one idea that has more promise of solving the riddle of desertification than any other. Meanwhile, they have supported the development of machines of extraordinary size and cost to break soil crusts and disturb vegetation through mechanical impact toward the same end. Because we have now lost most of the large herding wildlife species, and the predators that induced their movement, we are left only with livestock in most instances to stimulate that role, which we do by bunching them (there is no need to panic or stampede them), using herding or fencing, and planning their moves. There is no other tool than animal impact, I believe, that can do more to regenerate the world’s damaged soils and reverse desertification.

“Unfortunately, livestock — cattle and goats in particular — are generally seen as an enemy of the land and wildlife, rather than its savior. Recent concern over the methane released by ruminating cattle has reinforced this view. Yet, as far as we know, all ruminants — buffalo, bison, antelope, sheep, goats, pronghorn, deer, giraffe, and the like — produce methane as a by-product of rumination. Moreover, atmospheric methane levels did not increase between 1999 and 2008, even though livestock numbers increased seventy percent over the same period.”

Savory later adds:

“One of the greatest immediate benefits from animal impact can be seen in the restoration and maintenance of brittle environment water catchments, which store not only more water but also more carbon. While partial or total rest can sustain soil cover in the perennially moist nonbrittle environments, no technology exists that could replace animal impact on all the ranches, farms, pastoral lands, national parks, and forests that cover the bulk of most brittle environments, where either form of rest is so damaging to soil cover.

Those who remain opposed to livestock — and they are many, including scientists, environmental groups, vegetarians, governments, and international development agencies, remain unaware of the fact that no form of technology, nor burning, nor resting land can effectively address the desertification occurring in the world’s grasslands while feeding people at the same time.”

Or consider, finally, the modern fad of “fake meat.” A means of feeding people that many, if not all, of the groups cited above by Savory would likely heartily endorse over the evils of traditional agriculture; truly astonishing in social-historical terms; verging on a Poe’s law violation of the most risibly ignorant, arrogant, high-modernist imposition on local knowledge; not justified on the basis of an unobtrusive personal commitment to vegetarianism or as a protest against factory farming, to be clear — both perfectly reasonable causes — but rather as a mandated prescription for everybody, everywhere to “Save The World” from an apocalypse of cow farts.

As if Savory wouldn’t laugh (or possibly cry) at the absurdity of condemning the environmental impact of an animal uniquely suited to regenerating “the environment” following its destruction by humans, there is an added layer of comical hubris in that meat alternatives unequivocally require intense monocropping that accelerates soil erosion. This is degenerate fiat environmentalism in a nutshell: Passionately proposing what it fails to recognize is the cause of the problem and opposing its only realistic solution. Beyond meat indeed, and beyond civilization also.

[i] Always metaphorically but sometimes literally, too! It is also worth noting here that soil erosion plays a key role in each of emissions, pollution, deforestation and biodiversity loss, and so in some sense is the ur-example of an environmental problem.

[ii] The reader may be amused by this unintentionally hilarious assessment of Simkhovitch’s (lack of) contribution to academic economics in Eli Ginzberg’s “Economics At Columbia: Recollections Of The Early 1930s,” which, note, was a hotbed of early degenerate fiat economics:

“The hard core of the old department in addition to Seligman, Saeger, and Moore included Vladimir G. Simkhovitch who offered courses on socialism and economic history. Russian by birth and German by education, Simkhovitch, even with the perspective of time is not easy to characterize and even harder to evaluate. A collector of Chinese art and a grower of delphiniums in Perry, Maine, he was recognized as an expert in both fields. Most students, the bright as well as the dull, considered his lectures somewhat tedious distraction from serious work on contemporary economics; they had little interest in his exhaustion of the soil explanation for the decline of Rome or his Edward Bernstein-modified critique of Karl Marx.”

Of course, they did.

[iii] Who we may as well bucket as degenerate fiat environmentalists, given their cause is a degenerate-fiat-money-enabled anti-human LARP.

This is a guest post by Allen Farrington and Sacha Meyers. Opinions expressed are entirely their own and do not necessarily reflect those of BTC Inc or Bitcoin Magazine.

- Josef Tětek
Five Stalls That Caught My Attention At Bitcoin 2022’s Bitcoin Bazaar

Ingenuity, community and fun were on display at the Bitcoin 2022 Bazaar, a marketplace of merchandise from Bitcoiners.

Bitcoin 2022 was home to high-profile keynotes, announcements and panel discussions. But the plebs had their spotlight as well. The Bitcoin Bazaar was the place to get to know some of the most interesting projects in Bitcoin merch — not necessarily world-changing but definitely uplifting.

Panties For Bitcoin

“BTC — Be Truly Confident”

— Panties for Bitcoin

What I first considered as a whacky Bitcoiner meme turned out to be high-quality, Italian-made lingerie run by a lovable family. Pablo, the mastermind behind the business, is an Argentinian emigrant with decades of experience in the underwear industry and a passion for money free from government intrusion. Several years ago, he combined his two obsessions and founded Panties for Bitcoin. With “no more fiat panties” and “Be Truly Confident” as company mottos, Pablo and his family — his wife Silvia and his son Michael — do their part for the circular economy, offering a 10% discount on orders paid in bitcoin.

Check the panties out at pantiesforbitcoin.com. For now, only ladies’ lingerie is offered, though the family is considering launching a men’s line as well.

Pablo and Michael.

Buzz It Forward

“Look better. Feel better. Do better.”

— Buzz It Forward

Every large conference seems to have a barber these days, and the Miami gathering was no exception. Buzz It Forward wasn’t offering just a haircut, though; the project’s mission is to help disadvantaged children and juveniles through sponsored haircuts and mentoring. So whoever had a haircut at the conference actually sponsored three haircuts for those that can’t afford it; the idea being that a good-looking hairline could be the decisive factor for landing a first job for a 16-year-old, or otherwise help in similar situations. When asked about accepting bitcoin as a payment, the (very likable) barber at the booth answered that it’s still a new thing for them, but they believe it’s the future.

You can check this project out at Buzzitforward.com.

Coinertime Blockwatch

“Goodbye factory time. Hello Bitcoin Standard Time (BST).”

— Coinertime

Do you need to check “Moscow Time” several times a day? Do you have an obsession of checking whether blocks are ticking at an average 10-minute pace? Well fret no further, as you can now switch from fiat time to a universal Bitcoiner time with Blockwatch! This neat wearable allows you to switch between Moscow Time (sats per 1 USD), current block height, and a QR code of one’s public key. Fiat UTC time is available as well, but only as a flash function when certain buttons are pressed.

Coinertime (the company behind Blockwatch) is from Florida, accepts only Bitcoin via BTCPay Server for their product, and sticks to an open-source philosophy, with both the watch hardware and software available under an MIT license. Blockwatch is a hobby side project for the Coinertime team, their main business being Bentaus, a Bitcoin mining company that aims to build small-scale mining farms in all 50 states.

Check ‘em out at coinertime.com.

Mear One

“Bitcoin embodies this revolution — it is the most important one of our time with a currency I can get behind, offering a new alternative economy based on non confiscatable sound money principles. It liberated me as an artist and in many ways, like graffiti art, saved my life a second time by empowering me to continue on creating conscious art for a community that reflects this same sentiment - Bitcoin is the new graffiti.”

— Mear One

There were quite a few artists at the Bazaar, and Mear One was the one that caught my attention due to his kickass T-shirt designs. Unfortunately, we only managed time for a brief chat, so I fully appreciated his work only after the conference, when I had a chance to look through his work in detail. To my delight, I found out that Mear One designed the album cover of Non Phixion’s “Future is Now” one of my favorite hip hop albums of all time!

Link to tweet.

Mear One is based in Los Angeles and he drove across the entire United States to come to Miami.

Check out his work at Mearone.com, and read his thoughts on Bitcoin and art here at Bitcoin Magazine.

SHAmory

“It’s always best to have the help of a pal.

So Satoshi called a monster friend named Hal.”

— Goodnight Bitcoin

Bitcoin has been around for 13 years, and as it comes of age, Bitcoiners mature as well. While the mainstream journalists still paint us as youngsters chasing their Lambo dreams, in reality a growing number of us are 35+ years old with low-time preference values such as a spouse and many kids. And in every Bitcoiner’s household, the kids are inevitably going to ask: “What’s that Bitcoin thing you talk about all the time, Dad?” “Mom, Dad wants to give me my allowance in sats, what’s that?” “Who’s that Satoshi guy you keep on mentioning?” and so on. So naturally, we need child-friendly resources that help the young ones learn about the orange coin.

Scott and Mallory Sibley were in a similar situation, so they created SHAmory, a memory-inspired card game about bitcoin mining. SHAmory is a simple game that even a three-year-old can play (personally verified claim 🙂 ), and it explains the basic mechanics of mining while introducing relevant terms such as “nonce,” “block,” “reward” into the vocabulary.

SHAmory by itself would be pretty cool, but Scott and Mallory also wrote and illustrated “Goodnight Bitcoin,” a simple story in verse about Satoshi, Hal and the creation of Bitcoin. The best part? Both SHAmory and “Goodnight Bitcoin” feature the same, cute monster-themed artwork, so kids naturally fall in love with both.

Find out all about SHAmory at SHAmory.com.

Scott and Mallory Sibley are the team behind SHAmory.  In SHAmory, kids need to find a nonce that corresponds to the target; when they do, they get a bitcoin reward and extend Bitcoin’s blockchain by another block. But watch out for those pesky difficulty adjustments! Soul, Sparkle And Smile Of Bitcoin

Besides Bitcoin Bazaar, there were many interesting booths that filled the huge Expo Hall. This was the place to be if you wanted to meet your favorite Bitcoiners (I finally got some of Mandrik’s legendary baklava!), get a book signed by Saifedean Ammous or Allen Farrington, or shop for a new hardware wallet. To be honest, I enjoyed the time mingling with the plebs in the booth maze more than any of the talks. You can always watch the talks online later, but you can’t ever recreate the feeling of meeting new friends, exploring the niches of the buzzing Bitcoiner culture, or if you’re manning a company booth getting firsthand feedback from your users.

Busy time at the Trezor booth.

Bitcoin 2022 was awesome; not so much for the high-profile keynotes, but rather for meeting the fellow orange-pilled Bitcoiners who add the soul, smile and sparkle to the monetary revolution.

This is a guest post by Josef Tětek. Opinions expressed are entirely their own and do not necessarily reflect those of BTC Inc. or Bitcoin Magazine.

- Shinobi
How Bitcoin Should Be Upgraded In The Future

The history of Bitcoin upgrade activation mechanisms informs an opinion on how to make protocol changes in the future.

One of the most contentious questions in Bitcoin over the last five years has been how to activate soft forks. There have been many different mechanisms used in the history of Bitcoin to activate new features on the network, the iteration of which has generally evolved with the goal of making feature deployment as safe and non-disruptive as was possible. Until 2017, there was general consensus and not much disagreement as activation mechanisms changed, but during the deployment of Segregated Witness (SegWit), this changed.

SegWit became the issue that drove disagreement and contention over how features should be activated on Bitcoin for the first time. After the initial BIP9 deployment, dependent on miner signaling to lock in enforcement rules, a large majority of miners and mining pools refused to signal for activation with their blocks. At the time, many users became furious that miners were delaying the activation of a new feature and holding it hostage with demands for a hard fork to increase the block size (when, I might add, SegWit accomplished a block size increase through a soft fork), and the entire ecosystem was filled with completely inaccurate information about SegWit in an attempt to drive opposition to the feature itself based on outright lies.

BIP148 and the user-activated soft fork (UASF) wound up pushing miners to activate SegWit, and one of the big block pushes was called off, leaving the other to fork and eventually crash into irrelevance. But since then, Bitcoiners have generally avoided having the conversation about how new features should be deployed and activated. The topic has become contentious to the point of almost being a taboo.

I think it's worth going through a high-level tour of some of the past activation mechanisms proposed and used before getting into how I personally think upgrades should be handled going forward. Note that these mechanisms can be used for both hard forks or soft forks, the only difference is that a chain split is guaranteed with a hard fork, and only possible in a soft fork if things go wrong.

Flag Day Activation

“It can be phased in, like: if (blocknumber > 115000) maxblocksize = largerlimit It can start being in versions way ahead, so by the time it reaches that block number and goes into effect, the older versions that don’t have it are already obsolete.”

BitcoinTalk, October 4, 2010

This is the infamous quote by Satoshi Nakamoto after they implemented the original block size limit, speaking to how it could eventually be increased in the future if users deemed it necessary. (It's worth noting as well that when people called for it early on, Nakamoto was against the idea, and specifically responded with the above quote as to why it shouldn't be done until needed. The last comment Nakamoto ever made on the issue of block size, found here, also explicitly acknowledged it was ultimately the choice of the users whether or not to do so.) 

This is a “flag day activation,” where a block height or timestamp is selected, and upgraded nodes simply start enforcing new rules at that point. There is no public signaling or visible coordination, people simply download the new client and everyone who has upgraded starts enforcing at the chosen time, and those who have not upgraded do not.

This is how pay to script hash (P2SH) was activated. Flag day activations are, technically speaking, a form of user-activated soft fork, given that it is the nodes on the network committing to activation of a new feature and enforcing its rules. The problem with flag days is that they provide no public signal indicating what percentage of miners claim to be enforcing new rules, so that everyone can gauge the potential risk and likelihood that a chain split will occur. Flag days have not been used in some time.

BIP9

BIP9 was developed in order to further decrease the risk of chainsplits in the deployment of soft forks. The idea behind it was having miners include a signal in the blocks they mine, with new node software only triggering the activation of new features if a threshold (95%) of miners in a difficulty period are signaling to activate the feature. This would give a public indication of how many miners were enforcing the new feature before nodes began enforcing the new rule. Obviously, miners could lie and signal falsely, but the idea was that there is no economically-rational reason to do so. CheckLockTimeVerify and CheckSequenceVerify were both deployed using BIP9, and the original Segregated Witness implementation was deployed with it as well.

The big downside of a BIP9 deployment, as evidenced by SegWit, is that a minority of miners can stall the activation of a feature by refusing to signal. Without deploying something a second time using a different activation mechanism, BIP9 gives miners a de facto veto where they can prevent a new feature from activating on the network. This activation mechanism therefore gives miners a disproportionate control over what is added to Bitcoin; miners are service providers to users and HODLers, and therefore should not have such oversized influence in feature activation.

BIP148 And UASF

BIP148 set a huge precedent as well as implemented a novel activation mechanism never seen before; it was not designed simply to activate a feature in its own deployment, but also guarantee the activation occurred for the prior BIP9 deployment of SegWit. This was the reason for the August 1 deadline. Beginning August 1, the last two-week difficulty adjustment period for miner signaling before the SegWit activation window ended, BIP 148 clients enforced by consensus the requirement that all blocks in that last window signaled for SegWit activation.

This mechanism was a novel activation design not previously needed or used, and was situationally done to correct what was viewed as a major shortcoming of BIP9: the ability of miners to stall the activation of features that otherwise had consensus.

BIP91

BIP91 is another unique activation scheme deployed in 2017 in relation to SegWit. Miners at the time were unwilling to cede to the ultimatum of BIP148, but at the same time were worried about the consequences to Bitcoin if BIP148 activated without miners signaling and causing Bitcoin to split into two parallel blockchains. BIP91 was created in order to find a compromise that would keep everyone in sync on the same blockchain.

It established an 80% threshold, where if that many miners signaled in a difficulty period to activate SegWit, it would start orphaning all blocks that were not signaling (similar to BIP148). The goal was to guarantee that if BIP91 activated, it would stay in sync and compatible with BIP148, which would then trigger the original BIP9 deployment of SegWit, keeping everyone on the same chain. The entire purpose was to give miners an excuse to "be the ones to trigger activation."

BIP8

BIP8 was the proposed mechanism to replace BIP9 due to the situation that occurred during SegWit activation. The design goal was to have a deployment mechanism where miners reaching a threshold of signaling (90%) could activate the proposal at any given point in the activation window, but to create a mechanism where it was possible to guarantee that a fork is activated if enough miners refuse to signal.

That is the "lockinontimeout" variable. If it is set to true, then in the last signaling period consensus rules will enforce that all blocks in that period must signal for activation, just like BIP148, to guarantee that the new feature activates.

Speedy Trial

Speedy Trial was how Taproot wound up being successfully activated. It was a highly contentious choice of activation mechanisms to say the least. At the end of the day, Speedy Trial functions like a BIP9 activation deployment, except that the activation window is much shorter and the signaling threshold is the same as with BIP8 (90%). Part of the rationale for using Speedy Trial was that if something with consensus failed to activate, a BIP8 LOT=True deployment could be released afterwards.

Many people, myself included, viewed Speedy Trial as a step backwards in terms of refining feature activation mechanisms.

What Now?

The SegWit activation fiasco in 2017 demonstrated the ability of a small minority of miners to interfere with network consensus and feature deployment, which had to be corrected through an incredibly convoluted deployment of multiple different activation mechanisms simultaneously that had complicated incentive interactions between all of them. This was an incredibly risky situation that thankfully worked out in the end, but it very well could have gone disastrously.

In my opinion, the entire point of moving past BIP9 was to avoid recreating the potential for such a situation again. Some would argue that Speedy Trial does so because of a much shorter timeframe before an activation window closes, but I would argue it does not. It still presents the risk of an activation failing due to the maliciousness or lack of response from a minority of miners, and importantly, presents the impression on a social level that miners are capable of "vetoing" consensus among other network actors.

That is what I think activation mechanisms boil down to in the long term. As Bitcoin continues growing, more and more uneducated users are going to be entering the ecosystem. In that learning process, they will be observing everything going on, and most importantly, they will be looking at activation mechanisms through the lens of, "What is going on here, who is deciding whether something activates or not?" Developers? Miners? Businesses? This is the question, and these are the answers, that I think most new users will have running through their heads when we go to deploy new features and upgrades on the network.

The answers people will arrive at ultimately will become a self-fulfilling prophecy in this regard, if users wind up seeing miners as the decision makers, then most users will look to miners. If users wind up seeing developers as the decision makers, they will look to developers. How Bitcoiners approach this question now will set precedent for how future users handle things. There are lots of different opinions on how activation should be handled, but in the interest of not putting words in other peoples' mouths, I'm going to stick with just describing mine.

I do not think Bitcoin Core or miners should be involved in the activation process in the role of either deploying new activation releases, or in a position where they are capable of vetoing or stalling something from activation. Going forward, I think all new features deployed through a UASF using BIP 8 LOT=True. I think it is important that the precedent we set going into the future is one of grassroots organization that does not consistently come from an identifiable group being seen as the arbiters of what features are or are not activated in the Bitcoin protocol.

If, going forward, we set the precedent of people outside of Core being the ones to propose activation, we set the precedent of a higher level of skepticism toward change in general. We avoid creating the social perception for newer users that developers decide what does or does not happen. This would set a very high bar for enacting new changes, and ensure that bar remains high instead of devolving into a dynamic of users deferring to experts to decide what happens. Activations can occur through outside clients, with the next Core release activating new features if they have successfully been activated through patched clients.

This can allow each "activation client" to be used temporarily during a feature deployment, with everyone switching back to Core after a successful activation, preventing the need to maintain long lived clients outside of Core while still removing the process of activation from Core developers.

Some might argue this creates a risk of chain splits during soft forks, but the reality is that chain splits are always possible during a soft fork. With LOT=True, the point at which a fork will occur will be known ahead of time if one were to occur. If the chain is going to split, it will occur during the final signaling period of the activation when the first block not signaling for activation is mined. This defines a consistent and predictable time period in which it will occur if it does, as opposed to any arbitrary point after activation when some miner not enforcing the new rules mines a block violating that rule.

If there truly is consensus for a new feature, then the majority of the economy will be running a client to activate it, and such a chainsplit will be a minor disruption and inconvenience. If there is no consensus for a new feature, then again such a chainsplit should be no more than a minor disruption and inconvenience as a tiny minority forks themselves off the network. They will be left with the decision to continue using a minority fork chain or relent and return to the Bitcoin network.

Bitcoin is ultimately a market-driven system, where consensus is arrived at voluntarily. I believe attempts to prevent that process from becoming messy are both misguided, missing the fundamental nature of the system, and will inevitably lead to more centralized social control and perception of top-down decision making if people constantly try to remove the mess from arriving at consensus. We should embrace that process, and stop trying to control it.

At the end of the day, this is simply my personal opinion on how things should be done, and there are many more diverse opinions out there. People shouldn't be hesitant to voice their opinions on this matter. It's time for us to start having this conversation instead of constantly putting it off, and letting the inertia of social dynamics slowly make the decision for us.

This is a guest post by Shinobi. Opinions expressed are entirely their own and do not necessarily reflect those of BTC Inc or Bitcoin Magazine.

- Jimmy Song
Bitcoin Songsheet: Wind And Solar Are The Altcoins Of Energy

A misdirection of resources and an obstruction of progress, wind and solar energy reflect the same distracting qualities of altcoins.

Wind and solar are altcoins.

They are unreliable, costly and make as much sense as LUNA. "Green" energy takes up too much real estate for the energy they provide but they grow through propaganda and subsidization like preferred pronouns on Facebook. Despite claims of being renewable, they require resources from the earth like everything else and have a finite lifespan. They are ridiculously inefficient and if governments stopped subsidizing them, they would not survive. But through fiat money, these boondoggles continue their rent-seeking existence like a gender studies professor at a mid-tier university.

If you’re reading this column, you already know where I’m coming from and my opinion is probably not surprising. But like the degeneracy of Hollywood, wind and solar are much worse than you think.

Few People Understand Energy

Energy is like money, which people think they understand, but really don’t. The average person uses a lot of energy day to day, whether it’s the electricity to power their computers, gasoline to power their cars or natural gas to heat their homes. Like money, usage gives people the illusion that they understand it. But this is like thinking you can run a semiconductor manufacturer because you use a phone.

Furthermore, the government is actively deceiving the public about how both money and energy work. They assert the U.S. dollar is the same now, in the past and forever more, just like they assert that solar and wind are the same as coal and oil but cleaner. There’s little to no discussion of the downsides of the schemes they favor, like inflation from rampant money printing or the unreliability of “green” energy. They’re like altcoiners who change topics when you point out that the founder of their altcoin is a serial scammer or that the incentives of their system will result in a death spiral. Like a procrastinating teenager, they believe that not thinking about something will make it go away.

The downsides of green energy are enormous. Wind and solar are unreliable, take up too much real estate and are only good for electricity. They ignore the role of fossil fuels for heating and transportation, which are much less efficient using electricity. The upside is relatively modest: lower emissions of CO2. The public perception is that green energy is good and more expensive on the front end but pays off over time. This is far from the truth and the perception speaks to the effective propaganda that comes from the government. The nightly news plays like an infomercial. Think of all the benefits! Buy now! Similarly, we’ll regret paying for these wastes of money years later when it doesn’t save us money and takes up a lot of space.

Similarly, the downsides of fossil fuels are exaggerated and the upsides completely ignored. The environmentalist claims are not lies, per se, but omission of key facts. After decades of fiat subsidization, wind and solar supplies a scant 3% of the world’s energy, all in electricity. They cause more power outages because they only generate electricity when it’s sunny or windy. In addition, removing petroleum would remove lots of other goods and services in the economy. They ignore possible downsides more than an altcoin founder.

Energy From First Principles

To really understand energy, we need to go back to first principles. What is energy? What is it used for?

You might remember the definition from physics: energy is the capacity to do work. Work is what builds and maintains the things we use and work requires energy. Work is what builds everything. Without work, we wouldn’t have civilization. Without energy, we wouldn’t have work. Therefore, civilization needs lots of energy.

As humans, we get our energy through food and we are able to do work like walking, or digging or typing on a keyboard. For most of human history, we mostly harnessed energy from food, either through manual labor or using the labor of domesticated animals.

We discovered that we could use fire for energy, particularly for heat and cooking. We also captured energy from wind and water, with windmills and dams. Capturing energy is a productivity multiplier. Tilling soil with picks and shovels is much more difficult than using a horse to plow a field. Using farm equipment to do the same is even more efficient. Energy is the input that makes this efficiency gain possible. Food is not very efficient energy for the task of tilling soil, but gasoline is.

The productivity gains from energy abundance are dramatic. A hundred years ago, 26% of the US labor force was involved in farming. Now, it’s 1.5%. The productivity gains come from new technology, which requires energy. In every aspect of life, technology multiplies the effectiveness of labor through energy use. In a sense, we’ve all become Iron Man, able to work way more than one person could a hundred years ago.

Energy, in other words, is a way to multiply the effectiveness of our time. As we use more energy, fewer people are needed for what was once a labor-intensive task. The freed up people can then do other work, bringing in more goods and services to the market. Civilization grows when more work is done and new sources of energy have been how that work has been done the last 200 years. Each person has been given the tools to do as much work as hundreds of people from a hundred years ago. Energy has made us all 100x laborers.

Fossil Fuels

Energy abundance has primarily come through the harvesting of coal, oil and natural gas. These so-called fossil fuels are incredibly energy-dense and we can capture the energy for tremendous productivity gains. They are abundant, easily portable and incredibly efficient. Fossil fuels have contributed greatly to things we take for granted, like air travel and heating. They are demonized, however, because of carbon dioxide emissions.

I get it. CO2 is bad. It causes the atmosphere to warm. I’m not denying that. But how bad is the warming compared to all the other things that fossil fuels enable us to do?

That’s the topic of the book I read recently, Fossil Future. The book takes a balanced look at fossil fuels and the benefits it provides versus the drawbacks. Instead of only looking at the negatives, mostly the CO2 emissions, the book looks at the whole of what fossil fuels enable civilization to do, like the labor productivity multiplier I mentioned earlier. The book is a total red pill for thinking about energy and it woke me up to the reality of energy much in the same way Bitcoin woke me up to the reality of money.

The two uses of fossil fuels which were really compelling are the role of fossil fuels in transportation and everyday products. Neither cheap transportation or petroleum-based products are possible with wind or solar.

Airplanes, for example, are too heavy to fly using just electrical energy. An electrical plane is currently impossible because the batteries that are required would be too heavy to lift. It’d be like making a 400 pound person to run a 4 minute mile. The physics doesn’t work. You need a much lighter energy source such as jet fuel to make airplanes fly.

There are also all manner of petroleum based products that few people realize are made with oil. Nearly everything you own has petroleum products in it. Your clothes, your house, and your computer all have components that require oil as an input. Thus, the goal of net zero emissions, or canceling use of fossil fuels is sheer lunacy. Ending fossil fuel use would cause the collapse of civilization as we know it by making labor less efficient, energy more expensive and goods we use every day much more expensive.

The World Post-1971

This points to something that’s been prevalent in the world since getting off the gold standard in 1971. There’s been a persistent push to devalue human labor. The monetary case, we know; debasing money through inflation devalues our work. Monetary expansion is an implicit tax, time-theft and a form of economic slavery.

Similarly, fossil fuel reduction devalues our labor. Our time is enormously valuable because our labor is multiplied through energy. Taking that multiplier away or even curtailing that multiplier effect significantly shrinks our labor output. We won’t be forcing farmers to use horses again to till their land, but we will need a lot more farmers and many other manual laborers if we take away fossil fuels. By taking away cheap energy, we are being taxed on our labor.

Yet despite all that, labor productivity in the US has grown over 10% in the last 10 years. How is that possible? Even with all the regulation, fossil fuel providers have gotten better at producing cheap energy. Our productivity increased because cheaper energy further multiplied the output of our labor. If you think about it, productivity gains are ways of measuring this multiplier effect. Energy gains result in productivity gains, which builds civilization.

Yet since 1971, both monetary policy and energy restrictions have persistently debased human labor. What is going on?

A Drag On Growth

Our productivity increases when energy gets cheaper and more abundant. The energy sources that have proven to be the most reliable and abundant over the past 200 years are fossil fuels. Regulations on fossil fuels, and the clear bias against them in favor of solar and wind have come at the cost of civilization. Like the dollar hegemony, fossil fuel monopolization has oppressed developing countries.

Developing countries are prevented from multiplying their labor through the use of fossil fuel energy because the developed countries won’t let them. Instead of giving them reliable electricity through coal power plants or transportation fuel through oil refineries, they’ve essentially imposed on developing countries the use of solar and wind, the least reliable, most expensive and most limited sources of energy. It’s like they’re being forced to buy outdated Windows phones at full price.

Instead of building infrastructure and developing, these countries are saddled with worse tools and prevented from growing through western countries’ energy imperialism. Neo-environmentalism is similar to the IMF, which is viewed as benevolent, but is, in reality, a form of control and exploitation over developing countries. Like any rent seeker, they tell you that their restrictions are for your own good, when it’s for their own good.

It’s no wonder the best and the brightest in developing countries immigrate. They’re multiple times more productive in developed countries because they have access to abundant energy!

Bitcoin Fixes This

As usual, we can trace this hysteria around fossil fuels back to fiat money. The ending of the Bretton Woods system in 1971 meant that the US needed a new system to perpetuate the dollar. The dollarization of oil created an oil crisis in the 70’s that turned public sentiment against fossil fuels. The propaganda at the time blamed greedy Middle Easterners as the reason why gas was so expensive, when in fact it was the creation of the petrodollar standard. Fossil fuels became the scapegoat and renewables became salvation.

The resulting demonization of oil, gas and coal has been nothing less than disastrous for the developing world. Though we do get power outages once in a while, it’s been less devastating for developed countries. The subsidization of solar and wind have directed a lot of resources toward these boondoggles rather than making fossil fuels a lot more efficient and available. The blue haired environmentalist has gotten favorable treatment at the expense of the blue collar worker. Is it any wonder we’ve gotten more of the former and less of the latter?

As we go toward a Bitcoin standard, we get better incentives with respect to energy. First, more energy is explored and made viable through proof-of-work. Because bitcoin mining is a portable customer, energy development is more economical everywhere in the world. Traditionally, energy producers had to make sure there were enough customers first before building out energy facilities. Now, they don’t because Bitcoin mining will be a customer, provided the energy is cheap enough. Economic incentives get realigned around energy production, not what the government deems acceptable.

Second, bad ideas like solar and wind are no longer subsidized through money printing theft. The market chooses what it wants rather than the government. This means that the best fuels will win and more development of sources like nuclear will commence. We developed nuclear submarines in the 1950s which never needed refueling! Nuclear has stalled due to environmental concerns. Much like their restrictions on developing countries, their restrictions even on developed countries have been a significant drag on progress. Blame squarely goes to them for the fact that we don’t have nuclear cars or airplanes that don’t need refueling.

Bitcoin will remove the bad incentives and create good incentives for energy. That means a more productive work force through the multiplicative effects of energy use. I reject the charlatanism of wind and solar. I am an efficient energy maximalist.

Fossil fuels are sound energy.

This is a guest post by Jimmy Song. Opinions expressed are entirely their own and do not necessarily reflect those of BTC Inc or Bitcoin Magazine.

- Shawn Amick
Bitcoin Gaming Studio Pnkfrg Raises $3 Million For Mobile Games

Pnkfrg is a new mobile gaming studio building on Bitcoin’s Lightning Network targeting a casual, F2P creator economy experience.

Pnkfrg, a new gaming studio building mobile F2P games on the Bitcoin Lightning Network just raised $3 million. The funds will be used to develop games targeting a F2P circular creator economy with a casual experience.The studio based in Berlin and Helsinki includes team leads from the Candy Crush Saga.

Pnkfrg studios, a mobile gaming studio startup designing games for the Lightning Network on Bitcoin, has raised over $3 million in a seed round, according to a press release sent to Bitcoin Magazine.

The funds will be used to develop a casual gaming experience built on the Lightning Network. With a core focus on mobile gaming, pnkfrg studios focuses on free-to-play (F2P) economics which allow participating gamers to engage in economies without requiring funds be spent to enjoy the game. The studio intends to integrate the creator economy into the mobile experience driving a circular economy that allows users to earn and spend within the ecosystem.

“We founded pnkfrg studios because we believe in a paradigm shift in casual mobile gaming as well as in a new way of digital financial transactions. Players and creators seek to be rewarded for their time, want to own and trade digital assets, and expect to gain value for their skills and contribution while having a fun time” said Philipp Lanik, CEO and co-founder of pnkfrg studios.

Continuing on the circular economy, Lanik noted “With our product we are addressing the needs of the generation of mobile natives and social creators,” as many participants in digital economies are looking for ways to become native to the environment they choose.

Seed round funding partners included: Stillmark, Velo Partners, Fulgur Ventures. The funding was led by LVP, who is a gaming industry expert, and Initial Capital.

“Bitcoin’s payments network - the Lightning Network - is the only protocol within the broader cryptocurrency field that has demonstrably established the ability for instant, nearly free transactions, across the globe, 24/7 and at scale,” Alyse Killeen, founding managing partner of Stillmark said. “Moreover, Lightning payments are economical at very low value - at just a fraction of a cent - making micropayments a native capability.”

- Shawn Amick
Brazilian Stock Exchange To Begin Trading Bitcoin Futures This Year

B3, the Brazilian stock exchange, will begin trading bitcoin futures contracts within the next three to six months and hopes to offer crypto-based services.

B3, the Brazilian stock exchange, will begin trading BTC futures in three to six months.This past January, the CFO of B3 announced plans to trade futures based on bitcoin and other cryptocurrencies.The CFO also mentioned becoming a service provider of custodial solutions, as well as a settlement provider for the growing ecosystem during January.

The Brazilian stock exchange known as B3 (Brasil, Bolsa, Balcão) will begin trading futures contracts for bitcoin within the next three to six months, according to a report from Valor.

"We plan to launch bitcoin futures in the next three to six months," CFO André Milanez reportedly said on a conference call.

No details were offered on whether or not B3 had partnerships lined up to offer the products or if another company would be providing infrastructure. This past January, Valor reported that Jochen Mielke de Lima, director of information technology at B3 stated the exchange’s intentions of releasing BTC futures.

During the January interview, Mielke noted that B3 had been looking into bitcoin and other cryptocurrencies since 2016, but that the issue of valuing the assets against either the dollar or the Brazilian real played a confusing role in B3’s determination.

"We are identifying points of friction that we can help solve to face it, such as helping our customers provide the best access to their end customers," he said.

B3 noted that similarities between the equities market including: trade, settlement and custody, are all issues that the exchange believes it can offer services for.

"We have around 30 national crypto brokers, apart from the international ones that operate here. We could offer a service to facilitate and standardize their operations. I believe you have something to explore in providing custody services and the settlement process," Mielke told Valor in the January interview.

- Shawn Amick
Texas Pacific Land Corporation Announces New Bitcoin Mining Venture In West Texas

TPL, one of the largest landowners in Texas, Mawson Infrastructure and JAI Energy have partnered in West Texas for a 60 MW bitcoin mining venture.

One of the largest landowners in Texas has partnered with a digital infrastructure provider and bitcoin miner for a mining facility in West Texas. The mining venture will see up to 60 MW of bitcoin mining capacity. JAI Energy is the largest bitcoin mining farm in the state of Wyoming.

Texas Pacific Land Corporation (NYSE: TPL) – one of the largest landowners in Texas – Mawson Infrastructure Group Inc. (NYSE: MIGI), and JAI Energy have partnered to build up to 60 megawatts (MW) of bitcoin mining capacity on TPL’s surface in West Texas, according to a joint press release.

“This project marks the beginning of TPL’s journey into bitcoin, and we are fortunate to collaborate with Mawson and JAI as two highly regarded companies in the bitcoin mining industry,” said Tyler Glover, CEO of TPL, a digital infrastructure provider. “We believe TPL’s extensive surface footprint in West Texas can serve as a premier destination for the bitcoin mining industry, providing site locations proximate to existing grid infrastructure and excellent solar and wind resource for future renewable power procurement.”

Mawson and JAI have four planned locations, all of which will be located in Texas and two of them will be on TPL surfaces. While construction is expected to begin within the second quarter of 2022, operations are not expected to be functional until the fourth quarter of 2022.

“We are aligned to see this venture succeed and scale as we look to leverage our unique asset base, industry and customer relationships, and the region’s energy abundance,” Glover said. “For TPL, our shareholders will benefit from a unique royalty stream while retaining an option to participate as an equity partner.”

The facilities will be owned and operated by Mawson and could support up to two exahashes (2EH/s) of bitcoin mining capacity. JAI and TPL will earn the royalty interest while maintaining the ability to acquire an equity position.

“Texas is rapidly emerging as an attractive new Bitcoin mining destination in the United States, and we are eager to establish a foothold in the state,” said founder and CEO of Mawson, James Manning.

- Jacob Oliver
Uniswap Community Voting on Moonbeam, Gnosis Chain Deployment
Community voting is underway to decide if Uniswap, Ethereums most popular decentralized exchange, will deploy on Moonbeam, Polkadots first parachain, and on Gnosis Chain. Uniswap has deployed on several Layer...
- Jacob Oliver
a16z Invests $600M in Metaverse Gaming Fund
Andreessen Horowitz has announced $600 million in funding for its new Games Fund One, an inaugural fund dedicated to building the future of the games industry. a16z Looks to the...
- Sponsored
Is This Crypto Lending Company Any Good? Part 1
This article is the first in a series of how-to guides examining the CeFi lending landscape. Four of the top crypto lending companies, Celsius, Nexo, Crypto.com, and BlockFi, will be...
- Stefan Stankovic
Meta May Launch Crypto Exchange, Trademark Filings Show
Meta has filed five trademark applications in the U.S. for its rebranded Meta Pay payments product. The trademarks indicate that the company could be looking to launch a suite of...
- Timothy Craig
Is Tether’s USDT Going to Pull a UST? Probably Not
Fears over USDTs stability have resulted in more than $9 billion worth of redemptions over the past week. We explore whether investors should be worried about a potential collapse. USDT...
- Crispus Nyaga
2 reasons why the Ethereum price is plummeting

Ethereum price drifted lower on Wednesday as its correlation with the Dow Jones and the Nasdaq 100 indices continued. The coin dropped to a low of $1,964, which was its lowest level this week. It was a sea of red as other cryptocurrency prices nosedived.

Don’t fight the Fed

ETH price declined sharply as volatility in the market continued. The closely-watched CBOE volatility index rose by more than 5%.

There were several catalysts for this volatility. First, investors were reacting to the statement by Jerome Powell on Wednesday during an event sponsored by Wall Street Journal. In it, he reiterated that inflation was the biggest challenge facing the economy. He then reiterated that the Fed would do whatever it could to push inflation towards its target of 2.0%. 

Therefore, investors believe that this means that the bank will not come to its rescue like it did in 2018 and during the Covid pandemic. As such, it will continue hiking interest rates by 0.50% in the remaining meetings. It will also start a period of quantitative tightening. As such, Ethereum price is falling as investors avoid fighting the Fed.

Read our Ethereum price prediction.

US stocks correlation

ETH price is also crashing as the correlation with American stocks continues. The Dow Jones declined by more than 1,100 points while the tech-heavy Nasdaq 100 index declined by more than 560 points. 

The decline was triggered by the relatively weakness in the retail sector. The Target stock price crashed by more than 25% while Walmart fell by more than 10% after the firms published weak quarterly results. 

Their results showed that the biggest American companies were seeing wage inflation affect their businesses. As such, the trend could continue in other sectors of the economy. 

In the past few months, there has been a close correlation between American stocks and cryptocurrencies like Ethereum.

The post 2 reasons why the Ethereum price is plummeting appeared first on Coin Journal.

- Benson Toti
SneakMart strikes partnership with StockX to bring sneaker NFTs to the Metaverse

Sneakmart, a French startup that seeks to enhance users’ Metaverse experience via tokenizing real-world sneakers, has announced a major collaboration with StockX, a leading shoe resale marketplace.

The partnership allows Sneakmart to offer access to sneaker NFTs to its customers via its Metakicks platform. The blockchain-based venture will see sneaker diehards and fans customize their collections as they tap into the world of digitization and Web3.

StockX is the official Sneakmart partner for physical sneakers and will handle delivery for all winners from the first Metakicks drop.

Unique sneaker NFTs with over $200k in prizes

The collection will feature 15 unique 3D-animated designs, with Metakicks boxes offering four levels of rarity: Rare, Super Rare, Epic, and legendary.

For its upcoming Metakicks drop, Sneakmart has lined up over $200,000 in prizes and has the backing of soccer celebrities such as Didier Drogba, Kinsley Coman and Marco Verratti.

Currently, products like the Nike Air Jordan 1 high have helped push the sneaker-related limited-edition NFTs to a $6 billion market. A booming secondary sales market and a massive shift towards leveraging Web3 means the fashion industry is just starting off, the platform wrote.

The post SneakMart strikes partnership with StockX to bring sneaker NFTs to the Metaverse appeared first on Coin Journal.

- Charles Thuo
Chiliz (CHZ) price rallies after launching new DEX for its users

As the crypto market slowly recovers from last week’s plunge, Chiliz (CHZ) token has today rallied by over 8% becoming one of the top gainers in the crypto market today while the overall crypto market value dropped by about 1.8% over the past 24 hours.

At the time of writing, Chiliz (CHZ) was trading at $0.1289 up 8.79% after retracing from a daily high of $0.1403.

CHZ chain 2.0 new DEX for fan tokens

CHZ, Chiliz blockchain native token, which helps sports teams in launching their fan tokens has disassociated from the ongoing market sentiments, with its recent rally helping it to cover the past week’s loss. 

Chiliz CEO, Alexandre Dreyfus, noted that CHZ chain 2.0 will be launching the first Decentralized crypto exchange (DEX) for their fan tokens. With this move, the liquidity of the token is expected to increase but also the new DEX will come with certain capabilities that will enable third-party developers to develop new features.

Fans who invest in the fan tokens will earn the power to interact with other clubs, however, this has not yet made much impact in the market as some fan token holders are complaining that the perks are not worth it.

Even though the CHZ token is still down by more than 38% in the past month as a result of the recent market crash, it has stood its ground by maintaining its rank in the 65 positions among the biggest cryptos in the market.

The post Chiliz (CHZ) price rallies after launching new DEX for its users appeared first on Coin Journal.

- Crispus Nyaga
10 Best Cryptocurrencies to Invest in 2022 for Short-term Gains

Cryptocurrency prices have had a difficult year in 2022 as investors continue worrying about a number of factors. The most important challenge in the industry is the Federal Reserve, which has committed to do whatever it could to lower inflation. It has already hiked interest rates by 0.75% and hinted that it will continue hiking rates this year. Most importantly, the Fed has said that it will start implementing quantitative tightening.

There have been other challenges in the crypto industry such as regulations and the crash of Terra LUNA, Terra USD, and affiliated platforms like Anchor Protocol. In this article, we will look at some of the best cryptocurrencies to invest for short-term gains. 

ApeCoin (APE)

ApeCoin is a relatively new cryptocurrency that was launched in 2022 by Yuga Labs. It is a digital coin that aims to power the Bored Ape Yacht Club ecosystem, which is the biggest NFT platform in the world. Yuga also hopes that ApeCoin will power its other products such as the metaverse and games. 

At the time of writing, ApeCoin price is trading at $8.50, giving it a market cap of over $2.4 billion. While its price has declined sharply, there is a possibility that it will bounce back as the developers launch new products. This makes it a good cryptocurrency to invest in for the short term.

Kyber Network Crystal (KNC)

Kyber Network is a relatively small cryptocurrency that could do well in the short term. It is a platform that allows traders to trade or invest in cryptocurrencies from across the chains. This means that you can swap tokens in chains like Ethereum, Polygon, Avalanche, and Cronos among others. According to its website, it has facilitated volumes of more than $7 billion. 

The Kyber Network Price declined sharply after the collapse of Terra. But it has done relatively well since then and I expect that its trend will continue as investors buy the dips. KNC has a market cap of more than $217 million.

Synthetix Network (SNX)

Synthetic Network is another crypto to invest in for short-term gains. It is a blockchain platform that is in the DeFi industry through its derivatives features. Its concept is that it allows developers to create derivatives products across multiple assets like cryptocurrencies, stocks, indices, and commodities. 

As a result, a derivative of Apple makes it possible for one to trade Apple shares in a derivative format. Synthetix has a total value locked (TVL) of more than $538 million. The SNX price will likely do well in the near term as the derivatives industry continues doing well.

STEPN (GMT)

STEPN is a relatively new blockchain project that is in the move-to-earn industry. Its concept is relatively simple. Users install an app in their smartphones and are then rewarded using GMT for running and walking. In addition to this, the network has an NFT element.

STEPN’s market is continually growing as the number of people embrace the platform. Therefore, there is a likelihood that the GMT price will keep rising in the coming months. A key challenge for STEPN is that competition from the likes of Step App and Sweat Coin.

Theta Network (THETA)

Theta Network price has crashed by more than 88% from the all-time high that it reached in 2021. Its market cap has dropped to more than $1.2 billion, making it the 56th biggest cryptocurrency in the world. For starters, Theta is a platform that is changing the video distribution industry. 

It uses a decentralized method where anyone can host videos in their free storage and then earn money from it. The platform launched TDROP,  a platform that lets people mint and buy NFTs. Therefore, while the token has declined sharply, there is a likelihood that it will bounce back in the near term.

The Sandbox (SAND)

The Sandbox is one of the biggest platforms in the gaming, metaverse, and NFT industries. The platform allows people to buy virtual land, host virtual events, play games, and trade NFTs. It has managed to attract leading companies like HSBC and Standard Chartered, which are some of the biggest banks in the industry. 

The SAND price has dropped by more than 85% from its all-time high. Therefore, there is a likelihood that the Sandbox price will have a relief rally in 2022.

Hedera Hashgraph (HBAR)

Hedera Hashgraph has been one of the best cryptocurrencies to buy for short-term gains. For starters, Hedera is a blockchain project that aims to become a better alternative to Ethereum and Solana. It claims to have faster speeds and that its blockchain is carbon negative. Hedera is also owned by some of the leading companies like IBM, Google, LG, Ubisoft, and Boeing. 

The Hedera Hashgraph price has fallen by 83% from its all-time high while its total market cap has moved to $2 billion. With its ecosystem growing, there is a possibility that the HBAR price will bounce back.

Cosmos (ATOM)

The Cosmos price has had a difficult performance this year. The most recent catalyst for the sell-off was the collapse of the Terra ecosystem. This was a notable event since Terra was built using Cosmos’ SDK. Therefore, the ATOM price declined as investors predicted reduced activity. 

However, these fears are likely overblown since Cosmos is much bigger than Terra. Besides, Terra did not collapse because it was built using the SDK. Therefore, ATOM is a good short-term and long-term investment.

Ethereum Name Service (ENS)

Ethereum Name Service is a unique blockchain project that is changing the domain registry business. People can use its network to buy domains that have a .eth suffix. The network has a near-monopoly in this industry. It has also moved to the NFT industry. Therefore, while the ENS price has declined sharply, there is a possibility that the coin will recover.

Learn how to buy Ethereum.

Litecoin (LTC)

Litecoin price has declined sharply this year. To a large extent, the coin has even lost its correlation with Bitcoin. Still, it is one of the oldest coins in the industry, meaning that it has trust of investors. If the digital coins bounce back, there is a possibility that Litecoin will also rise.

Learn how to buy Bitcoin with a debit card.

The post 10 Best Cryptocurrencies to Invest in 2022 for Short-term Gains appeared first on Coin Journal.

- chainwire
Everyrealm and Storyverse Partner to Create Interactive Stories for NFT Communities

Los Angeles, United States, 18th May, 2022, Chainwire

EveryRealm Purchases 250 PLOTs in Storyverse’s Now Sold Out Public Sale 

Storyverse, the first-ever interactive storytelling platform on the blockchain, today announced its partnership with Everyrealm, a leader in metaverse innovation and development, to provide the  foundation for NFT communities to create fun, interactive story games within the metaverse.

The Storyverse recently hosted its genesis public sale of PLOTs which sold out in seven minutes. Everyrealm, one of the most active investors in and developers of the metaverse real estate ecosystem, purchased and now manages 250 PLOTs in the Storyverse.

The Storyverse provides ‘no-code’, interactive story publishing tools for NFT communities looking to collaboratively create narratives designed to entertain audiences and build brand value. Communities, tools, and tokens work together to fuel an exciting, new community-driven character economy.

“We’re entering a fascinating phase of the global entertainment economy where creators are challenging the traditional media and entertainment companies for audiences.  The Storyverse is at the cutting edge of that trend by unlocking advanced rich media publishing tools and the ability for anyone to create the next-gen Bart Simpson, Peppa Pig, or Cartman from their mobile phone,” said Justin Waldron, founder of the Storyverse. “By teaming up with the awesome team at Everyrealm we’ll accelerate our vision and delight fans along the way.”

“As placemakers in the metaverse, Everyrealm will utilize Storyverse’s tools to continue to shape the metaverse and build engaging stories within Everyrealm’s unique metaverse environments,” said Janine Yorio, CEO and co-founder of Everyrealm. “Storytelling will play an important role in building value and bringing new communities into the ever expanding virtual world we call the metaverse.”

About Storyverse

The Storyverse is a blockchain project currently incubated by Playco that is focused on no-code game publishing tools for NFT PFP communities. It empowers PFP owners to create and publish personalized interactive storytelling games about their own PFPs and then post links to them anywhere on the web. The user generated content (UGC) tools put PFP character development and lore in the hands of the community and give birth to a new generation of interactive community-created games – known as stories – for people to play.

About Everyrealm

Everyrealm is one of the most active investors in and developers of the metaverse real estate ecosystem. We invest in, manage, and develop assets including NFTs, virtual real estate, metaverse platforms, gaming, and infrastructure. Everyrealm has holdings in 27 metaverse platforms, owns over 3,500 parcels of land, has developed six metaverse real estate projects, and owns over 2,000 NFTs.

Everyrealm is a placemaker in the metaverse. In addition to The Museum Collection, which is a digital culture museum for NFTs, they also developed Metajuku, the first metaverse shopping mall with retail tenants and leases; built Fantasy Islands, a luxury, master-planned real estate development in the Sandbox metaverse; and established Realm Academy, the first online university set in the metaverse and driven completely by tuition NFTs. They also have two gaming guilds in formation, including one that is a DAO.

Contacts

Tatiana Winograd, Miles Kennedy, tatiana@mileskennedy.com, 8180-645-0312

The post Everyrealm and Storyverse Partner to Create Interactive Stories for NFT Communities appeared first on Coin Journal.

- Daniela Kirova
Centrifuge and BlockTower partner to invest in real-world assets

Centrifuge, an industry leader in DeFi for financing real-world assets (RWAs) on the blockchain, and blockchain and crypto investment firm BlockTower announced a partnership to build the future of RWA on-chain, Coin Journal learned from a press release.  

This partnership will bring BlockTower’s institutional assets and capital to the Centrifuge protocol, speeding up the financing of RWAs on-chain. The partners completed a first-round treasury token sale of $3 million in April under the new alliance. 

The high value of investing in RWAs

The announcement reflects the significant value of investing in RWAs for both crypto and traditional investors. BlockTower will become the first major investment company to build a strategy and expertise specifically around this asset class. 

The partnership emphasizes Centrifuge’s reputation as the leading DeFi protocol in the RWA space, but also shows BlockTower’s certainty of the bright future of the asset class. 

Creating asset-backed pools  

Centrifuge enables businesses to tokenize consumer credit, invoices, mortgages, and other non-crypto assets and to create an investment opportunity by building asset-backed pools. 

It lets companies transact with investors directly, thereby democratizing access to capital. This way, stakeholders cut out banks and other centralized intermediaries. 

Investors earn interest and rewards 

In return for providing liquidity, investors earn interest plus rewards in Centrifuge Tokens (CFG), the native assets of the Centrifuge Chain. 

BlockTower and Centrifuge are at the Permissionless conference in Miami, which will run until May 19, and will speak about the potential of RWAs in DeFi and how institutional investors can make money off it. 

Matthew Goetz, CEO and Co-Founder of BlockTower Capital Advisors, said: 

Blockchain technology has long held promise to overhaul the plumbing of the world’s financial services. To this end, BlockTower is excited to support the Centrifuge team as they democratize access to and generate efficiencies in the securitization industry; we believe these strategic partnerships are essential to usher in the future of finance.

Lucas Vogelsang, CEO and Co-Founder of Centrifuge, added: 

The value of Real-World Assets to DeFi is becoming increasingly clear as the technology matures and we see first major successes in this space. The partnership between BlockTower and Centrifuge is an exciting step to accelerate the adoption of DeFi in institutional capital.

 

The post Centrifuge and BlockTower partner to invest in real-world assets appeared first on Coin Journal.

- Sanne Moonemans
UK en-route to legalize stable coins following Terra collapse

The UK Treasury Department has reportedly decided to continue regulating stablecoins as legal tender. This decision was welcomed by the crypto community with mixed feelings. This is mainly due to the recent fall of one of the most popular algorithmic stablecoins, TerraUSD (UST).

A local report by The Telegraph highlighted the Treasury’s intention to regulate stablecoins across Britain. This was revealed during the Queen’s Speech. During the speech, Prince Charles announced the introduction of new legislation in several sectors, including measures to stimulate economic growth to improve living standards in the region. He added:

“A bill (Economic Crime and Business Transparency Bill) will be introduced to further strengthen powers to tackle illegal financing, reduce economic crime and help businesses grow.”

The Treasury wants to regulate 1:1 supported stablecoins

Recently, the entire Terra ecosystem went down, with LUNA and UST likely crashing beyond repair. This is expected to raise some red flags with regulators. Still, the Treasury remains on track to ensure that the UK financial services industry is always at the forefront of technology and innovation. The latter was previously mentioned by the Chancellor, Rishi Sunak.

However, the Treasury’s plan does not legalize algorithmic stablecoins. It prefers 1:1 fully supported stablecoins such as Tether (USDT) or USD Coin (USDC). The Treasury spokesperson had this to say:

“Legislation to regulate stablecoins where used as means of payment will be part of the Financial Services and Markets Bill announced in the Queen’s Speech.”

The Treasury aims to create growth opportunities while ensuring financial stability when introducing new financial technologies. It therefore sees 1:1 stablecoins as the perfect option to contribute to this. However, TerraUSD’s value was pegged to another cryptocurrency, which the spokesperson had the following to say:

“The government has been clear that certain stablecoins are not suitable for payment purposes, as they share characteristics with unbacked crypto assets.”

The SEC is behind the UK Treasury

United States Securities and Exchange Commission (SEC) Commissioner Hester Peirce recently emphasized the need to have room to fail while supporting a regulatory framework for stablecoins. Peirce said on Twitter:

“I’d be happy to talk about how to achieve the SEC’s regulatory objectives without impeding the trial and error that is so essential to innovation.”

Peirce also addressed the interest in stablecoins among regulators in a speech to an online panel. She urged the SEC to make exceptions for certain technologies, which would allow her to conduct the necessary experiments. She said at the time:

“We have to leave room for failure because of course that’s part of trying new things and our framework really allows for that kind of trial and error. I hope we will use it for that.”

The post UK en-route to legalize stable coins following Terra collapse appeared first on Coin Journal.

- Sanne Moonemans
Global cryptocurrency regulations possible in 2023

There is a chance that the same rules will apply to all crypto markets worldwide by 2023, at least, that’s what Ashley Alder hints. He is the chairman of the International Organization of Securities Commissions (IOSCO), a global financial watchdog.

Global financial watchdog

IOSCO is a partnership of organizations that regulate global markets. Members are usually national security and/or futures regulators or the main financial regulator of a country. The AFM is a member of IOSCO on behalf of the Netherlands. Based in Madrid, the organization has members from more than 100 countries, regulating a minimum of 95 percent of the markets.

According to ‘our’ AFM, IOSCO is the international ‘standard setter for securities markets’. This means that it agrees on general principles that serve as a starting point for regional and national supervisors on the supervision of securities markets.

Climate, corona and cryptocurrency

According to a Reuters article, Alder says that as the crypto sector is growing, it really should be covered by IOSCO as well. What a surprise. He calls crypto part of the three Cs:

COVID-19

Climate

Cryptocurrency

“But I do think it’s now seen as one of the three C’s (COVID, climate and crypto), so it’s very important. It’s moved up the agenda, so I don’t expect it to be at the same time next year. If you look at the risks that we need to address, they are many and there is a wall of concern about this in the institutional level talks,” Alder said.

Incidentally, in addition to being chairman of IOSCO, Alder is also CEO of the financial watchdog of Hong Kong.

Lack of transparency

Speaking online at the OMFIF think tank on Thursday, May 12, Alder noted that the motivation for collaborative crypto regulation stems from concerns about cybersecurity, operational resilience and a lack of transparency in the crypto sector.

The official also added that a cryptocurrency regulatory body is needed, as other emerging sectors such as climate finance also need it.

No consistency

Almost every country has its own regulations, without much consistency to its neighbours, with no unanimity of regulation to be found anywhere in the world. Yet it’s clear that politicians in particular are calling for regulation, so that they finally have a stick to wield, or have a reason to let crypto take its course.

There are the type of countries you could label as crypto-friendly, while others have a more hostile attitude. But it is not so black and white, there are countries that are very good for users, but bad for crypto companies, and vice versa.

Putting countries under pressure

In addition, there are global organizations that think they have something to say about the laws and rules of sovereign states. Think of the International Monetary Fund, which mainly puts pressure on developing countries that need help to adopt an anti-crypto policy. IOSCO looks set to become the next global organization seeking to influence the markets of sovereign states.

It is not yet clear what exactly they want and how they are going to approach this. Hopefully, they ignore the IMF’s proposed policy. In the absence of a global framework for regulation, the IMF issued guidelines in December to set up the global regulatory approach for cryptocurrency.

The post Global cryptocurrency regulations possible in 2023 appeared first on Coin Journal.

- Crispus Nyaga
Internet Computer price prediction: Is ICP a good investment?

The Internet Computer (ICP/USD) price moved sideways as the consolidation in the cryptocurrency industry continued. The token is trading at $8, which is about 36% above the lowest level last week. It remains about 98% below its all-time high, bringing its total market cap to about $1.8 billion.

Will ICP bounce back? 

Internet Computer is a blockchain project that was launched in 2021 by Dfinity, a Swiss-based organization. The platform’s goal is to form a foundation of web 3.0 by helping developers build quality applications. 

Its platform has better features than other blockchains like Ethereum and Solana. For example, its data storage costs are about $0.46 GB per month, which is about 100,000x lower than that of Solana. At the same time, its decentralized applications run 100% on-chain and are owned by DAOs.

According to the developers, its ecosystem has become popular among creators. Some of the most popular applications built using Internet Computer are Fleek, OpenChat, Internet Identity, and Motoko Playground among others. They believe that more developers will embrace the platform in the future.

While activity in the Internet Computer blockchain is rising, the ICP price has not performed equally well. It has lost over 98% of its value and is now the 40th biggest project in the world.

There are several reasons why the ICP price has lagged the market. First, investors have not embraced the coin after its crash that happened shortly after its launch. Second, there are concerns about the competitive nature of the industry. Some of the most notable players it is competing with include Avalanche, Solana, and even Ethereum.

Further, like other cryptocurrencies, investors are afraid of the hawkish stance of the Federal Reserve. The bank has committed to continue hiking interest rates in its bid to fight inflation. Further, the recent crash of Terra LUNA has not helped ICP and other coins.

Internet Computer price prediction

On the four-hour chart, we see that the ICP price has been in a strong downward trend in the past few weeks. It fell to a low of $5.87 during the Terra LUNA bloodbath that happened last week. It has remained below the descending trendline that is shown in purple. The coin has also declined below the 25-day and 50-day moving averages.

Therefore, the path of the least resistance for Internet Computer price is lower, with the next key support level being at $5.50.

The post Internet Computer price prediction: Is ICP a good investment? appeared first on Coin Journal.

- Adam Tracey
Charities You Can Help with Crypto Today
Charities You Can Help with Crypto Today

Many of us have had the opportunity to be exposed to such rapid growth in the crypto community; in some cases, it’s even been life-changing for many people. So if you feel like you should share some of what you’ve gained from crypto, or maybe you just have a little more than you need, donating to charity is an excellent way to help others.

Donating to a charity that accepts cryptocurrency can be a way to give while supporting something important to you already, cryptocurrency. Thankfully, a growing number of charities are now realizing that accepting crypto donations can really make a difference, and so can you.

Backpack Bed for Homeless

A charity that provides sleeping bags and backpack beds to those in need, Backpack Bed for Homeless offers practical help to those in need. Providing shelter enables those in need and sleeping rough to stay warm and receive at least a hint of comfort. In addition, you can donate multiple types of crypto and help make a difference to homeless people. If you are eligible, you may even be able to receive a tax deduction, which is always a welcome bonus that can be even better when you’re helping someone.

If you want to help someone struggling even to stay warm, Backpack Bed for Homeless is a way you can do just that and help people feel just a little bit safer.

Save the Children

Working to protect children in desperate situations from starvation, diseases, and other disasters, Save the Children helps kids in 116 countries worldwide. They also help produce resources to help spread essential information about health, education, child protection, and humanitarian issues. With a mission to prevent preventable causes of death in children while ensuring they also have the essentials like education covered, Save the Children is an easy cause to get behind.

Save the children has been accepting bitcoin donations since 2013, so if you want to support their efforts, check out Save the Children, you can donate with a range of cryptos.

Habitat for Humanity

Having a home of your own is an incredibly powerful thing, and this is something that Habitat for Humanity strives to provide. As a not-for-profit housing provider for low-income families and other vulnerable people, Habitat for Humanity helps access safe shelter, water, sanitation, and some of the essentials we need as humans to thrive. They’ve helped over 39 million people, and over a million people have volunteered for their projects.

For many of us, a home is something we take for granted; for many others, the idea of a home is a dream that seems too far away. So maybe it’s time to see if Habitat for Humanity can help you spread some kindness with a crypto donation.

The Water Project

Water is essential for all of us to survive. Yet, access to clean drinking water is still not available to everyone. Access to clean water sources can make or break a community, and the results can be devastating. It’s impossible to focus on education, work, and supporting your family when your most basic needs like water aren’t being met, which is a massive problem The Water Project is trying to solve. When donating to this charity, you can even choose directly to contribute to specific communities, which can help you feel better connected to where your donation is going.

The challenging work performed by The Water Project affected hundreds of thousands of people, and you can help them affect more people by donating some of your cryptocurrency.

Red Cross

If there’s a charity that almost everyone has heard of before, it’s definitely the Red Cross. The goal of the Red Cross is to relieve causes of suffering around the world. Whether through blood drives, responding to natural disasters, and so much more. Another area where the Red Cross places a lot of effort is training people with life-saving skills, be that CPR, swimming, or other potentially life-saving training. The charity relies heavily on donations and volunteers to perform the work they do, so your donations can help this charity reach more people and affect their lives in positive ways.

For those interested in putting their crypto to work, the Red Cross may be an excellent solution the next time you’re looking for a worthy cause to support after.

Watsi

Healthcare is important for all of us, yet many people don’t have access to public healthcare solutions or have the ability to afford medical insurance. Watsi allows you to directly affect the lives of others by funding life-changing surgeries for people around the world. It’s hard to argue that everyone should be able to get the medical help they need, and should you choose to donate, you can help make sure someone is getting the treatment they need.

If a direct cause and effect are important to you when donating to charities that accept bitcoin or crypto in general, Watsi might just tick some boxes for you.

Rainforest Foundation

Supporting indigenous and traditional communities that inhabit the world's rainforests helps protect the people who live there and enables them to better foster these beautiful parts of the world. Sustainability is the key to the future of rainforests, and with the changes happening to the world around us, sometimes it’s important to remember the massive value they provide.

If you’re interested in supporting important cultures and isolated communities while helping to protect the lands they inhabit, the Rainforest Foundation could be perfect for your next crypto donation.

Tunapanda

While this charity has an interesting name, it’s also a strong meaning. In Swahili, the word means ‘we are growing. Tunapanda runs technology and other educational courses in struggling parts of East Africa. With a goal to train lifelong learners, Tunapanda helps people empower themselves in ways that can change their lives.

Education, collaboration, and building stronger communities are possible through education, and your donation may just be able to help with that at Tunapanda.

Encourage Your Favourite Charity to Accept Crypto

If you have a charity that you love, consider suggesting they consider accepting crypto the next time you donate. It shows that demand is there and helps grow the options for the cryptocurrency community to donate directly in a way that feels right for them.

For all of us who have more than we need, there are always many more people who don’t even have enough help to get themselves the necessities or people trying to change the world in powerful ways that could use our support.

- Adam Tracey
Top 10 Best Play-to-Earn Crypto Games
Top 10 Best Play-to-Earn Crypto Games

Recently, one of the driving forces in gaming is exploring new models of gaming that aren’t just filled with micropayments and instead leveraging the power of blockchain technology to create experiences that can be fun and give their players the potential to own digital assets or even earn some money.It’s time to jump in and find out why play-to-earn games are booming and becoming one of the most entertaining parts of the cryptocurrency revolution. Just be sure to always do a little extra research, especially before investing in play-to-earn games.

Axie Infinity

Build and refine your team of Axies to go to battle with other players. One of the most well-known blockchain-based crypto games, Axie Infinity, is a fantastic option for those looking for a fun PVP experience. The only major con for Axie Infinity is that it can be a little expensive to get started. However, battle winners are rewarded with SLP (smooth love potion), which has a strong economy in the Axie Infinity marketplace and can easily be exchanged for fiat in third-party markets due to the demand by the community around this game. You can also use SLP to breed your Axies to grow your team further.If you’re looking for a polished PVP experience with a thriving player base, don’t mind spending some money to get started, Axie Infinity is probably for you and can easily be considered one of the most popular NFT P2E games!

Spider Tanks

Collect in-game resources, upgrade your stats and weapons, and jump into the battle arena in this PVP battle brawler. Play a range of game modes and have fun demolishing the competition alone or as a team. You can even buy special edition tanks, weapons, maps, and or other accessories in the form of tradable NFTs. It’s even got great graphics to ensure you’re making the most of your gaming experience.If you like games like Rocket League or World of Tanks, maybe this battle vehicle free-to-play with a play-to-earn model is an excellent fit for you. So why not give Spider Tanks a try.

Gods Unchained

As an Ethereum-based P2E trading card game on the blockchain where each game card is an NFT, Gods Unchained takes the cake. If you’re nostalgic about the old days of trading Pokemon cards with your friends, maybe it’s time to get back into trading cards with a modern twist. You can even get started for free, with all new players getting a pack of cards to start playing. It’s great to see this P2E game which is also a great free-to-play option.Do you like Hearthstone and other collectable card games? Then, Gods Unchained might be what you’re looking for in a crypto card game.

The Sandbox

What originally started as a 2D pixel art game back in 2012 for mobile devices has transcended into the blockchain space to become one of the more prominent players in the growing metaverse ecosystem and one of the P2E games you’ll likely hear more about as development continues. The Sandbox throws players into a virtual world. You can own land, monetize your virtual assets, and explore novel gaming experiences. While still considered alpha software, this game has already had some extensive collaborations with popular artists and brands. The Sandbox economy runs on a token called SAND which operates on the Ethereum network. Even at the early stages of this project, large amounts are being spent on in-game assets, so if you’re interested in making your mark in the metaverse, The Sandbox is worth a hard look.For lovers of Minecraft and Roblox, The Sandbox might scratch that itch for more voxel gaming glory.

Splinterlands

If you’ve been looking for a trading card game that won’t need hours just to play through a game, you might want to check out Splinterlands. With the rapid pace of games, you can complete one in just a few minutes. With over 500 cards and growing, there’s plenty of variety to keep you entertained. Combine cards, convert cards to crypto and exchange your cards to build the perfect collection. You can even rent cards if you’re more of the yield farming type, a phrase you probably didn’t expect to hear associated with a collectible card game.A hive cryptocurrency wallet is created for you after registration, and this allows you to jump right in and get started with this blockchain game. To avoid being too locked into one blockchain, it features cross-compatibility with additional blockchains like Ethereum, Tron, and WAX which is well known in the NFT scene.Do you enjoy Magic the Gathering and other collectible card games? Maybe check out Splinterlands.

Alien Worlds

Alien Worlds has a lot to love as a play-to-earn game built on top of the WAX blockchain. Plots of land across several worlds are accessible to players in the form of an NFT. In addition, Trillium, the in-game currency, can be collected, staked, and even transferred using BNB Smart Chain.Buy, sell, and rent virtual land and explore new forms of social governance; there's a lot to explore in Alien Worlds. You can also complete intergalactic missions, collect a range of tools, and explore the Alien Worlds universe in this NFT Metaverse game.If EVE Online or No Man's Sky got you excited, Alien Worlds might be your new favorite space simulation game.

Plant vs. Undead

Set on Planet Plants, Plant vs. Undead is a blockchain game with a mobile-first approach that offers an excellent opportunity for the more casual gamer to explore the play-to-earn model. After a meteor crashed into the planet, many of the resident creatures became zombie-like creatures that spilled out into this cartoonish wonderland.Unlike many of the games in this list, the primary way to play Plants vs. Undead is on your mobile device, whether Android or iOS. There's talk of other versions potentially launching in the future for PC and consoles, but this doesn't appear to be the case quite yet. While you are encouraged to expand your experience via trading PVU tokens (BEP20 tokens on BNB Smart Chain), you can start playing Plant vs. Undead for free as you will be provided a Mother Tree to protect alongside six plants used in defense.If you find tower defense games a winner and like games such as Plants vs. Zombies (a clear inspiration for this one), perhaps it's worth checking out this PvE and PvP game, Plant vs. Undead.

Decentraland

One of the staples of the growing metaverse concept is absolutely Decentraland. If you like the idea of a virtual world where you can interact and make it your own, this is one to check out. With a range of carefully crafted environments to explore, there’s more than enough to lose yourself in for hours.Players wanting to take things to the next level can leverage the Builder tool to create their own digital assets and even participate in some of the events held in the Decentraland community. For creators looking to make their mark (and some money in the Decentraland marketplace) or blockchain entrepreneurs looking to start a collection of land and other in-game digital goods, this ethereum backed play-to-earn game is a fascinating option.Were you big on Second Life back in the day? See what the future holds for virtual worlds by jumping into Decentraland.

Pegaxy

Ever considered playing a play-to-earn horse racing game with Cyberpunk vibes? Maybe you’ll change after you get acquainted with Pegaxy (Pegasus Galaxy). In Pegaxy, you are pitting mythological creatures head-to-head, which results in some fast-paced action. You can even breed your Pega (the horses, if you can call them that).With a PvP format, this game has some interesting style that throws together a high-tech vibe with a classic horse racing style of game that results in an interesting blend that shows how experimental P2E games can be. While this game is still in its early stages, it’s worth keeping an eye out for what this game has in store and seeing if these techno-horses catch on here as much as they do on the local track.If horse racing games like Rival Stars or heading down for a day at the track gets you a bit loud, head over and see what’s going on with Pegaxy.

Thetan Arena

For those gamers who enjoy a multiplayer online battle arena game, commonly called a MOBA, Thetan Area might be your pick. Playable on Android, iOS, or PC, Thetan Arena offers a colorful experience that brings P2E gaming with a F2P model. Earn NFT items as you play the game that you can then sell on the marketplace to earn money, and you can also collect Thetan coin (the in-game currency used by Thetan Arena) by playing various game modes, which you can then exchange or trade for other items.Furthermore, you can also acquire Thetan Gem, which takes things even further, enabling you to evolve your heroes in the game or stake them to earn some yield, something many DeFi enthusiasts will love. So whether you’re just interested in having a little fun or grinding for profit, the choice is yours.Can’t get enough League of Legends or Dota 2? It’s probably time to see what the fuss is about when it comes to Thetan Arena.

- Adam Tracey
Getting Started with Celo
Getting Started with Celo

Celo is one of the most inclusive cryptocurrency projects around, and more people are beginning to take notice due to its thriving community. So let’s explore this project bringing dApps to everyone and enabling anyone with as little as a smartphone to participate in the cryptocurrency space.

What is Celo?

Celo is an open-source blockchain project that supports a native cryptocurrency called CELO and other tokenized assets like the stablecoin cUSD. Celo aims to be accessible to anyone by leveraging technology that has become commonplace among most of the planet, smartphones.

Suppose you are looking to experiment with blockchain technology and learn more. In that case, Celo is an excellent choice given its inexpensive transactions and ecosystem containing many projects focused on ease of use.

Can you Use Tokens on Celo?

As Celo comes with its own blockchain and token support, tokens on Celo are absolutely something you should check out. One of the most interesting is cUSD, a stablecoin that aims to be tied to the value of the US Dollar (USD) that is transferable on the Celo blockchain. The value of cUSD is maintained by a mechanism that algorithmically adjusts the cUSD supply using crypto-only reserves to ensure transparency and a reliable level of price stability.

Thanks to very low transaction fees on the Celo network, it opens up many opportunities for engaging with dApps and various types of smart contracts using tokens on Celo. As a result, many projects are popping up on Celo that range widely from NFT collections to experimental economic protocols.

How Does Celo Work?

The Celo network supports itself by relying on several different types of contributors to the network. Firstly, light clients are a form of software that operates on a user’s device; one great example is the official Celo mobile wallet which enables a low barrier to entry for the use of Celo on mobile devices. Furthermore, light clients allow users to interact with the network efficiently without operating more demanding software or needing access to anything higher-end than a cheap android phone.

As an alternative to using a light client, you can also use the non-custodial wallets provided by LocalCoinSwap, where you remain in complete control of your funds and can access your wallet on just about any device with a modern web browser.

Full nodes are also are vital parts of the network and provide a valuable service. These nodes help support the network and enable the use of light clients. Full nodes on the Celo network act as bridges that pass transactions and other necessary data between different network participants and help keep everything running smoothly and in sync.

Unlike many blockchains that currently use proof of work consensus to secure them, Celo opts instead to use proof of stake with the help of validator nodes that require staking of CELO tokens to take part in the validation process while incentivizing positive and honest contributions to the network. Validator nodes are essential as they provide validation for transactions and produce new blocks.

Together, these different types of participants form an active and efficient network that supports a flourishing and growing ecosystem of users and use cases.

Why does CELO have Value?

CELO holders can stake their CELO tokens and gain the ability to drive the project. The more CELO tokens you hold, the more voting power you can muster. Staking is rewarded and encourages participation as a validator. If the total amount of tokens staked drops below a certain threshold, rewards increase to encourage more holders to begin staking and ensure the network is well supported.

Combining staking rewards with governance helps the CELO tokens form a valuable part of the project and help provide a strong foundation for a range of tokens and dApps to operate on top of the Celo blockchain. As the supply is also limited, this helps provide value as long as there is enough demand for the tokens.

Where is the Best Place to Trade CELO?

Thanks to the support of non-custodial CELO trading on LocalCoinSwap, traders around the world have access to this increasingly popular digital asset. You can trade CELO instantly with other buyers and sellers from around the world in your local currency while choosing from hundreds of popular payment methods.

The Benefits of Buying CELO P2P on LocalCoinSwap Include:

Exchange Celo with traders internationally using 300+ payment methodsNon-custodial exchange & wallets keep you in control of your cryptoTrade CELO with cash and other less commonly accepted currenciesCustomize your trading terms to suit your needs and start trading your way

Earn free CELO by trading on LocalCoinSwap!

How to Buy CELO with Cash

Centralized exchanges tend to support minimal payment methods, resulting in a vast number of people simply not having access to trading on these platforms. However, a P2P marketplace like LocalCoinSwap enables you to trade with a massive range of payment methods, including cash.

Buying CELO with cash is easy, with just a few simple steps:

Head over to LocalCoinSwap and sign up if you haven't already (takes only seconds)Use the search bar to sort for CELO offers matching your needs, and if you’re looking for cash trades, all you need to do is select the payment method “cash-in-person.”Once you’ve found the perfect trade offer, you simply enter the amount you’d like to trade and follow the on-screen instructions to complete the trade.

If you can’t find a trade offer that matches your preferences, you can create your own trade offer or explore alternative payment methods that may be more commonly available. As you’re trading P2P, you can explore various payment options, including things like local bank transfer, gift cards, PayPal, Skrill, and Zelle, just to name a few.

Have you checked out all that Celo has to offer yet? Then, why not start by exploring P2P trading and see why so many people are interested in this cryptocurrency project that reduces barriers to using cryptocurrency and takes advantage of the modern technology in our pockets that we often take for granted.

- Adam Tracey
LocalCoinSwap Welcomes CELO & cUSD
LocalCoinSwap Welcomes CELO & cUSD

Embracing cryptocurrencies that do things a little differently is something we find important to bring to our community at LocalCoinSwap. As such, we’re excited to announce the support for both CELO and cUSD for non-custodial trading with full wallet support.

What Does This Mean?

As of now, you can trade Celo worldwide with over 300 payment methods, the flexibility afforded by peer-to-peer (P2P) trading, and full non-custodial wallet support. So it doesn’t matter whether you want to trade CELO or cUSD with bank transfer, cash, or almost anything else you may be looking for; LocalCoinSwap has got you covered.

De-banking of cryptocurrency users is still a problem for many traders, and for many more, access to banking or the types of resources required to use a centralized exchange simply aren’t available. Where you live and what tools you have at your disposal shouldn’t influence your access to critical financial tools, and while cryptocurrency projects like Celo break down many of these barriers, combining the benefits of crypto with those of P2P trading ensures that everyone has the same standard of access and the freedom to trade their own way.

Your Non-Custodial Celo Wallet

When using the Celo wallet provided with your LocalCoinSwap account, you remain in complete control of your cryptocurrency and your private key. You can freely export your private key and even import it into another Celo wallet to provide you both peace of mind and the highest possible flexibility. Keep track of your portfolio.

Stop worrying about centralized platforms holding your funds and start retaining control over your digital assets.

CELO & cUSD are Excellent Additions to LocalCoinSwap

Cryptocurrency can be an extremely powerful tool, but for that to be the case, it has to suit the needs of those using it, and both of these digital assets have a growing community and ecosystem of projects that support them.

Furthermore, many in the LocalCoinSwap community have been requesting stablecoins with cheaper associated transaction fees. With cUSD on Celo, you can have all the benefits of a stablecoin without the often high cost to trade with it or even when just moving it between wallets or sending some to a friend. When trading cUSD, you can complete trades in seconds, with very minimal amounts required for transaction fees on the network.

Trading P2P helps traders across the globe access financial tools and technology that, in many cases, they’d otherwise be unable to access in a practical way. While, unfortunately, many of these same traders are excluded from traditional financial services, further adding barriers to their economic independence and financial freedom, cryptocurrency can offer the ability to become more financially independent.

With the increased use of stablecoins like cUSD, you no longer have to be exposed to extreme volatility to leverage many of the advantages of cryptocurrency. Now you can exchange value with anyone and remit payments to a friend in the same room or family internationally in seconds for fees that are often significantly better than legacy remittance services or, in some cases, even exchange rates between some currencies.

The Benefits of Trading CELO & cUSD on LocalCoinSwapTrade with over 300 payment methods and against essentially any fiat currencySign-up is instant; you can be trading immediatelyNo withdrawal or deposit limitations ensure you are free to trade your wayAccess to many other popular cryptocurrencies for tradingFully non-custodial CELO & cUSD wallets with private key accessThe ability to trade both locally and internationally with traders around the worldStart Trading Your Own Way

Trading cryptocurrency shouldn’t be complicated or limiting. With P2P trading, you have the freedom to trade using your preferred payment methods, against your local currency, and even using payment methods that are far less commonly accepted by other cryptocurrency marketplaces, including cash.All you need is access to the internet, and at minimum, a smartphone; you can start trading on LocalCoinSwap with a few easy steps.

Sign-up with LocalCoinSwap if you haven’t alreadySearch for offers that suit your needs, or even create your own with just a few clicksOnce you find an offer, simply enter the amount you wish to trade and follow the promptsWant to Earn Free CELO?

To celebrate the launch of CELO and cUSD on LocalCoinSwap we're giving away thousands of dollars worth of CELO. Complete your first trade and earn rewards! Want to find out more? Click here!

If you haven’t already, follow us on Twitter, Facebook, or join our Telegram group to see why LocalCoinSwap is the most popular non-custodial P2P marketplace. It doesn’t matter if you want to trade a lot or a little; LocalCoinSwap is the best place to trade cUSD or CELO.

- Adam Tracey
Ethereum Name Service (ENS) Introduction
Ethereum Name Service (ENS) Introduction

Have you ever wondered if your wallet address could be more readable? Perhaps a little like a website URL than a string of chaotic characters meshed together in a stream of incomprehensible madness, well this is where the Ethereum Name Services (commonly called ENS) can make things a lot more interesting.

What is Ethereum Name Service?

ENS is a naming standard that takes advantage of blockchain technology. Ethereum Name Service touts itself as being the most widely integrated blockchain naming standard, and given its proliferation among the cryptocurrency community, it's hard to argue with that likely being the case.

At its core, ENS is an extensible, open, and distributed naming system that leverages the popular Ethereum blockchain and enables the use of addresses that are actually human-readable. So when you're using an ENS address, there's no need to be awkwardly copying and pasting your address when a friend asks for it; instead, you can opt for an ENS domain that is not only far easier to read but also far easier to error check.

How Does ENS Work?

While you don't necessarily have to fully understand how Ethereum Name Service works merely to use it, it can still be an interesting thing to explore to help expand your understanding of how blockchains can be used.

If you're somewhat familiar with how the internet works, the concept of ENS domains is in a sense remotely similar to how DNS (domain name service) works. However, for those that aren't, in the simplest sense, when typing the name of a website into your browser DNS is used to help find the actual IP address that is serving the actual data for that domain. So instead of typing a series of numbers and dots that are even less intuitive than a phone number, you can instead type in an easy-to-remember, often very readable URL.

While on the internet, a top-level domain (like '.com') is managed by a registrar with domains available on request; in the case of ENS, the traditional registrar is replaced by smart contracts which control top-level domains like '.eth' and provide and manage the rules for registering one yourself. If you own a domain name, you can even create subdomains attached to it as you already control the higher-level ENS name.

For a far more in-depth explanation of how ENS works, as well as some further technical detail, the official ENS documentation is a fantastic place to learn more about this impressive service.

What is the ENS Token?

If you've been looking into ENS, you may have noticed a token by the same name, and this is associated with the project. The token is actually for us in the form of a decentralized autonomous organization (DAO) governance token to help push support of ENS forward while enabling it to remain an open, decentralized service.

A quarter of the entire ENS token supply was distributed in the form of an airdrop to those that had held NFTs representing ownership of ENS domain names. The amount of time someone held an ENS domain alongside other factors decided the actual amount received. A significant amount of Ethereum Name Service tokens were also held for their community treasury, for core contributors, and other parties in much smaller amounts.

Receiving tokens was also rather interesting in that claimants were required to vote on several ENS proposals using these governance tokens as well as choose an applicant to offer the voting power of your tokens to a chosen delegate that had applied to take part in the process.

How Do I Buy an ENS Domain?

ENS domains are purchased with a small subscription fee. While at first thought this may seem off-putting, it helps to ensure that only those using or having an active interest in a specific domain are likely to maintain holding it long term.

For those wanting to buy an Ethereum Name Service domain, you can head over to the ENS domain app and get started. The process will require you to have the relevant subscription fee and some extra funds to cover the gas cost of the transaction involved in the form of Ethereum.

The search function present as soon as you open the app enables you to find out which ENS names are available quickly. Then, using MetaMask or other supported wallets, you can quickly purchase a domain for yourself.

Using ENS Names on LocalCoinSwap

Alongside popular ethereum wallets like MetaMask and MyEtherWallet supporting ENS, LocalCoinSwap does as well! Using your non-custodial ethereum wallet that is generated when you create your account, you can easily withdraw ethereum or other ERC-20 tokens directly using an ENS domain name in place of other ethereum addresses.So the next time you buy ethereum/sell ethereum with LocalCoinSwap, why not take advantage of the awesome human-readable names provided by ENS and experience how nice it can be to personalize your cryptocurrency wallet with an ENS domain of your own.

- Adam Tracey
LocalCoinSwap Holiday Roadshow
LocalCoinSwap Holiday Roadshow

Join the #HolidayRoadshow with LocalCoinSwap for your chance to win:

One of 5 bitcoin prizesTrezor hardware walletExclusive LocalCoinSwap T-ShirtHow to Participate:

Participating in the LocalCoinSwap holiday roadshow is easy. Will you be the best P2P trader this holiday season?

Stage 1: Referral Contest

Period: Dec 20th - 26th 2021

Grab your referral link from your LocalCoinSwap accountShare your referral link to friends, family, and even clientsInvite them to sign up for LocalCoinSwap

Win $50 USD in BTC - 5 winners!Terms & Conditions:

To be eligible for the contest, you must have a minimum of 10 new registrations coming from your referral linkAt least 50% of your total new registrations must have their phone number verifiedThe top 5 users with the highest new registrations will win $50 USD in BTC each & eligible to join the next stage of the contestAnnouncement: 27 Dec 2021 – Follow our social media: Instagram, Twitter, Facebook, LinkedIn for updatesStage 2: Trading Contest

Period: Dec 27th, 2021 - Jan 2nd, 2022Trade crypto at LocalCoinSwap (Buy or Sell)

Terms & Conditions:

The highest trading volume completed by you & your referrals will win the grand prizeAnnouncement: 3 Jan 2022 – Follow our social media: Instagram, Twitter, Facebook, LinkedIn for updates

Win 1 Trezor Hardware Wallet & 1 Exclusive LocalCoinSwap Shirt!

- Adam Tracey
Entering the Metaverse
Entering the Metaverse

The concept of the metaverse has been a colossal topic recently. With even Facebook suddenly jumping into the mix, there's a lot out there to explore and many projects working on their own visions for the future of the digital universe. So perhaps it's the perfect time to start exploring what exactly this idea is and look at some of the places we may go as we move into the future.

What is the Metaverse?

The metaverse is a conceptual or hypothesized view of how the internet and technology could evolve in the future. This idea encapsulated things like virtual reality (VR), augmented reality (AR), and even 3D space and virtual environments where ownership, community, and building things beyond the physical world’s limits can be possible.

The actual phrase is said to have come from a well-known sci-fi novel from the year 1992 called Snow Crash. The book described a dystopian world where the main character can escape his difficult day-to-day existence into a virtual realm. This book is said to have even influenced The Matrix and some other films delving into more abstract concepts and alternative reality.

As with many new forms of technology and especially on the more experimental side of things, naturally, the metaverse is something that fits nicely alongside crypto, and a range of projects are popping up to explore and grow inside this new space. Through crypto and things like NFTs (non-fungible tokens), ownership of assets and virtual real estate becomes far more practical. While we're still adapting in many ways to using more niche forms of digital assets, when you look at the digital space, things suddenly can become not only more straightforward but practical.

Is the metaverse going to be the next big thing in crypto? Time will tell, and if the current growing hype is any indication, it may indeed start making some waves that ripple beyond the bounds of the typical cryptocurrency ecosystem.

What Can You do in the Metaverse?

With this being a concept that has only started to gain significant traction recently, there's already a lot of things that are either doable today or are already being actively developed.

Attend a virtual conference or other eventsMore immersive conference calls through VRWorking in a VR space with a simulated deskBuy and sell digital property and itemsCombine the physical world with the digital world through ARWatch a movie in a virtual theatre or a mixed reality formatSocialize in entirely virtual worlds using VR headsetsGaming and other forms of entertainmentBig Business is Getting Involved in the Metaverse

Some of the biggest companies in the world have not only explored virtual reality but are beginning to embrace a more embodied internet where the virtual world and real world can intertwine. For example, Facebook has recently taken to the idea of the Metaverse so strongly they have changed the name of their company with a recent announcement and complete branding overhaul. The company is now known as Meta as they are already beginning to promote the future of the virtual universe and how that could look.

Even Disney, one of the more conservative companies that almost everyone is familiar with, has stated they want to "connect the digital and physical worlds" with animation and storytelling. So perhaps in the not too distant future, some of the most well-known Disney characters will get a Metaverse rethink or even make their way into the blockchain space in an official capacity.

Nvidia is working on building what it is calling an "Omniverse" that they have stated is intended to connect 3D virtual worlds. In addition, they appear to be interested in digital assets and their ownership in persistent virtual worlds, which seems to bode well for Metaverse cryptos, projects working on an NFT marketplace, and other blockchain projects that complement the Metaverse theory.

Microsoft is another big name that isn't new to the Metaverse; after releasing their mixed reality headsets in recent years while exploring both VR and AR, you can expect to see more of this from them as demand for these technologies increases along with the development of software to interact with virtual spaces is further enhanced. Already Microsoft has announced they are creating a Metaverse product for their popular Microsoft Teams platform to increase collaboration and allow things like customizable digital avatars, novel forms of communication, expand collaborations into open virtual spaces, and develop more exciting video chat experiences.

Metaverse Gaming

While VR and even AR have been strongly connected to gaming in most people’s minds, this is starting to change. With a large part of the world exploring work-from-home options and how to embrace socializing and collaboration in the digital space, more people than ever are starting to understand the potential for the Metaverse to bring many types of interactions into a new world.

With products like the HTC Vive Pro 2 and Meta Quest 2 (formally Oculus Quest 2) making their way into homes worldwide, VR is becoming much more commonplace. With tech enthusiasts digging around for software and games to take their VR devices for a spin are finding their way into virtual worlds through VR Chat and VR Virtual Desktop, which touch on the potential for these technologies as the hardware to make them practical has started to reach the mass market with Google even releasing "Cardboard" a few years ago which when combined with your phone could provide a relatively immersive VR experience while primarily being made from, as you may have guessed, cardboard.

Even a growing landscape of blockchain and crypto Metaverse gaming-related projects is blooming with some of the best Metaverse projects for gamers, including The Sandbox (describing itself as the open Metaverse), Decentraland, Axie Infinity, and Star Atlas, just to name a few.

Conclusion

The increased interest in the Metaverse points to the future being launched into other realms of digital spaces where what things exist and what context they are owned in the future could look much different from their traditional counterparts today. Will your avatar in the future be far more than the profile pictures of today? Maybe you'll even find yourself offering or receiving services or digital goods in ways that today may seem like science fiction. With VR and other technologies associated with the Metaverse blending with the crypto space and even affecting how some people are playing games, there's a tremendous amount of potential, and things are only just now beginning to be touched on as so many bleeding-edge technologies are starting to mesh together.

It's hard to argue the way we see the web, data, or just the internet, in general, isn't evolving. So maybe the Metaverse will become a big part of how all of this is shaped in the future as the physical and digital collide and it reverberates through the network that underpins our life and world.

- Adam Tracey
Why Does Bitcoin Have Value?
Why Does Bitcoin Have Value?

Bitcoin is a speculative asset. This means that the price of bitcoin can go up and down depending on what people are feeling about it. Many different factors contribute to this, including supply, demand, general sentiment, and more.

The finite supply cap for bitcoin makes it an interesting investment opportunity since there will only ever be 21 million bitcoins mined on the bitcoin blockchain before the supply is capped forever!

Bitcoin vs. Gold and Other Speculative Assets

Bitcoin is very similar to other speculative assets like gold, real estate, and collectibles. In fact, bitcoin is often considered a store of value and is one of the key reasons some people find it so interesting! Bitcoin is also becoming an increasingly popular means of exchange. In the simplest sense, bitcoin has value because people think it does and are willing to trade goods, services, or other currencies for bitcoin. It's different from a traditional fiat currency that is backed by a government. Still, something you may not realize is that standard currency is speculative as well in that it largely relies on what people are willing to exchange for it.

While you may not notice it, the value of the US Dollar, British Pound, and even the Euro are all fluctuating constantly, yet in most cases, you are unlikely to notice this in the short term. However, for some countries where hyperinflation and other economic phenomenon have kicked off, the day-to-day value of their local fiat currency has become an important topic.

When you look at other asset classes a little more closely, bitcoin being a speculative asset with no physical form doesn't feel so weird after all!

Bitcoin's Valuable PropertiesDecentralizedImmutableBorderlessTrustlessPseudonymousStore of valueEasy to transportCheap remittancesIntrinsic Value

Bitcoin has value because people think it does and is willing to trade goods, services, or other currencies for bitcoin. The fact that you can't physically hold bitcoin doesn't make it any less valuable than something like gold, another commodity with intrinsic value. While the price of cryptocurrencies will always depend on supply and demand to some degree, it's also worth looking at some of the other factors that come into play.

Bitcoin is not just another currency but has properties more closely represented by gold or silver than fiat money like USD. While these commodities are loosely limited in supply and can be used as an alternative store of value to paper cash, they're also mined, printed, or otherwise created at various rates that can change at any time, with even paper trading of assets like gold making things less transparent. In the case of bitcoin, things are a lot clearer given the supply cape and the fixed rate that coins can enter the market as they are mined.

Bitcoin as a Store of Value

Beyond being a speculative asset, bitcoin is also widely seen as a store of value. While this may seem ironic given the volatility that impacts price so heavily in the short term, it's actually very similar to other stores such as gold or collectibles.

As the value of bitcoin has continued to increase over the long term, many people are taking this as an opportunity to diversify their savings or retirement accounts by adding a small portion of cryptocurrency into the mix. In addition, the fact that it's not directly connected to many traditional assets results in many investors looking to bitcoin as a potential hedge against other traditional investments. How strongly bitcoin is correlated to more conventional assets is commonly argued and is likely to become more apparent as bitcoin continues to mature while other markets cycle around it.

In countries dealing with the extreme volatility of their traditional fiat currencies, bitcoin can provide a far more stable alternative, even when taking into account its own often high degree of volatility. In many regions, remittances are being performed using bitcoin at an increasing rate. No longer do you need to trust an expensive third-party remittance service, and you don't even need a verified bank account or other types of financial institutions at all. Bitcoin isn't only a great store of value. It’s also a fantastic way to transfer value without many of the issues faced when trying to move value long distances using traditional fiat currencies, precious metals and removes the risk of counterfeit money.

While many still call bitcoin "digital gold," its potential far exceeds this as the bitcoin network sprawls the world even though no single entity oversees bitcoin. While value is relative, it's hard to argue that digital currencies like bitcoin don't provide a strong value proposition and that bitcoin does indeed have value while exploring other novel concepts such as that bitcoin introduces digital scarcity. While there are no true global currencies, bitcoin is arguably the closest thing we have to a payment system or currency that is truly global.

Bitcoin Price Volatility

The price of bitcoin is still incredibly volatile, at least compared to some more stable assets and larger local currencies. However, it's also important to keep things in perspective. While headlines about bitcoin price movements can be enough to send people into a panic or frenzy of excitement, the rise, and fall of the market are something that can be expected with such a comparatively new asset that can be considered to stand in a class of its own in many ways.

While decentralized payment systems like bitcoin are often compared to credit cards, it's essential to acknowledge that bitcoin isn't just another digital payment solution like your online banking, PayPal, or Cash App.

While the future is still uncertain, bitcoin has intrinsic value through its ability to act as an alternative store of value with properties beyond cash for investors and bitcoin users. Ultimately, whether or not this will be enough in the long term is something we'll have to wait and see.

For over a decade now, bitcoin has continued to grow, show us new ways to consider value, and has helped provoke the growth of a massive cryptocurrency ecosystem and monetary systems that are expanding by the day.

- Adam Tracey
Bitcoin Cheatsheet
Bitcoin Cheatsheet

Whether you're looking to start trading, mining, or simply want to try your hand at buying a few bitcoins in order to see how it all works, it's easy to get started and even easier to begin learning with this bitcoin cheatsheet.

What is Bitcoin?

Bitcoin allows transactions to take place peer-to-peer without a third party such as a bank or government. The "coins" themselves exist only in digital form - they have no physical form and are not printed or minted like traditional currency. In essence, they represent a unit of account for trading goods and services, much like conventional currencies. The coins are made - or mined - by solving complex mathematical problems.

Who Controls Bitcoin?

Bitcoin was created by a still-mysterious figure going by the name Satoshi Nakamoto back in 2009. Satoshi Nakamoto was a secretive person or a group whose true identity has never been confirmed. Because no one owns or controls bitcoin, it is considered a decentralized digital currency.

Bitcoin has been described as "cash for the Internet." What separates it from other currencies is that bitcoin isn't subject to any one country's rules, regulations or policies. As a result, it can be used by anyone who knows how to access the Bitcoin network - typically through a wallet application downloaded on a PC or mobile phone or online via a web wallet.

How Do I buy Bitcoin?

Because it's not centralized, bitcoin can't be bought from a central organization like a bank. Instead, you typically need to use an exchange to buy or sell bitcoin. Before you open an account and purchase your first coins, you need to think about what type of exchange you want to use; the most flexible option is a P2P marketplace like LocalCoinSwap.

What is a Bitcoin Wallet?

The wallet can be seen as your personal interface to the Bitcoin network. It allows you to receive bitcoins, store them and then send them to others. A wallet is like a bank account; however, it is more decentralized and under your control. Therefore, you are not required to submit any identification or other sensitive information when creating a bitcoin wallet.

On a fundamental level, Bitcoin wallets consist of two cryptographic keys (one public and one private key) - the public key being your wallet address, which people can use to send money to, and the private key is for signing transactions (moving your funds).

Keeping your bitcoins safe is of utmost importance, as this digital currency has a lot of value attached to it. There are three main types of wallets available for you to use: online wallets, offline wallets, and hardware wallets - each with their advantages and disadvantages.

What is the Bitcoin Blockchain?

The blockchain is the technology behind bitcoin. It's a data structure that stores blocks of items in a linear, chronological order. The 'chain' represents the entire history of all transactions made since the network began. Every transaction is stored in blocks and mathematically encrypted to create an irreversible record - hence the term blockchain.

What is Bitcoin Mining?

Miners keep the blockchain consistent, complete, and immutable by repeatedly verifying and collecting newly broadcast transactions by using large amounts of computer processing power (energy). Each block contains a cryptographic hash of the previous block (unique signature), using the SHA-256 hashing algorithm, which links it to the previous block, thus giving the blockchain its name.

How do I accept bitcoins as payment?

For companies wishing to accept bitcoin, many different types of software, services, and platforms can be used - or even none at all. For example, some smaller merchants may accept direct bitcoin payments to their wallets, while others may opt for third-party services designed specifically for businesses.

What is the Future of Bitcoin?

Since bitcoin's inception in 2009, it has witnessed rapid growth and appreciation in its value. In this relatively short period, people have come to see it as a haven for their wealth due to it being entirely digital, not influenced by any central bank or authority. However, many naysayers still stubbornly believe that bitcoin is built on unproven technology and isn't ready to be used in the real world just yet. Yet, over a decade later, the network is still producing blocks and processing transactions.

What Can I do with Bitcoin?

Even though it's not quite mainstream yet, you can still use your bitcoins to purchase products or services from vendors across the world. You could buy anything from web hosting, plane tickets, furniture, tech, or even book a hotel room thanks to the growing number of companies accepting bitcoin.

What is SegWit?

SegWit stands for segregated witness. If you've ever used (or at least heard of) a wallet that supports SegWit, then you've likely seen it in action already. However, not all wallets support SegWit just yet - but it's a step towards the future capacity upgrade for bitcoin as it enables blocks to contain more information without directly increasing the 1 Megabyte block size.

Who Controls Bitcoin?

The bitcoin network is completely decentralized, so there's no need for any central authority to oversee its operations. This means that anyone can participate in the network by simply downloading the software required.

What Are the Benefits of Bitcoin as an Investment?

Many people who have purchased bitcoins as an investment are seeing significant returns on their initial investments. In December 2017, a single bitcoin was valued at over $19,000 USD, and in 2021, Bitcoin has traded for over $50,000 USD. As bitcoin is speculative and at times highly volatile, whether it is a good investment is something you should research yourself and assess against your risk tolerance.

What is the Supply of Bitcoin?

Bitcoin's supply is capped at 21 million coins. That means that there can be no inflation in the network, which is one of the ways it differs from fiat currencies.

What if I Lose my Wallet?

If you somehow lose access to your wallet or it gets stolen, you should consider these funds irretrievably lost in most cases. That means it's important to secure any wallet you own, safely store your private key or seed phrase, and ideally use a quality hardware wallet.

What is the difference between Public and Private Keys?

Every single bitcoin transaction that ever takes place requires a public address and a private key - which work together to authorize the transaction. A public address is enough information for you to be able to send funds to another bitcoin user. The private key is what someone needs to have so they can spend money from their wallet. However, if they lose the key, they will never regain access to the bitcoin inside of it again.

What are Bitcoin Faucets?

Bitcoins faucets are websites that dispense a small amount of bitcoin for free of performing a task (often a captcha) that were quite common in the early days of bitcoin. While these have become far less popular in recent years and pay out a lot less, they still exist.

What is the Average Block Time?

The average block time refers to how long it takes for a block to be confirmed on the blockchain. It's usually around 10 minutes per block, but it can take more or less time. However, the bitcoin network is programmed to add a new block every 10 minutes, so each block is expected to take an average of 10 minutes.

What is the Lightning Network?

The lightning network is a second layer protocol built on top of bitcoin that allows for super-fast and inexpensive transactions. These are especially useful for smaller-scale payments where transaction fees would be larger than the cost of the product or service you're purchasing, but they can also make most bitcoin transactions instant. This technology is still in its early stages, but it's already supported in some wallet software and is growing more popular as adoption is starting to increase more rapidly.

What is the Price of Bitcoin?

The price of bitcoin constantly varies since it's traded on various exchanges all over the world. It can go up or down depending on what people are willing to pay for it, but that value has been trending upwards for years now when looked at on a longer time frame.

What is a Satoshi?

A satoshi is the smallest fraction of a bitcoin and represents 0.00000001 BTC (one hundred millionths of one bitcoin). Since bitcoin can be divided down to 8 decimal points, you could always buy a fraction of a bitcoin if you didn't want a complete one.

What are the Transaction Fees?

Bitcoin transaction fees vary based on several factors. When there is more competition to get a transaction into a block, you will pay a higher fee if you want your transaction to be processed quickly. Additionally, the size of any given transaction also determines how much it will cost to send or receive bitcoins. While you can send a fraction of a bitcoin or thousands of bitcoins for the same price, specific transaction types can cost more than others based on numerous factors (such as the type of wallet address used).

What is a Halving?

A halving is when the rate at which new bitcoins are created halves. This happens once every 210,000 blocks or roughly every four years. When that happens, the block reward per block is cut in half until it eventually reaches zero.Bitcoin is seen as a deflationary currency because there's a finite amount of bitcoin that can be mined. In all, there will only ever be 21 million bitcoins produced which makes for an interesting economic experiment that all bitcoin users are participating in, and only time will tell where it goes.

There is so much to learn about bitcoin and other cryptocurrencies. If you want to learn more be sure to check out the LocalCoinSwap Academy where there is a large amount of free bitcoin guides and tutorials that is growing all the time.

- Adam Tracey
Top 3 Surprising Facts About Cryptocurrency
Top 3 Surprising Facts About Cryptocurrency

The bitcoin craze has brought a lot of attention to the cryptocurrency market. With cryptocurrency looking to some like the new gold rush, almost everyone seems to be wanting to get in on the action. But how much do you actually know about this digital currency? To make things interesting, we've uncovered three crazy facts for your reading pleasure.

1 - The First Major Bitcoin Trade was for Pizza:

In 2010, a programmer named Laszlo paid 10,000 Bitcoins for two Papa John's pizzas. Based on today's exchange rate, that would be worth more than $400 million dollars. The story goes that Laszlo posted online asking someone would be willing to buy him pizza and if he could pay them with Bitcoins.

It all started with this post: "I'll pay 10,000 bitcoins for a couple of pizzas.. like maybe 2 large ones so I have some left over for the next day. I like having left over pizza to nibble on later."

The now-famous event is celebrated every year on May 22 as Bitcoin pizza day. At that time, Bitcoin was worth significantly less than it is today – the entire 10,000 bitcoins were only worth an estimated $41 USD.

So Laszlo got himself $25 dollars worth of pizza! While it may not feel worth it today, this trade is considered one of the most important transactions in the history of Bitcoin. If this trade hadn’t taken place, Bitcoin might not have been as established as it is today. So next time bitcoin pizza day rolls around, why not celebrate with a few slices and maybe add a little bitcoin to your stack.

2 - We've got it all wrong:

Many people had assumed that cryptocurrency was completely anonymous, which would make it super easy to launder money and stay under the radar of the authorities. However, a little research can show this is actually not true at all as Bitcoin and many other cryptocurrencies are pseudo-anonymous as every transaction is recorded on a public ledger. While wallets or transactions don’t come with a visible identifier, the information they can provide can sometimes be linked to the owner of a particular wallet.

With some more advanced investigation, you can track transactions on the blockchain (the underlying technology behind cryptocurrencies like Bitcoin) using a process called 'clustering' – and with some clever detective work, you can find out who's doing what very easily in some cases. While for those with a public ledger, you should never consider your transactions truly private.

So while you may have thought we were getting one over on the system, in fact, the opposite may have happened! However, Bitcoin and other cryptocurrencies with a public ledger are designed with transparency in mind, so the next time someone says Bitcoin is for criminals, you can tell them it’s only stupid ones!

3 - It's Evolved Into Something New:

We've already mentioned how cryptocurrencies are based on blockchain technology - but did you know cryptocurrencies are themselves… evolving? For example, developers have been creating new digital currencies and improving existing ones that make blockchain technology even more secure, useful, or efficient. In some cases to do this, they're calling on a process called a 'hard fork' – where a new cryptocurrency is split from an existing one or a significant upgrade can take place without having to start from scratch, effectively starting as a fresh entity with the full history of the previous one. This is why you might see articles about cryptocurrencies splitting or hard forking to implement upgrades like Segregated Witness (SegWit).

Some experts believe there's going to be a big rush towards this kind of technology soon, and many more believe this is already underway – so watch out for some exciting developments! There are so many interesting things to learn about cryptocurrency. With so many things happening every day, why not spend a little time investigating all the groundbreaking developments that are taking place.

If you want to read up more on cryptocurrency before delving into your own cyber adventure, why not check out this article about buying bitcoin and find out why so many people are still jumping in on the world’s most popular cryptocurrency. And remember, once you've got your digital wallet set up and your first coins purchased to keep an eye on the market – because we all know what they say about past performance and future prediction!

- Adam Tracey
Is Dollar Cost Averaging the Easiest way to Trade?
Is Dollar Cost Averaging the Easiest way to Trade?

Dollar-cost averaging is a trading strategy that can be used for stocks, bitcoin, cryptocurrency, or any other investment. This technique involves buying the same dollar amount of shares at regular intervals no matter what happens to their price.It sounds simple, but there are a few things you should know before you start using it as a trading strategy. In this post, we will go through how dollar-cost averaging works and why it may be an effective way to invest your money in bitcoin even if bitcoin prices fluctuate wildly.

What Is Dollar-Cost Averaging?

First, let’s talk about what dollar-cost averaging is. You buy the same amount of bitcoin at regular intervals regardless of whether or not you think that it will go up in value (or down) in the short term. If this seems like a strange way to invest your money, the best way to see why this may be effective is to look at the long-term trend. It does take some getting used to, but once you understand how it works, many people find that they can use this technique successfully.Suppose you don't have the time to be spending every moment staring at charts and trying to master technical analysis. In that case, dollar-cost averaging may be a suitable alternative that fits your needs. Of course, not everyone wants to spend their days worrying about short-term price movements, and this is why bitcoin trading strategies like DCA are becoming a popular recommendation among bitcoin traders.

The Benefits of Dollar-Cost Averaging

Now that you know how dollar-cost averaging works, let’s discuss why it may be an excellent strategy to use when investing in bitcoin, even if prices are volatile. By using dollar-cost averaging, you would be able to buy more bitcoin when prices are low and less when they are high, which means that your overall return will not fluctuate as much as it could have and can reduce the effects of volatility on any investment you make in short to medium term. It’s important to remember though is that even if the price drops dramatically, the value of your total portfolio may still be significantly affected.Dollar-cost averaging is in no way protection against extreme market events; it's more a way to help smooth out your journey as you build up a position in bitcoin. It can also help you avoid trying to time the market, a mistake that many traders make. Over the long term, there have been very few periods where buying bitcoin would not have become profitable. If your perspective is that bitcoin will continue to grow and proliferate, one of the easiest ways to take advantage of that and one that has at least so far proven itself to be effective has been dollar-cost averaging.

Is DCA the Best Way to Invest in Bitcoin?

Dollar-cost averaging isn’t the only way to make money in bitcoin, but it can be a valuable technique to help you get started. HODLing is another popular strategy that many people use when investing in cryptocurrency and involves simply buying and holding your bitcoin until the value has increased. What started as a meme based on a typo in a forum post has become a form of investing that is extremely serious to many bitcoin enthusiasts.HODLing simply involves buying and holding your bitcoin no matter what. HODLers tend to be focused on supporting bitcoin growth, whatever the price currently is, and typically are against the idea of day trading, margin trading with leverage, or any other short-term trading strategies.

There are countless approaches to investing in cryptocurrency, but if you are looking for a simple way to invest in bitcoin, DCAing, HODLing, or even a combination of both may be a great option.

Conclusion

Dollar-cost averaging can help you avoid having too much exposure in the short term, but over the long run may lead to reduced returns if there are significant price movements to the upside over an extended period of DCA.At the end of the day, the best way to invest in bitcoin is through the methods that match your risk profile and make you feel confident. Cryptocurrency trading can be highly volatile, and this is essential to consider when thinking about investing in bitcoin for the first time.If you're looking for a place to start trading bitcoin, or when you want to DCA, LocalCoinSwap is an excellent solution. You can easily buy bitcoin using over 300 payment methods with traders from around the world. Find out for yourself why P2P trading is one of the most popular ways to buy and sell bitcoin worldwide.

- Adam Tracey
Can I Find Bitcoin Near Me?
Can I Find Bitcoin Near Me?

Just like a lot of things in life sometimes you just want to buy local bitcoin. Whether you are new to investing in bitcoin (BTC), or just want to purchase some bitcoin to see what all the fuss is about. You can just about always source bitcoin near you, if you know where to look.

While cryptocurrency interest is growing, the word "bitcoin" worldwide is becoming increasingly well-known. Depending on which way you choose to go, you have a variety of options each with different fees and levels of convenience to consider. If you want to find out more about buying bitcoin locally, read on to learn about how you can get your hands on some cryptocurrency in your local area. It can be easy to buy and sell cryptocurrency near you when you know how to get started.

Can I Buy Bitcoin Worldwide?

While an interesting question to ask, this is one that has a complicated answer. However, in most cases, the answer is yes. While there are a few edge cases due to local regulation, government restrictions, sanctions and other potential concerns, in most places you can buy bitcoin with cash with minimal difficulty. While bitcoin ATM locations won't always be available to you, in many cases, P2P traders looking to buy and sell bitcoin (BTC) and other cryptocurrencies will be, especially in larger more populated areas where it's popular for vendors to operate their own local trading businesses.

The difficulty of finding the closest bitcoin will be somewhat connected to your location as well, those that live in relatively large cities local bitcoin traders can be found far more easily, but even if you can't initially, there are other options as well you can examine (such as becoming a vendor yourself). You may also discover that the closest bitcoin isn't always the best price for bitcoin, so sometimes looking outside of your local area can be really beneficial to getting the cheapest bitcoin.

Can I Find Bitcoin Near Me?Can You Buy Bitcoin at Walmart or Other Supermarkets?

While when you see this question, I'm sure many of you are hoping that you can merely pop down to the local supermarket and just buy bitcoin with money you have on hand, unfortunately at least today it's not quite that simple. However, you can take advantage of Walmart, CVS, 7-Eleven and more in a few ways to get your bitcoin fix. While all of these options require a P2P exchange such as LocalCoinSwap to perform safely, they can be done with some basic research and understanding a little about these forms of payment method.

Methods to Buy BTC with cash at a Supermarket:

Trade bitcoin with Walmart2Walmart transfer.Trade bitcoin for gift cards purchased at supermarkets.Meet in a public place such as a shopping center or mall to trade bitcoin whether you are going to buy or sell.A Bitcoin ATM nearby is an option if one is available in your local area, some supermarkets or shopping complexes are popular bitcoin ATM locations.Buy bitcoin with prepaid Visa or MasterCard which can be safer than using your personal debit card or credit card.

The key to buying bitcoin at Walmart and other stores and locations is not in buying it directly. It's in taking advantage of the various means of payment you can locate there, often using things purchased with cash that can be used to exchange value with other traders.

Beware that some types of payment methods are a little more advanced, gift cards being a good example, so be sure to do some research about a payment method you may wish to buy cryptocurrency with using P2P trading before engaging in a trade. However, if you choose a payment method without charge back risk, and one that can be quickly secured once reviewed P2P trading provides bitcoin escrow by taking advantage of the services offered by LocalCoinSwap to help you trade bitcoin safely.

Note: If someone has requested you to buy bitcoin from a bitcoin ATM, purchase gift cards, or other items to pay a "tax debt", "computer cleaning", or something else that doesn't sound quite right after calling you on the phone, this is 100% a scam. While you can sell bitcoin to pay taxes if you want, you can't pay your taxes by sending someone who called you on the phone bitcoin. Beware this common scam that aims tries to trick people into buying gift cards, cryptocurrency, or send money via Western Union or Money Gram. Look out for family members and friends who may be at risk of falling for this scam as well.

Trading Bitcoin in Person

Cash trading is something that is still popular in today's world even as we've begun heavily trending more towards a cashless society, and this isn't likely to change anytime soon. Cash is still king for a surprising number of people, and the tangible nature of it makes it a great way to exchange for cryptocurrency directly. Using crypto exchanges, you can help reduce the risks associated with exchanging with a stranger. whatever your location. You can check their trading history and agree on terms such as location before a trade occurs. Using LocalCoinSwap, you can essentially buy bitcoin worldwide while being able to exchange your physical money for bitcoins.

Whether you want to buy or sell it doesn't matter, in most reasonably populated places you'll be able to match with a suitable trading partner to convert cash into bitcoin with ease. If you do have a little trouble, you can look at other payment methods available to you. Still, you can also list your own trade offer on LocalCoinSwap to allow other traders passing through to see your interest in trading and the terms you are willing to accept.

So can I buy/sell bitcoin nearby? Yes, and you exchange it with a local bitcoin trader in person for cash in a vast range of locations worldwide.

Can I Find Bitcoin Near Me?Where is the Nearest Bitcoin ATM?

If you are wondering "where can I find a bitcoin machine?" or "where can I find bitcoin ATMs near me" this may be one of your first times using a bitcoin ATM, while still a valid option to consider in some cases, they aren't as convenient as they once were. Increased KYC requirements have reduced the convenience and potential wait times when using a bitcoin ATM, what was once the matter of deciding if the fees for using a bitcoin ATM were acceptable, now there is more to consider.

Bitcoin ATMs have always been on the high side when it comes to cost, but with more restrictions starting to come into play across the world, often the bitcoin ATM machine is pushed down the list of suitable options a few notches even if there is one nearby. Ignoring the usually high prices of using a crypto ATM, you can generally locate them nearby, and for a lot of us, there will be one somewhere in our local area. If not there's always the flexibility provided by P2P trading that makes a brilliant alternative to bitcoin ATMs.

If you do decide to use bitcoin ATMs, many mobile apps/website/bitcoin ATM map provide bitcoin ATM locations which can help you find a bitcoin ATM near you. You will, on occasion even stumble on a bitcoin ATM nearby in a local store or other retail business, commonly businesses that accept bitcoin as payment.

If you skip the bitcoin ATM you don't need to have a map to get started when you choose to trade P2P with LocalCoinSwap. You can address many of the issues associated with bitcoin machine and allow you to complete a transaction often with a far better price so you can receive your cryptocurrency as close to market value as possible.

Who Accepts Bitcoin Near Me?

There's a growing number of local businesses that accept bitcoin that can likely be found in your area. Every day more businesses are opting to accept bitcoin and other popular cryptocurrencies as payment for goods and services. If your favorite local business is yet to start accepting bitcoin at a store near you, show your interest by suggesting it politely as perhaps a few other people may do so as well leading the business owner to think about adding this payment option.

While it can be difficult to broadly answer the question "where is bitcoin accepted near me?", there's a range of crypto friendly business directories online that can be found with a quick web search. If you're in doubt that a business may accept crypto near you, ask them! The worst that can happen is they say no. It's not just countries that you expect that you can find businesses that accept bitcoin either, while paying in bitcoin may be more popular in the United States or Australia, there's a growing number of places you can spend you bitcoin in Kenya, Russia, Venezuela, and just about anywhere else in the world you may wish to visit or live.

The Various Ways of Trading Bitcoin for Cash

When you want to convert cash to bitcoin (BTC) or convert your bitcoin to cash, you may think of exchanging money in person. However, something that many people aren't aware of is that there actually are a range of ways you can use cash to trade cryptocurrency. Cash by mail is an excellent example of a more private method buy/sell bitcoins, while not the fastest it does have its benefits in some situations. Cash deposits are one potential method to use if you don't mind walking into a local bank and dealing with a teller. Cardless Cash is another way that cash can be utilized during crypto trades which can allow you to avoid a bank teller in most cases. None the less one of the most popular ways to use cash is to trade cash in person and for those looking to buy bitcoin worldwide every day, this is still a popular choice of payment method as it can be a suitable way to buy bitcoin for almost anyone.

Do you want to start trading bitcoins with cash and other payment methods in your local area and start filling your bitcoin wallet? Register your LocalCoinSwap account today and end your search for the best way to trade BTC. You have a vast range of payment methods to choose from and a range of digital currency options to buy and sell. You don't even have to worry about being required to prefund your ads and lock up your crypto as you can post a trade offer you can start immediately.

Whether you post your own trade or search for trades with one of the experienced traders on the platform, you can get started immediately with with instant sign up and without paying high fees to simply buy and sell cryptocurrency.

Start trading P2P today and find out how easy it can be to trade cryptocurrency locally with your bank account, cash-by-mail, or any other payment method you may wish to use.

Don't forget to check out the LocalCoinSwap Academy for the best free trading guides!

- Adam Tracey
Getting to the Root of the Bitcoin Taproot Upgrade
Getting to the Root of the Bitcoin Taproot Upgrade

The most significant update for bitcoin in four years is on its way. With miners signaling their support at a growing rate, we're getting closer to this interesting upgrade to bitcoin. While it has a rather intriguing name, even if you aren't well versed in bitcoin script and the deeper aspects of this massive cryptocurrency, it's still easy to get an idea of what Taproot means for bitcoin and what it could mean for you too.

The last major update to bitcoin was Segregated Witness (Segwit) back in 2017. While bitcoin development can be a little slower than some other projects, it is always exceptionally well considered as the bitcoin core developers and contributors are conscientious as to the stability of the network. With such a large market cap, it's more important than ever that bitcoin continues to be safe, secure, and reliable so it can continue to thrive, something which has been the case for many years now thanks to the efforts of all those who have contributed.

The Taproot update is comprised of multiple BIPs (bitcoin improvement proposals), three in total. While they are separate proposals, they are often looked at collectively as just Taproot as they all work together to provide the benefits of this upgrade. These proposed upgrades are Schnorr Signatures, Taproot, and finally Tapscript, or BIP 340, 341, and 342.

Hard or Soft Fork?

The Taproot update will be in the form of a soft fork, it will be backward compatible, so any wallets you currently use won't be affected. In short, there's nothing that a user has to do to prepare for Taproot, and that's fantastic from a usability standpoint.

Activation of Taproot will be locked in and proceed provided that enough blocks include a signal from miners showing support during one of the signaling periods lasting 2016 blocks. For Taproot to proceed, at least 90% of blocks mined (1815 blocks) in one of these periods must show support in the form of a flag which is essentially just a message attached to the mined blocks.

Every 2016 blocks, a new signaling period begins. If consensus is not reached by August 2021, this speedy trial approach will end, and a new approach must be considered if Taproot is to go ahead. If consensus is reached, Taproot is set to launch in November 2021.

Taproot's Privacy Benefits

One of the key parts of the Taproot update that has intrigued people is the increased privacy aspect. While Taproot won't fundamentally change the pseudo-anonymous nature of bitcoin, it will help improve the privacy of some very useful transaction types.

While bitcoin scripts are considered less flexible than some cryptocurrencies, they can still be extremely powerful and combined with the stability of the network even more so. Bitcoin script is even used by LocalCoinSwap to power our non-custodial trading of bitcoin, so this is something that we value enormously. The Taproot update increases the flexibility of bitcoin scripting by bringing with it Tapscript. Tapscript will allow for the easier addition of new features in the future, expand the flexibility of bitcoin scripts, and by offering users of bitcoin more privacy.

This increased privacy comes into play primarily when you are working with multi-signature transactions. These are commonly used in various ways and are especially appealing to businesses or individuals storing large amounts of bitcoin. Previously if you were to create a more complex bitcoin script, you would have to add this in each transaction that involved inputs from the funds to be spent. The problem with this is that this is visible to others and takes up a significant amount of space, typically costing more to get into a block than a less complex transaction.

Taproot will allow scripts to be hidden in transactions; this allows a much higher degree of privacy when using bitcoin this way, which is only likely to increase as wallets become more advanced and leverage the growing feature set provided by the network. Using merkelized abstract syntax trees, you only have to expose the part of the script being executed, not the whole thing. The benefits of this are clear in that you no longer have to share your conditions for spending funds, and this ensures far greater privacy for these important transactions in the real world. By reducing the information broadcast on the network, impressive bitcoin scripts with advanced conditions can be produced while still maintaining the privacy of how these are functioning; this makes them more practical and allows for better security of those involved in the transactions.

Even if you don't use transactions that would be enhanced by taproot, it's also a positive for you simply as it's easier for your transactions to just blend in with those around them. When those around you share less information, it also removes information shared about you as a by-product. Any improvements in privacy are typically positive, provided they don’t remove any of the crucial parts of how bitcoin operates, which is not the case here.

Schnorr Signatures

Signatures are an essential part of bitcoin, and one of the upgrades coming with Taproot is the integration of Schnorr digital signatures into bitcoin. Implementing this new form of signature will further bolster the strength of bitcoin and its core cryptography.

Firstly, Schnorr Signatures are around 11% smaller than Elliptic Curve Digital Signature Algorithm, which we currently use more commonly called ECDMSA. The use of ECDMSA signatures relies on some assumptions in terms of how secure it is, and while Schnorr is in the same boat, it depends on fewer assumptions leading to at least the same level of security, but likely more. In any case, the safety of signatures used in bitcoin have proven themselves secure and have been battle-tested with time, so there's no reason to be concerned about the current use of ECDMSA.

As Schnorr Signatures are smaller when used in bitcoin, more room is available to build out complex transactions. Schnorr is the reason that the Taproot upgrade will allow for combining signatures into one that is broadcast to the network, allowing for increased privacy with multi-signature transactions. Multiple participants could be involved in sending bitcoin, but anyone inspecting the transaction on the blockchain would only be able to see a single signature.

Schnorr Signatures leverage the existing SegWit update to improve the privacy of bitcoin, lower transaction fees, and help further bolster the security of the network. Interestingly, Schnorr Signatures are actually newer than ECDSA, which means we aren't moving to rely on something more unknown but just new to bitcoin.

New Ways to Send Bitcoin

Taproot brings with it a new way to send bitcoin, Pay-to-Taproot (P2TR). This new way to transact combines the functionality of current approaches Pay-to-Script-Hash (P2SH) and Pay-to-Public Key (P2PK), providing the privacy and flexibility benefits that we've touched on previously.

P2TR transactions utilize Schnorr Signatures to reduce the amount of data required to broadcast a transaction, reducing fees for more complex transactions and increasing the flexibility of what is possible with bitcoin script via Tapscript.

Taproot will allow for more creativity from bitcoin wallet developers, exchanges, and throughout the bitcoin ecosystem. While you may not notice immediately how significant this upgrade is as bitcoin inevitably becomes more pervasive, it’s likely to begin to start affecting how you work with bitcoin in your day-to-day transactions.

If you want to explore some of the more advanced things you can do with bitcoin script, check out our bitcoin trading scripts over on GitHub. There you can explore the complete non-custodial bitcoin trading process used on LocalCoinSwap directly. You can see how we use P2SH transactions to trade bitcoin without the need for custodial storage efficiently.

We're always excited to see new things coming to bitcoin, and as such, we're enthusiastic to see what can be achieved with new developments to the network. If this has got you excited about bitcoin, head on over to LocalCoinSwap and browse through thousands of trade offers from around the world and get your feet what by trading bitcoin the best way, peer-to-peer.

- Adam Tracey
Understand NFTs in 5 Minutes or Less
Understand NFTs in 5 Minutes or Less

The current NFT craze is taking 2021 by storm. However, like all new trends, you may not yet know what is actually going on and why it matters. Let's explore the basics of NFTs so you can get in on the action, or at least know what this thing is suddenly blowing up on social media and even in mainstream media all of a sudden is actually about.

What Does NFT Even Mean?

NFT is an abbreviation, and it stands for "non-fungible token." The key to understanding what exactly this means is to explore the term fungible in the name. Fungibility is a property that something can have. This property defines whether something is unique in a way that if it were to be exchanged with another of the same item, you would be unlikely to care or perhaps even notice.

A practical example of something being fungible is cash. If you were to lose a $20 note on the street but found another one on the way home, you likely wouldn't consider this to be a loss. This logic is because both items' value can typically be regarded as equal, and one $20 note is basically the same as another. However, if you were to lose a one-of-a-kind family heirloom that could not be replaced, it wouldn't matter what else you found on the way home as that item had a specific value to you and couldn't easily be swapped out with a similar item. While you can probably imagine edge cases in both of these situations, the term fungible or the alternative non-fungible is typically used in the relative sense rather than as a perfect descriptor.

Combining Non-Fungibility and Crypto

Now, this is where things have really gotten interesting. Cryptocurrency has allowed for modern approaches to be taken when it comes to everything from finance to ownership. The latter is one reason why NFTs are becoming so popular.

Having something you don't just own but can freely control can be powerful. This side of things is something that crypto has been a great tool for when it comes to personal finances and empowering people to gain more sovereignty over what value they hold and how they exchange it. NFTs have essentially taken some of the qualities of traditional cryptocurrencies and combined them with uniqueness.

Owning an NFT means you own something unique; that NFT could be a piece of art, an item in a video game with specific traits, maybe even the rights to something like a video or document. The realm of NFTs and what exactly constitutes an NFT is only something that seems to be evolving. While some of the most popular forms of NFTs come from the art realm, other areas are growing, such as officially licensed digital collectibles like NBA Top Shot or the upcoming launch by Funko of their own tokens likely centered around their popular collectibles.

Can't You Just Copy an NFT?

Like an original painting from an artist, prints or other forms of copies can be made, even fakes or replicas. However, like a copy of an original painting, no matter how good or accurate, it will almost always hold less value than the original, provided you can verify which is which. Now conveniently, verification is something cryptocurrency does very well. If you own an NFT, you will own a unique token, and just like bitcoin, making copies of your wallet won't generate you any more coins in reality.

While this feels different from when dealing with a physical item like a sculpture, the basics remain the same at the core of the concept. If you made a replica of the sculpture, it would be worth less, probably significantly so, and you could potentially even make it harder to prove which was the genuine item, in turn hurting the value of your original. Thankfully, an NFT can usually be easily verified with just a block explorer and some information to reference from the original.

Where Does an NFT "Exist"?

Now while cryptocurrencies do verification of ownership well, something that most do relatively poorly is storage. Storing large files on blockchains can be difficult, expensive, or even impossible, depending on the crypto in question. You may already have guessed how this could affect NFTs in the form of art or other digital media, and this is a concern that many have but something that is evolving.

Many platforms that are trading NFTs currently store the data for any media or other files attached to the ownership of the token. For example, if you have an NFT that is a short animation, that animation needs to be stored somewhere, and often it's not practical right now to store that "on-chain." Currently, what is typical is that the token will have a variable that points to the location of the media for which the token represents ownership. While this is a question that many are asking in 2021, this is a problem that a growing number of projects will likely address in the coming years with a range of approaches.

Suppose you do have control of an NFT in a personal wallet. In that case, even if a platform storing some element associated with it were to go offline, you'd still maintain ownership of the token itself on the blockchain. When considering trading NFTs, having access to private keys and moving your token without restriction is worth considering, just as it is when dealing with any form of crypto.

When Will NFTs Go Away?

NFTs are something that not just the crypto community has shown a strong interest in but has also extended well beyond into a range of diverse areas. While demand for NFTs may fluctuate and the specific forms they come in may change wildly over time, the NFT is likely a concept that won't just slip away. It might just help shape the future of art, ownership, collecting, and many things in between we'd never considered before.

Are you getting in on the NFT boom or excited about an upcoming NFT launch? Let us know why (or why not) by tweeting @LocalCoinSwap_

- Adam Tracey
5 Ways to Get More Trades as a P2P Vendor
5 Ways to Get More Trades as a P2P Vendor

Whether you’ve been vending for years, or you’re just getting your first few trades under your belt, it pays to review your offers now and then to ensure you are catching the most trades possible. Even if you are doing well, there’s a good chance that you’re missing out on potential trading opportunities if you aren’t covering all your bases. Are you getting as many trades as you could be?

Are Your Terms Good or Great?

Trading terms are one of the first things people check after your pricing, so ensuring that you have these on point is essential. One of the first things to check when it comes to your terms is spelling and grammar. While this may seem a little fickle, many people will be put off when seeing trade terms with a glaring error. After all, traders are looking for someone that seems trustworthy and knowledgeable.Offers with detailed terms get 13x as many trades as those without!Another important aspect of having top-notch trading terms is to make sure they are easy to understand. When you’ve been doing something for a while, knowledge bias is a factor to consider. Many traders you will encounter as a vendor will be pretty new to cryptocurrency. Due to the accessibility of a wide range of payment options available, frequently P2P marketplaces are among the first places a new crypto trader will visit.While your terms may seem straightforward to you, have you considered that perhaps they may be unclear to someone less familiar with cryptocurrency or P2P trading? Common “gotchas” can include being too heavy on slang terms and crypto jargon or being overly specific about parts of the trading process that a new trader simply may not understand. One approach that can be taken to get a better understanding from a new trader perspective is to find a friend or family member that isn’t knowledgeable about crypto or not overly familiar with it and ask if they understand what you are asking for in your terms.

Trade Expiry Matters More than You May Think

Trade expiry leaves a bad taste in the mouth of any trader. If someone opens a trade with you only to be left with no response and an expired trade, the odds are very high that they will never return. No one likes being ignored, which can radiate not just with an affected trader but also by word of mouth when recommendations are being made on Twitter, Reddit, or even among a friend group.Worse yet, expired trades will result in your offers being paused, which could result in even more missed opportunities. If you find that you are regularly getting expired trades, consider reviewing your working hours on your offers. Are they realistic to what you can actually provide? If not, you may find that you get better feedback from trades and more return traders if your response times are low and your trades smooth.Don’t let expired trades ruin a good thing. Sometimes offering a little less of your time can make things more efficient for everyone involved, which is rarely a bad thing.

Is Your Margin Realistic?

Margins are, of course, tantamount to any business and something that you likely pay a lot of attention to as a P2P vendor. However, there are a few things you may not have considered when setting yours that could be costing you time and money.Have you found yourself setting a relatively high margin after finding yourself one of the only vendors offering trades of a specific type? If so, you may not have considered the downsides of this decision. If the payment method you are offering is low risk, but you’ve set a high margin due to it being less common, you may be pushing traders away to other trade types, in turn bypassing you. For example, suppose you were to offer local bank transfers at a significant margin due to having a somewhat lonely listing. In that case, you may find that people are more inclined to just deal with a centralized exchange that offers bank transfer deposits. You could also be competing with offers from other platforms that you aren’t even aware of. Just as when shopping for anything, people are prone to shop around.Vendors that set margins within 4% get 25x as much trade volume on average!

Setting a higher margin will definitely result in more profit per trade. However, it will significantly reduce the number of trades you get and will likely be a false economy in the long run when traders find other vendors to trade with (or trade on other platforms instead).If you haven’t reviewed your trade offers recently, you may find yourself caught by surprise when you do a matching search. With the recent boom in interest in cryptocurrency, many vendors are returning to trading, so you may have found what was once a reasonably isolated offer is now surrounded by more competitive offerings.You may find that being competitive from the start allows you to build relationships with other traders that could result in long-term rewards and easy trades. If your offers start to slip slightly below the competition in the future, regulars will be more inclined to return as they’ve already had a good experience. If you started out competitively, you won’t be so far off the mark later that it should matter so much.

Small Visuals Can Make a Big Impact

Are you one of those people who never really bother setting a profile picture on any of your accounts? Studies have shown that only around 10% of written content is remembered after a few days, while approximately 65% of visual content can be recalled. Knowing this may make you think twice about whether it’s worth spending a few minutes finding and uploading a decent profile pic to help you stand out from the crowd.It also pays to make sure that you aren’t making a bad impression when it comes to profile pictures. While memes may be great to share with friends, they might put off someone looking for a professional vendor to make an exchange. Suppose you aren’t comfortable using a picture of yourself or would just prefer not to. In that case, there are plenty of great tools out there to throw together an image or edit quickly and some great sites for royalty-free images as well you can draw from, such as Pexels or Pixabay.

If You Have Experience Show it Off

When you move wouldn’t it be great if you could take your friends and family right along with you? You wouldn’t have to worry about proving yourself to new people and starting from scratch with new friends and in a new environment. When it comes to trading, if you have some experience, you can bring it to LocalCoinSwap.If you’re expanding your trading business or migrating from an older exchange to LocalCoinSwap, don’t feel like all your reputation building has to be for nothing, you can bring it right along with you and show off your trading history. If you’ve been trading bitcoin or other cryptocurrencies for years, it’d be a shame not to take advantage of that. If you haven’t completed a trade import, it’s easy, or if you were on the fence about moving to the best P2P marketplace of 2021 due to your extensive record somewhere else, no need, we can help you import your completed trades and volume, so you don’t feel like you’re back to square one.If you haven’t imported your trade history from a platform you’ve traded on in the past, learn how to do so over on the LocalCoinSwap support portal.Start using these five tips to take your trading to the next level, and keep expanding your trading business. P2P isn’t just a fantastic way to trade; for many, it can be a profitable business venture that can be pushed to the next level with a little extra effort.

- Cointelegraph By Derek Andersen
Candidate supported by Bankman-Fried-linked PAC loses Oregon primary

Record spending in a Democratic House primary could not give a political newcomer the boost he needed to overcome a local politician with a long career.

- Cointelegraph By Jordan Finneseth
Socios fan tokens rally 40%+ after Chiliz rolls out mainnet upgrade and token burn plan

A new exchange listing, mainnet launch and competitive token burn mechanism led to a sharp rally in Socios fan tokens.

- Cointelegraph By Elaine Hu
Was Terra’s UST cataclysm the canary in the algorithmic stablecoin coal mine?

After an earthquake, there are always aftershocks. The collapse of UST could be a sign that other stablecoins are also critically flawed.

- Cointelegraph By Turner Wright
Meta trademark filing hints at plans for crypto payments platform

The five applications suggest the social media firm may use its namesake in a payments processing platform called Meta Pay.

- Cointelegraph By Rakesh Upadhyay
Price analysis 5/18: BTC, ETH, BNB, XRP, ADA, SOL, DOGE, DOT, AVAX, SHIB

Ailing stock markets continue to impact crypto prices and technical analysis suggests BTC is at risk of falling below its recent $25,500 low.

- Cointelegraph By Turner Wright
Early polling from Terra vote indicates 91% are in favor of 'rebirth'

Despite the overwhelming approval of the proposal as of Wednesday, many Terra users on social media suggested the network burn its LUNA tokens.

- Cointelegraph By William Suberg
Bitcoin price drops under $29K as Walmart, Target stock lose most since 1987

Shock earnings reports contributed to fresh market weakness, depriving Bitcoin and altcoins of any new gains.

- Cointelegraph By Marco Castrovilli
Analysts assess the aftermath of the Terra (LUNA) collapse | Cointelegraph interview

Mike McGlone, senior commodity strategist at Bloomberg, and financial commentator Frances Coppola discuss the implications of last week’s Terra collapse in Cointelegraph’s latest interview.

- Cointelegraph By Zhiyuan Sun
ShapeShift creates FOX Foundation as intermediary for successful DAO transition

The entity will be dissolved upon the completion of ShapeShift’s decentralization process.

- Cointelegraph By Marcel Pechman
2 key Ethereum price metrics suggest traders will struggle to hold the $2K support level

ETH bulls are aiming to flip $2,000 back to support, but these two metrics point toward further downside.

- Cointelegraph By Cointelegraph Research
Cointelegraph Research launches venture capital database

A new database from Cointelegraph Research tracks VC activity in the crypto and blockchain industry in unprecedented detail.

- Cointelegraph By Arijit Sarkar
Crypto giants co-launch Chainabuse platform to water down rising scams

Chainabuse allows crypto users, victims of financial crimes and crypto businesses to report, discuss and actively issue warnings to reduce the effectiveness of scams.

- Cointelegraph By Ezra Reguerra
Polygon partners with Orbs and DeFi.org to launch an accelerator program

Participants of the accelerator program will get funding, mentorship and market exposure through the platform DeFi.org.

- Cointelegraph By Ariel Shapira
Exploiting sports fans through NFTs won’t lead to a W

Sports-related NFTs need to provide some tangible benefits or else sports fans will just view them as another ploy to exploit their fan loyalty.

- Cointelegraph By Ezra Reguerra
Aave launches open-source platform for social networking DApps on Polygon

The announcement comes a month after Aave founder Stani Kulechov gets suspended from Twitter for his joke about being the interim CEO of the social company.

- Cointelegraph By Helen Partz
Two credit card firms in Israel to let cardholders buy Bitcoin

Two Israel-based credit card companies, Max and Isracard, have started working on Bitcoin investment and cashback solutions via a credit card.

- Cointelegraph By Arnold Kirimi
New survey sheds light on people's concerns about investing in crypto

Eighteen percent of respondents in a new survey said that learning more about the benefits of investing in cryptocurrency was the most effective approach to transition from skeptic to believer.

- Cointelegraph By Veronika Rinecker
‘DeFi in Europe has no lobby,’ says co-founder of Unstoppable Finance

Peter Grosskopf, co-founder of DeFi project Unstoppable Finance, tells Cointelegraph auf Deutsch what he thinks about new regulations for DeFi.

- Cointelegraph By Ezra Reguerra
Vietnamese officials back new partnership to tokenize genomic profiles

Vietnamese official Nguyen Chi Dung believes that data ownership and privacy can enhance the healthcare industry.

- Cointelegraph By David Attlee
Dutch regulator says crypto not yet suitable as means of payment or investment

Paul-Willem van Gerwen from the AFM believes that retail investors should forbear the crypto derivatives trade.

- Denis
Blockchain Data Indicates $10M Worth Of Ether From The Ronin Exploit In Rotation

More than 5,505 Ether of the Ronin Bridge exploitation seems to be transferred through Tornado Cash, a unique privacy crypto exchange.

Blockchain data showed that the address associated with the $625 million Ronin Bridge Attack had begun transferring ether tokens valued at over $10 million. This occurred during the Asian morning hours.

The data showed that the Ronin hacker had transferred over 5,505 ether to one unknown account this morning. Additionally, the funds were sent from another Ethereum wallet funded by the prominent hacker’s blockchain address. All these took place within the early hours of Wednesday, as the funds were sent in groups of 100 ether each to the Tornado privacy crypto exchange.

The Ronin Bridge Ether Exploit

Ronin Bridge is an Ethereum-based sidechain for the play-to-earn game Axie Infinity, an NFT game. It was created by Sky Mavis and is running both Ronin Bridge and Axie Infinity.

Related Reading | Bitcoin Market Plunges Into Extreme Fear, How Scary Does It Get?

On March 23, cybercriminals exploited The Ronin Bridge Network, and the hackers looted over $625 million worth of assets. The assets comprise 25.5 million USDC and over 173,600 ether. A report on their blog revealed this data. The platform realized the attack when one of its users couldn’t withdraw 5,000 Ether from the Ronin Network.

Ethereum falls below 2k | Source: TradingView

Then, they took to Twitter to notify the public of the security breach on the platform. After the hack, the Ronin Bridge temporarily shut down to redevelop the platform. Moreover, even though attackers targeted the hack at Ronin and Axie Infinity, the incident didn’t affect the ‘axie’ tokens. Therefore, the AXS and SLP tokens used to facilitate transactions within the Axie Infinity game are still safe and unaffected.

Blockchain Data Reveals Ongoing Ether Fund Transfer

Within the early hours of Wednesday, Etherscan, a blockchain tracking platform, revealed that the attackers made about 55 transactions from an address funded by the principal looter. Currently, the wallet holds 3.45 ether, summing to $6,885.84.

(Image Source: EtherScan)

This step followed the massive selling of looted ether in April when the looters transferred over 21,000 ether via various transfers to the Tornado exchange. The transaction was worth over $65 million then.

Tornado Privacy Crypto Exchange

Tornado crypto exchange is an advanced crypto exchange that tweaks and breaks through the on-chain for a destination and source address. Thus, enabling hackers to hide their addresses while illegally withdrawing looted funds.

The United States Trace the Looting to North Korean Hackers

The United States official had previously traced the looter’s address to the “Lazarus” group, an infamous group of hackers sponsored by the North Korean supreme leader Kim Kuk-song. Also, Chainalysis, the blockchain tracking platform, traced and confirmed the transaction between the North Korean Cybercriminal group.

Related Reading | New Data Shows China Still Controls 21% Of The Global Bitcoin Mining Hashrate

In a thread on Twitter, the platform even provided proof of the Lazarus group being behind the March exploitation.

Sky Mavis Accrues $150 Million In A Funding Round to Regain Ronin Bridge

Sky Mavis, the Ronin Bridge, and the Axie Infinity platform raised over $150 million following the massive attack and exploitation. This effort was to regain the Ronin Bridge platform after the previous hit.

Among the list of supporters was the world’s biggest cryptocurrency exchange Binance, alongside other crypto entities.

Featured image from Pexels, charts from EtherScan and TradingView.com
- Hououin Kyouma
Bitcoin Bearish Signal: Whales Ramp Up Dumping

On-chain data shows the Bitcoin exchange whale ratio has started to sharply rise, a sign that these humongous holders may be beginning to dump.

Whales Are Behind Almost 90% Of Bitcoin Exchange Inflows Right Now

As pointed out by an analyst in a CryptoQuant post, whales may be ramping up dumping, a sign that could be bearish for the price of BTC.

The “exchange whale ratio” is an indicator that measures the ratio between the sum of the top ten Bitcoin transactions to exchanges and the total exchange inflows.

Since the 10 biggest transactions to exchanges usually belong to the whales, this metric can tell us about the relative size of whale inflows to the rest of the market.

When the value of this metric is high (that is, above 85%), it means whales currently make up a very large part of the overall exchange inflows.

Especially high values can suggest that whales are mass dumping at the moment, something that could prove to be bearish for the price of Bitcoin.

On the other hand, the indicator having values lesser than 85% can imply whale selling in the market is at a healthy level right now. During bull runs, the metric usually remains in this range.

Related Reading | Bitcoin Market Plunges Into Extreme Fear, How Scary Does It Get?

Now, here is a chart that shows the trend in the Bitcoin exchange whale ratio (72-hour MA) over the course of 2022 so far:

The indicator's value seems to have surged up recently | Source: CryptoQuant

As you can see in the above graph, the Bitcoin exchange whale ratio has shot up and is now approaching the 90% mark.

This suggests that whales may be starting to ramp up their dumping right now. Earlier in the month, the ratio exceeded the 90% point and the coin’s price plummeted down to below $26k.

Related Reading | New Data Shows China Still Controls 21% Of The Global Bitcoin Mining Hashrate

If the indicator keeps rising and a similar trend follows this time as well, then more downside could be in store for the cryptocurrency.

BTC Price

At the time of writing, Bitcoin’s price floats around $29.7k, down 6% in the last seven days. Over the past month, the crypto has lost 25% in value.

The below chart shows the trend in the price of the coin over the last five days.

Looks like the price of the crypto has mostly moved sideways over the past few days | Source: BTCUSD on TradingView

Since Bitcoin’s quick rebound back above the $30k level from the crash down to below $26k, the coin hasn’t shown much movement.

At the moment, it’s unclear when BTC may break out of this consolidation that it has been stuck in during the past week.

Featured image from Unsplash.com, charts from TradingVIew.com, CryptoQuant.com
- Best Owie
LUNA Supply Nears 7 Trillion, Is $1 Still Possible?

The circulating supply of LUNA has continuously gone up since the UST debacle began. This has mainly been from people redeeming their staked UST for the digital asset, which caused its supply to rise drastically in such a short amount of time. In turn, the price of LUNA had declined to reflect the enormous amount of tokens that were being dumped into the market. Now that the dust has finally begun to settle, the question remains where the price of the asset might end up.

$1 LUNA Still Possible?

Now, it may sound comical to debate whether the price of LUNA would be able to return back to $1 given that less than two weeks ago, the price was sitting above $100. However, this is the case as the digital asset is now about four zeros short of $1 and even that seems a generous value. What is on the minds of investors now is if the price of the digital asset would ever be able to recover in any meaningful way.

Related Reading | TerraLabs Sold Over 80,000 BTC To Rescue Its Stablecoin, Luna

To really assess if LUNA can recover to $1, the first thing to look at is the circulating supply of the digital asset. In less than two weeks, it has grown from a little over 300 million to almost 7 trillion tokens in circulation at the time of this writing. When the supply still remained above 300 million, the price was trending at $100, meaning that its market cap at that time was averaging around $33 billion depending on the price fluctuations.

Presently, the total supply of the digital asset has now grown by more than 1,000,000% to be sitting at a little over 6.9 trillion tokens, according to CoinMarketCap. For LUNA to get to $1, it would mean that the market cap would have to touch $7 trillion, and that is if the current supply stays stable. This is presently impossible given that the whole crypto market cap at its highest was at $3 trillion.

LUNA trending low at $0.00018 | Source: LUNAUSD on TradingView.com

However, for LUNA to get to its previous market cap before the crash, the token would have to be trading at $0.005. Since a $33 billion market cap remains in the realm of possibility, it is safe to say that this is still within reach. 

Related Reading | LUNA Aftermath: Total Crypto Market More Oversold Than Black Thursday

One thing to take into account though is the investor sentiment. So many people have lost hundreds of millions of dollars to the token that faith in it has been depleted. Thus, with any significant rise in price, there are set-offs that rock the token price back down.

This leads to the conclusion of this analysis which is that the price of LUNA could possibly climb back up to $0.005. But with current market conditions, this may not happen in the short-term and is entirely dependent on if the supply stops growing.

Featured image from TheNewsCrypto, chart from TradingView.com

Disclaimer: The following op-ed represents the views of the author, and may not necessarily reflect the views of Bitcoinist. Bitcoinist is an advocate of creative and financial freedom alike.

Follow Best Owie on Twitter for market insights, updates, and the occasional funny tweet… 

- NewsBTC
Sneakmart Brings Its Web3-oriented Metakicks NFTs To Market In June 2022

Various Metaverse and NFT initiatives aim to blur the line between the virtual and physical worlds. Sneakmart and its Metakicks NFT drops offer something virtual for sneaker collectors, with a chance to win physical items. The team works together with StockX and top-rated football stars and artists to tokenize limited-edition footwear.

Metakicks Are Coming This June

The Sneakmart team has built a strong reputation through its community-driven mobile app for streetwear enthusiasts. Moreover, they see merit n the NFT phenomenon and how it can prove beneficial to the $6 billion sneakers resale market. Accessing physical drops of limited-edition sneakers has proven very difficult for many, as there is so much competition. As a result, one has a very small chance of “getting in” on these drops today.

Changing that narrative is not easy, as limited editions are designed to be very scarce. However, there are ways to enhance the overall utility and access to these collections with the help of non-fungible tokens. For example, the Metakicks NFT collection by Sneakmart will span 6,250 mystery boxes, each of which has a 10% chance to give its owner access to a limited-edition pair of physical sneakers. The virtual sneakers, tokenized as NFTs, can be used to customize one’s Metaverse avatar.

The collaboration with StockX will enable the shipping and delivery of the 625 pairs of physical sneakers. StockX is the leading global streetwear platform and will ship Dunk Lows, Jordan 4s, and Adidas Yeezy 350s to lucky winners. A total of 25 unique models will find a new home, along with two Jordan 1 Dior pairs and two pairs of Jordan in collaboration with Travis Scott. The total value of physical pairs is over $200,000.

There are also various one-of-one collaborations between Metakicks and international soccer players like Didier Droga, Kinsley Coman, and Marco Verratti. These limited-edition kicks will be auctioned in OpenSea before the Metakicks NFT collection drops in June 2022. Winners of these auctions can gain real-life benefits, including VIP access to soccer games, meet-and-greet opportunities, and signed merchandise. The Metakicks team will pursue other 1-of-1 collaborations with brands and Web3 communities.

Over A Dozen Unique Designs

The first Metakicks collection will feature 15 unique designs, depicting unique 3D animated sneakers. Moreover, there are various backgrounds, shapes, materials, textures, and colors. Inspiration for these unique assets comes from Sneakmart’s expertise in buying, reselling, and collecting iconic pairs of sneakers. Additionally, the designs have four rarity tiers – rare, super rare, epic, and legendary – based on their designs, shape, texture, and materials.

Regardless of which virtual design one draws, there is no link between the virtual kicks and the physical sneakers one can win, creating an extra degree of randomness and excitement. Holders of Metakicks NFTs do not need to open their mystery box if they prefer keeping it closed. However, one will not know if they won a physical pair without opening the box.

The approach by Sneakmart puts a new spin on the ever-popular sneaker industry. Valued at over $6 billion in 2019, the resale vertical of this industry notes explosive growth. NFTs tied to real-world experiences and the potential to win physical sneaker pairs create a new paradigm for enthusiasts and collectors to explore.  It also signifies the importance of fashion in the incumbent Web3 and Metaverse ecosystem.

 

 

 

- NewsBTC
The Evolution of Gaming and Its Integration into the Crypto Universe

From arcade systems to home consoles and mobile apps, gaming has made its way into the lives of billions across the world. As a result, gaming is a popular activity for many in the modern age and remains one of the globe’s most profitable industries.

The first recognized example of a gaming machine debuted at the 1940 New York World’s Fair and was based on the ancient game of Nim. Played by about 50,000 people, the computer won more than 90% of the time. In the mid-20th century, gaming was regarded as an oddity and primarily was just the subject of scientific and academic research projects.

It was not until 1967 that the first prototype multiplayer video game system emerged. By 1972, the design turned into the Odyssey console that later inspired Atari’s Pong video game.

The 1990s finally brought the gaming industry to prominence. The rise of 3D gaming and successful franchises like Mortal Kombat and Sonic the Hedgehog cultivated generations of loyal gamers. Interest in gaming also established companies like Nintendo and Sony as household names.

The Internet Revolution And The Rise Of Modern, Digital Gaming

The rise of the internet and better computer processing power ushered in new gaming frontiers. Games and graphics became more intricate while internet servers allowed global gamers to play together. In addition, online storefronts like the Apple App Store and Xbox Live Marketplace made buying and updating games much more effortless. Ease of access through these tools helped bring gaming into popular culture.

In 2018, a Newzoo report revealed how mobile gaming revenue had captured more than 50% of the global gaming market, bringing in about $70 billion in revenue after enjoying a decade of double-digit growth.

By 2021, the worldwide gaming market revenue had jumped to $178.2 billion as continued technological innovation led to more impressive year-over-year totals. Estimates project the number of global video game players will jump to just over 3 billion in 2023, up from 2.69 billion in 2020.

While the popularity of titles like Lost Ark, Fortnite, and PlayerUnknown’s Battleground has drawn many to the gaming industry, growth also comes through the marriage of cryptocurrency and gaming, primarily through the ‘play-to-earn’ model.

Blending entertainment with financial speculation, Axie Infinity users can buy NFTs and use their virtual ‘creatures’ to win battles and create new NFTs. The platform made $1.3 billion in revenue in 2021. From Q1 2021 to the same period in 2022, blockchain-based gaming jumped by 2,000%.

Crypto Developers Look To What Works In Traditional Gaming And Aim To Replicate

Crypto gaming has grown in popularity as developers work to understand how to welcome traditional gamers into the Web3 world. One strategy is to offer free-to-play gaming options for those who might be newer to the cryptocurrency world, following in the legacy of apps like Angry Birds or Candy Crush that allowed users to jump into a game quickly.

Crypto gaming’s social aspects are also taking shape as guilds and DAOs begin to spring up in conjunction with the space’s more popular titles.

But the play-to-earn model, where crypto users can collect assets while playing, stands as one of the most transformational aspects of the gaming world. The structure brings in a shift from a ‘publisher or developer first’ game economy to a ‘player first ecosystem’ where gamers stand to benefit instead of companies releasing titles.

As a result, play-to-earn games like Axie Infinity and DeFi Kingdoms continue to grow in popularity as gamers flock to platforms where they can enjoy an energetic community and win. The technology continues to prove its potential as projects like Illuvium, one of the most anticipated blockchain titles in the gaming industry, develop gameplay similar to most AAA games available today. There is no doubt that the potential for play-to-earn games is nearly limitless. They can cater to different gaming genres, one being a classic card trading game where users can hold their card packs as NFTs. One project that aims to do just that is Shiryo. Shiryo players will be able to mint packs of NFT cards, form decks, and compete against each other in individual games and weekly competitions for rewards that include tokens, cards, card packs, and avatars.

Powered by the Ethereum blockchain, Shiryo’s multiplayer experience comes from Amazon’s AWS Gamelift service, as traditional platforms like Steam do not allow NFT-based games. Team members plan to release more packs and boost gameplay in the future after launching the first couple of phases in late 2021.

Continued investment from venture capital firms and the play-to-earn model’s popularity only attracts more people to blockchain-based gaming. As a result, the industry remains strong even amid immense volatility in cryptocurrency markets.

Crypto gaming only looks to accelerate as more people, especially traditional gamers, get comfortable with virtual currencies and see how crypto-focused games continue to deliver on their promises.

 

- Tony Spilotro
LUNA Aftermath: Total Crypto Market More Oversold Than Black Thursday

Panic struck the crypto market last week when Bitcoin broke below support, stablecoins unpegged from the dollar, and LUNA dropped to zero. The bloody aftermath has left cryptocurrencies as a whole more oversold than the Black Thursday COVID collapse.

Here is a closer look at the historically oversold conditions in crypto.

Total Crypto Market More Oversold Than Black Thursday

It was a bloodbath in Bitcoin, apocalypse in altcoins. Even stablecoins pegged to the price of the almighty dollar were completely shaken. A nefarious actor or group of actors strategically attacked the dollar-peg of the UST stablecoin, causing a domino effect of algorithmically driven liquidation of reserve assets that included BTC.

Related Reading | This Expanding Triangle Pattern Could Be The Last Hope For Bitcoin Bulls

Bitcoin plunged through support and many altcoins reached a total drawdown of 80 to 90% or more. LUNA, an asset tied to UST, fell all the way to zero. Billions were wiped out from the total crypto market cap. If there was ever a time to be doubtful about the future of crypto, it might be now. However, market veterans recommend when things become doubtful, you zoom out.

The weekly RSI is more oversold than on Black Thursday | Source: CRYPTOCAP-TOTAL on TradingView.com

“When in doubt, zoom out,” holds true in this case. Comparing the recent crypto selloff with Black Thursday, the weekly RSI has reached even more extreme oversold levels. Meanwhile, the Black Thursday candle recorded a 50% drawdown, and the latest correction by contrast barely produced 30%.

By definition, a hidden bullish divergence occurs when an asset’s price sets a higher low, yet the indicator sets a lower low. This often indicates continuation ahead.

 

Elliott Wave Theory suggest the cycle isn't complete  | Source: CRYPTOCAP-TOTAL on TradingView.com Could Another 45% Collapse Still Be Ahead?

Elliott Wave Theory could provide clues as to what continuation might look like ahead. The total crypto market cap is also trading within a parallel channel, of which it just touched the bottom of. The upper boundary of the channel is roughly $10 trillion USD.

Related Reading | Bitcoin Bear Market Comparison Says It Is Almost Time For Bull Season

While that fact might be the hope bulls need right now, bears still could have the last laugh. The weekly RSI has now reached the lowest level since the bear market bottom and the fourth lowest in its history on TradingView.

Only three other times has the total crypto market cap been more oversold  | Source: CRYPTOCAP-TOTAL on TradingView.com

Of the three previous lows set on the weekly RSI, two were bear market bottoms. The remaining low, however, was followed by another 45% plunge to the final bottom. Another 45% drop from here would take the total crypto market cap back to around $600 billion, or below the January 2018 cycle peak.

Simply put, risk is still extremely high, but as oversold conditions increase, so does the potential for reward. Act accordingly.

Follow @TonySpilotroBTC on Twitter or join the TonyTradesBTC Telegram for exclusive daily market insights and technical analysis education. Please note: Content is educational and should not be considered investment advice.

Featured image from iStockPhoto, Charts from TradingView.com
- Naveed Iqbal
TerraLabs Sold Over 80,000 BTC To Rescue Its Stablecoin, Luna

The crypto market has experienced many bloodbaths in the past. But last week’s crash had more catastrophic effects on the market than recent bearish trends, mainly on the stablecoins. UST, a stablecoin issued by Terraform Labs, is an example that stunned the crypto world as the coin collapsed and dropped its value from $1 to $0.15 between May 9 to May 14, nearly losing 85% of its value.

Afterward, on May 16, the Luna Foundation Guard (LFG) announced on Twitter that they had sold out their Bitcoin (BTC) reserves between May 8 to 10 to rescue its stablecoin.

Related Reading | Bitcoin Marks Seven Consecutive Red Candles, Paints Gruesome Picture For Market

It was not the first time a crypto project collapsed. But the previous collapse had not the terrible effects as the stablecoin UST has suffered in the most recent bloodbath.

LFG, an organization aimed at supporting the blockchain innovators developing a decentralized economy, revealed its reserves of 80,394 BTC and other digital currencies it held as of May 07, 2022.

The Foundation reportedly began converting its assets into reserves against UST on May 8, 2018, when UST’s price fell significantly. It took these steps immediately since it is a non-profit firm with a primary motto to strengthen Terra’s ecosystem. 

Similarly, the firm explained it quickly shifted the asset by transferring the digital assets to a counterparty, which does not require short notice to allow large-sized transactions.

Luna’s price currently stands at $0.00020. | Source: LUNA/USD price chart from TradingView.com LFG Strives To Maintain Luna Peg

In line with the Master Services Agreement that was inked on January 10, 2022, TerraForm Labs (TFL), on May 10, said it managed to execute all financial, administrative, and operational duties that were needed to back its coin when the value of Terra’s $UST had decreased to $0.75.

In its desperate attempt to maintain the value of the peg, TerraLabs, relying on the LFG, had carried out the following BTC exchange besides others.

“LFG sold 33,206 $BTC for an aggregate 1,164,018,521 $UST.”

Speaking about the remaining 313 BTC in circulation, the Luna Foundation has announced that it plans to distribute them among Terra’s community to reimburse affected users.

The LFG revealed in a tweet;

The Foundation is looking to use its remaining assets to compensate remaining users of $UST, smallest holders first. We are still debating through various distribution methods; updates to follow soon.

Suffering the effect of collapse, the Luna made the deepest dive on Saturday when it sniffed the bottom. Afterward, the volatile token skyrocketed and gained a whopping $720% in just 24 hours, reaching its value at $0.00040154. Likewise, Luna’s trading volume surged 1000% after the TFL restarted its block production after a 9-hour halt.

Related Reading | Ripple (XRP) Price Picks Up As SEC Legal Showdown Drags On

As things stand now, it’s hard to speculate whether or not the Terra network can recover from such a huge loss. But, the recent gains give frustrated investors momentary ease. And it remains to see whether the token will have the potential for full-fledged recovery.

Featured image from Pixabay and chart from TradingView.com

 

- NewsBTC
Unizen Grows Its CeDeFi Exchange, Adding ZCX/USDT Trading Pair Into The Mix

CeDeFi exchange platform Unizen is adding new options for holders of its utility token with the addition of the ZCX/USDT trading pair on its platform.

Unizen is the operator of a smart exchange platform that’s focused on marrying centralized and decentralized exchanges, a concept known as CeDeFi. Its platform operates under customary financial regulations yet also plays nicely with modern innovations within the world of decentralized finance. Through Unizen, traders get to access the liquidity of centralized exchanges and the unique functionality of various DeFi apps, along with the best possible rates when trading different assets.

Besides its advanced trading options, Unizen offers Dynamic Multi-Asset Staking functionality where users can stake their ZCX tokens in an array of liquidity pools to earn rewards in multiple kinds of crypto assets.

ZCX also enables governance, with holders able to vote on various issues affecting the platform that require the community’s consensus. In addition, ZCX holders get to participate in crowdfunding on ZenX Labs, which is Unizen’s accelerator for emerging crypto projects.

Given the versatility of the ZCX token it has seen big demand from Unizen’s community. There will likely be a lot of interest in the ZCX/USDT trading pair, which gives holders the ability to easily swap their tokens with Tether stablecoins.

There is more to come as well, as Unizen has promised that this is the first of many new listings to emerge on its platform. Over the coming weeks and months, Unizen said plans to launch multiple new trading pairs that will provide additional options and opportunities for its users.

As to what those new pairs will be, that hasn’t been revealed. However, Unizen said the forthcoming pairs will include a number of “partner projects” as well as the winners of its “Tournament of the Alt” competition. With so much to look forward too, Unizen believes its platform is all set to become the “destination of choice” for retail and institutional investors looking to explore the emerging world of CeDeFi.

 

Image source: Unizen
- Eduardo Próspero
New Data Shows China Still Controls 21% Of The Global Bitcoin Mining Hashrate

China is back with a vengeance. The Cambridge Centre for Alternative Finance, or CCAF, collected data “spanning the period from September 2021 to January 2022” for their latest study. The headline is that, ban or no ban, the Asian country controls 21% of the Global Bitcoin mining hashrate. Since June 2021, here in NewsBTC, we’ve been wracking our brains trying to figure out why did China ban bitcoin mining. Maybe we were barking at the wrong tree the whole time. 

According to the CCAF’s numbers, unsurprisingly the “US has remained at the forefront of Bitcoin mining and extended its leading position (37.84%).” For their part, “China has re-emerged as a major mining hub (21.11%). Kazakhstan (13.22%), Canada (6.48%), and Russia (4.66%) have been relegated to more distant places.” Let’s see what else can we learn from the CCAF’s numbers.

Is China All The Way Back? How Did This Happen? 

As it turns out, the CCAF analysis uncovered numbers that “strongly suggest that significant underground mining activity has formed in the country”. Can we be sure that the explanation is real? And if it is, how did the underground China bitcoin mining industry surge so fast?

“Following the government ban in June 2021, reported hashrate for the entire country effectively plummeted to zero during the months of July and August. Yet reported hashrate suddenly surged back to 30.47 EH/s in September 2021, instantly catapulting China to second place globally in terms of installed mining capacity (22.29% of total market).”

The report wonders what happened, “a comeback of this magnitude within the period of one month would seem unlikely given physical constraints, as it takes time to find existing or build new non-traceable hosting facilities at that scale”. And theorizes that maybe the underground miners were using VPNs to hide their location and then, suddenly, decided that they were safe enough to stop hiding. Which seems unlikely.

BTC price chart for 05/18/2022 on Bitfinex | Source: BTC/USD on TradingView.com Non-China Countries

Sadly but predictably, the study also found out that “the hashrate recovery has not been distributed evenly”. How did the non-China countries in the Top 5 do?

The United States “surpassed the rest of the world in terms of hashrate growth. This is evidenced by installed capacity surging from 42.74 EH/s (35.40%) in August 2021 to 70.97 EH/s (37.84%) in January 2022.” In Kazakhstan, for their part, “Total hashrate continued to increase in September and peaked at 27.31 EH/s in October, until repeated power outages towards the end of last year, and a week-long internet shutdown earlier this year, forced miners to temporarily suspend operations.” Surprisingly, “Russia on the other hand not only experienced a substantial drop in relative hashrate share from 11.23% in August 2021 to 4.66% in January 2022, but also a significant decline in total installed mining capacity contribution from 13.56 EH/s to 8.74 EH/s over the same period.” Last but not least, “Canada experienced only a moderate increase in its hashrate from 11.54 EH/s in August 2021 to 12.15 EH/s in January 2022, which resulted in a loss in market share from 9.55% to 6.48% as total network hashrate was growing significantly faster. ” The CCAF Spreads FUD

Of course, the Cambridge Centre for Alternative Finance couldn’t pass the opportunity to spread some unfounded rumors about bitcoin mining. This is what the CCAF said: 

“These geographic shifts in mining activities bring to the fore how relocations impact the overall sustainability of the network. For instance, recent research has suggested that the Chinese decision to ban Bitcoin mining has indeed worsened – rather than improved – Bitcoin’s environmental footprint.”

The CCAF is using this study’s findings, which basically says that they NOW believe what bitcoiners always said. That China was mostly using hydropower energy for bitcoin mining, and not coal. The fact is, as far as using green energy goes, bitcoin mining continues to be the cleanest industry in the world. 

Whenever we find intentional FUD spreading like this one right here, we have to check out who paid for the study. As it turns out, the numbers come directly from the Cambridge Digital Assets Programme. The CCAF host the CDAP “in collaboration with 16 prominent public and private institutions”. Among them, we find the International Monetary Fund (IMF), Mastercard, Visa, and the World Bank.

And right then, everything made sense.

Featured Image by PublicDomainPictures from Pixabay | Chart by TradingView
- Jet Encila
Ripple (XRP) Struggles To Breach $0.45 Level, Down 16% In Last 7 Days

Ripple (XRP) has managed to make a quick rebound at the end of the week. That said — will Ripple go bullish at least for the short term?

On the chart, XRP is seen to be cascading downward. The current support zone is set at $0.33 which has helped skew the decline in price.

Now, in order to stay afloat, the bulls should manage to keep Ripple’s price point above this mark. When done successfully, Ripple (XRP) will tend to move above the static resistance line; specifically at $0.55, and then move to $0.68.

As of this writing, the crypto is trading at $0.430831 on Coingecko, down 16% in the last seven days.

Suggested Reading | Cardano (ADA) Could Slide Back To $0.40 – But $0.68 Still Doable

SEC Vs. Ripple Case – Receiving Positive Response

Sunday was a good day for Ripple as it went up by 5.07% which happened following Saturday’s gain of 0.92%  However, XRP ended the week on a sour note as it spiraled down by 21% to $O0.4475. XRP was down despite the positive turnout on Ripple’s court submission on Friday following the SEC v. Ripple case.

Ripple has evidently filed a reply last week to SEC in relation to the William Hinman’s speech made in 2018.  Hinman, ex-SEC Director of the Division of Corporation Finance, is the main or pivotal figure in this legal battle between SEC and Ripple.

In Hinman’s speech in 2018, he mentioned that Bitcoin and Ethereum are not securities. SEC is now trying to cover up emails and other documents such as Hinman’s declaration or speech and other private or internal discussions that can be used as evidence.

XRP total market cap at $20.76 billion on the daily chart | Source: TradingView.com Ripple On Reversal?

A lot of indicators show that Ripple is oversold which means it can push towards an upward trend in the short term. Now, to validate that reversal, the price must overshoot towards a higher high and onto a higher low. The price should be pulled to a price of $0.65 to create a bullish momentum.

Additionally, the structure can be dubbed bullish if Ripple manages to go to a higher high right above the resistance zone. However, its last ascending wave seems weak which means a retest is a possibility. More so, the resistance zone also goes through an Ichimoku cloud, making it entirely difficult for the bulls to maneuver through.

Suggested Reading | Crypto Analyst Predicts 1 Altcoin Will Fall Down Hard – Is It Cardano?

As Ripple’s price got to the green zone thrice in the past year, it can now be regarded as weaker support. Now, if the bearish trend declines, the demand would most likely struggle in meeting the supply, especially with another retest of support.

Featured image from Profit Confidential, chart from TradingView.com
- bitFlyer Europe
Referral Program now available on Web!
Referral Program now available on Web!

Today we launched our Referral Program on Web! Both you and your friend will get €10 worth of Bitcoin each when your friend creates an account, makes a deposit and trades €100 of crypto or more.

How does it work?

1. Log into your bitFlyer account on your Web Browser.

2. Click on the "Referral Program" Tab

3. Get your own referral link from the “Share with friends” buttons.

Referral Program now available on Web!Referral program on Web

4. Choose a friend and send the link with an invitation.

5. Your friend needs to click on the link, then create a bitFlyer account. They should fill out Invitation code which is in the invitation. Without the code, both you and your friends will not be eligible for the rewards.

Referral Program now available on Web!Invitation Code Input Location

6. Your friend makes a deposit and trades €100 or more worth of any crypto. (Crypto deposit is not eligible for this program)

7. Both you and your friend receive €10 worth of Bitcoin!

Details about the program

The rewards will be sent out within 24 hours after your referral deposits and trades €100 or more and there is no upper limit to the number of people that can be referred.

Your friends can trade crypto on Buy/Sell or using Instant Buy and Recurring Buy features. Trading activity generated on the bitFlyer Lightning platform is excluded.

If you have more questions, please visit our FAQ or contact us.

Ready to get started?

Already a bitFlyer customer? Login Now!

Ready to join us? Register on bitFlyer!

Our referral program is also available on our App!

Referral Program now available on Web!Referral Program now available on Web!

Disclaimer:

• To be eligible to participate, individuals must be at least eighteen (18) years of age.

• To be eligible to participate, individuals must be residing within the European Economic Area.

• To be eligible to participate, individuals must be upgraded to Trade PRO on the bitFlyer platform

• bitFlyer accounts are limited to one account per person. Customers who already have a bitFlyer account before the initiation of this referral program can not create duplicate accounts.

• Customers who have closed their bitFlyer account at the time of granting the rewards are not eligible for this program

• If a referred user fails to complete the requirements to obtain a bonus within 90 days of opening his or her account, neither party will receive a bonus.

• To be eligible for the referral bonus payout, individuals must deposit 100EUR or more by bank transfer, Paypal or credit card. Crypto deposits are not eligible to qualify under this program.

• To be eligible for the referral bonus payout, all qualifying trades must be placed via bitFlyer’s Buy/Sell Marketplace options (Instant buy or Recurring buy). Lightning exchange orders are not eligible to qualify under this referral program.

• Opening an account through any method other than the invitation URL will forfeit eligibility for this program.

• Customers who had a bitFlyer account before the start of this program are not eligible to be referred.

• Customers who have frozen or restricted accounts before the start of this program are not eligible for this program.

• The rights acquired through the program cannot be transferred to another person.

• The BTC/EUR exchange rate will be based on the rate on our exchange platform at the time of rewarding.

• The purpose of this program is to attract new customers and reward those customers who genuinely intend to become our active  customers and use our services. Therefore if we detect certain behavior indicating that an individual is using this referral program for the sole purpose of collecting rewards without genuine intention to use our service, we may disquality eligibility for the program in such cases. For example, customers who meet the following criteria may forfeit their eligibility to receive rewards. Even if the rewards have already been granted, they may be recollected. Eligibility for further participation in this program may also be forfeited.

• If it has been identified that the customer has more than one account

• If the registered email address is unable to receive emails or does not receive the email sent for this program

• If the account was created using false information

• If we discover any fraudulent activity such as spoofing, affiliates, etc.

• Any other action that is deemed to violate our Terms of Use, illegal, or failure to meet our requirements

• Please note that the list is not exhaustive.

• In case of recollection, whichever is available and has the higher value of the below will be recollected from the customer's account. The crypto/EUR rate will be based on the rate on our exchange platform at the time of recollection.

• Amount of BTC granted as the reward;• 10€ worth of other crypto held (in case there is no BTC available); or 10€

• We will not respond to any inquiries regarding customers eligibility.

• Please refer to our Privacy Policy for information on how we handle personal information. bitFlyer may change, suspend, cancel, or terminate some or all of the parts of this program without prior notice. bitFlyer is not responsible for any losses incurred due to changes, suspension, cancellation, or termination of this program.

• This program is subject to change, suspension, or cancellation without notice.

• If you have any questions about this program, please contact us info.eu@bitflyer.com.

- bitFlyer Europe
New Coins available to Trade on bitFlyer Europe!
New Coins available to Trade on bitFlyer Europe!

Our selection of coins to trade on our platform just got larger! With the addition of 4 new coins, we wanted to give our customers more choice in their trading journey and help them to discover exciting cryptocurrency projects.

The 4 coins that have been added to our platform are:

Polkadot (DOT)Stellar (XLM) Tezos (XTZ)Basic Attention Token (BAT)

All 4 coins will be added to our Buy/Sell service as of today on both our App and on our Web platform.

New Coins available to Trade on bitFlyer Europe!The new coins on Buy/Sell

Check out our new coin selection now!

Go further on bitFlyer with our App, as you can earn BTC with our referral program:

New Coins available to Trade on bitFlyer Europe! New Coins available to Trade on bitFlyer Europe!

Don't forget that you can set up a recurring order for all our new coins on our Recurring Buy Service:

New Coins available to Trade on bitFlyer Europe!Recurring Buy is now also available on our Web platform!

Already a bitFlyer customer? Buy Now!

Ready to join us? Register on bitFlyer!

- bitFlyer Europe
Recurring Buy now available on Web!
Recurring Buy now available on Web!

As of today, our "Recurring Buy" feature is available on our Web Platform, which means our users can now purchase crypto automatically with as little as 10 EUR directly from their browser.

Recurring Buy is available on the left hand side menu after you log into your account.

Recurring Buy now available on Web!Recurring Buy on WebThe smartest and easiest way to invest in cryptoSimple SetupSchedule a recurring buy in a few stepsAutomatic PurchasesBuy crypto daily, weekly, biweekly or monthlyStart Small or Go BigSet up regular purchases as low as €10 or as high as €10,000Available crypto

Recurring buy can be used with all 7 types of cryptocurrencies currently handled on our platform:

Bitcoin (BTC)Ethereum (ETH)Ethereum Classic (ETC)Litecoin (LTC)Bitcoin Cash (BCH)Monacoin (MONA)Lisk (LSK)Purchase frequency

You can select from daily, weekly, biweekly and monthly.

Minimum purchase amount

It can be set from as little as 10 EUR.

Recurring Buy fee

There is no additional fee for Recurring Buy. Click here for details on other fees.

Available devices

Apart from Web, our recurring buy feature is also available on our mobile app "bitFlyer wallet" (iOS, Android).

Recurring Buy now available on Web! Recurring Buy now available on Web!

Already a bitFlyer customer? Login! New to bitFlyer? Register now!

Important notes :

*Please ensure that there are sufficient funds in your bitFlyer account before the scheduled day of purchase. If there is an insufficient balance, the purchase will not be executed.

*Unless a purchase is not executed, the automatic purchase scheduling will not be cancelled.

*The time for purchase cannot be specified. bitFlyer will decide the time of purchase on the designated date.

*The rate used at the time of purchase will be based on the price on our Buy/Sell service.

*System troubles on the bitFlyer side may cause the purchase not to be executed. In that case, no automatic purchase will be executed until the next scheduled purchase.

- bitFlyer Europe
Introducing our New Logo!
Introducing our New Logo!

Today, we present you the new brand logo of bitFlyer! Let’s take a look at what changed:

Introducing our New Logo!Old Logo and New Logo

In this update, we have retained the best features of the former Logo and changed the colors to be brighter and more vivid.

Additionally, the font used in the new Logo is unique to bitFlyer but remains reminiscent of our previous one.

This change will be reflected on our Web platform as well as on our iOS and Android App.

If you’re curious to check our new Logo by yourself, sign in to your account:

Already a bitFlyer customer? Login! New to bitFlyer? Register now!

Alternatively, download our App today:

Introducing our New Logo! Introducing our New Logo!
- bitFlyer Europe
Our new Funding Page is here!
Our new Funding Page is here!

We are happy to announce that we have updated the user interface of our Funding page on the Web (desktop version).

Our new Funding Page is here!New look of our Deposit EUR page

With the introduction of a sidebar on our Funding page, navigating between coins or deposit methods has never been easier!

Additionally, the simplified interface allows for a smoother experience when trying to deposit or withdraw your funds on our platform.

Our new Funding Page is here!New look of our Deposit BTC page

Check out our new Funding page today!

Already a bitFlyer customer? Login! New to bitFlyer? Register now!
- bitFlyer Europe
Happy Bitcoin Pizza Day 2021!
Happy Bitcoin Pizza Day 2021!

Today is May 22nd, which means it's Pizza Day for the Bitcoin/Crypto community!

On May 22nd 2010, Laszlo Hanyecz bought two Pizzas for 10,000 BTC, which was worth around €33.00 back in 2010. This payment now acts as a milestone for the digital currency, and is acknowledge to be one of the first purchases of a product with Bitcoin.

In case you are new to Bitcoin, here is a quick guide to get you up to speed:

What is Bitcoin? - A bitFlyer Academy Guide for BeginnersLaunched in 2009, Bitcoin is the world’s first cryptocurrency, also known as “Digital Gold”. Satoshi Nakamoto, the pseudonymous founder, introduced Bitcoin as ‘Open Source Peer-2-Peer Money’ for secured, verifiable digital transactions without involving intermediaries like banks.Happy Bitcoin Pizza Day 2021!bitFlyer EuropebitFlyer EuropeHappy Bitcoin Pizza Day 2021!

As of today, and for the 11th birthday of Pizza Day, 1 Bitcoin is worth around €30,000, which means Laszlo bought two Papa John's Pizzas, for €300 Millions if it happened today. Just wow.

Happy Bitcoin Pizza Day 2021!Check our BTC Chart pageHow much was Bitcoin that day?

Have a look at our blogpost from last year, when we celebrated the 10th anniversary of the Pizza Day with this jaw-dropping infographic:

From two pizzas to your own private island: Tracking the value of 10,000 Bitcoin to celebrate Bitcoin Pizza Day 2020We have done a bit of research to find out what you could have bought with 10,000 bitcoins on Bitcoin Pizza Day in 2010 all the way up to today. So what might those bitcoin millionaires amongst you choose to buy to celebrate ten years of Bitcoin Pizza Day?Happy Bitcoin Pizza Day 2021!bitFlyer EuropebitFlyer EuropeHappy Bitcoin Pizza Day 2021!Refer a friend, get a Pizza... Sort of!

Fancy a Pizza yourself today? Well we can help! Successfully refer a new user to bitFlyer and treat yourself with the 10€ reward!

bitFlyer Referral Program - Invite friends, get free BTC!Today we launched our new Referral Program where you and your friends can earn rewards! Both you and your friend will get €10 worth of Bitcoin each when your friend creates an account and trades €100 of crypto or more.Happy Bitcoin Pizza Day 2021!bitFlyer EuropebitFlyer EuropeHappy Bitcoin Pizza Day 2021! Already a bitFlyer customer? Login! New to bitFlyer? Register now! Happy Bitcoin Pizza Day 2021! Happy Bitcoin Pizza Day 2021!
- bitFlyer Europe
The updated interface of Buy/Sell on the web is here!
The updated interface of Buy/Sell on the web is here!

We are happy to present you our new interface of Buy/Sell available on the web (both desktop and mobile). Let’s see what are the new functionalities:

The updated interface of Buy/Sell on the web is here!News articles - up to three the most important articles from the cryptocurrency industry daily. Market Statistics - the highest and lowest movements of the prices and market capitalization in the last 24 hours.Currency description of each coin available on the bitFlyer platform.Trading History - clear overview of the history of your orders.

The web version of updated Buy/Sell functionality is also available on mobile:

The updated interface of Buy/Sell on the web is here!The updated interface of Buy/Sell on the web is here!

Trading crypto has never been easier! Check the new functionalities on your own today.

Already a bitFlyer customer? Login! New to bitFlyer? Register now!
- bitFlyer Europe
New home screen for our iOS and Android app is now live!
New home screen for our iOS and Android app is now live!

Today, we present you our new home screen of the bitFlyer App for iOS and Android! Let’s take a look what changed:

1. New interactive home screen banners that will allow you to make a quick action:

New home screen for our iOS and Android app is now live!

2. Display of the coins with the biggest movements in the last 24 hours:

New home screen for our iOS and Android app is now live!

3. Direct banners to our special offers and blog so you don’t have to look for them inside the app!

New home screen for our iOS and Android app is now live!

If you’re curious to check the improvements by yourself, download now the bitFlyer App:

New home screen for our iOS and Android app is now live! New home screen for our iOS and Android app is now live!Start trading today!

Go further with the bitFlyer with our App, as you can setup recurring purchases and earn BTC with our referral program.

Set up regular crypto purchases with Recurring Buy, now live on our App!Today, we are launching a new “Recurring Buy” feature, which means our users can now purchase crypto automatically with as little as 10 EUR by a simple set up. You can use it from our mobile app “bitFlyer wallet”, available on both iOS and Android.New home screen for our iOS and Android app is now live!bitFlyer EuropebitFlyer EuropeNew home screen for our iOS and Android app is now live!bitFlyer Referral Program - Invite friends, get free BTC!Today we launched our new Referral Program where you and your friends can earn rewards! Both you and your friend will get €10 worth of Bitcoin each when your friend creates an account and trades €100 of crypto or more.New home screen for our iOS and Android app is now live!bitFlyer EuropebitFlyer EuropeNew home screen for our iOS and Android app is now live! Already a bitFlyer customer? Login! New to bitFlyer? Register now!
- bitFlyer Europe
bitFlyer Referral Program - Invite friends, get free BTC!
bitFlyer Referral Program - Invite friends, get free BTC!

Today we launched our new Referral Program where you and your friends can earn rewards! Both you and your friend will get €10 worth of Bitcoin each when your friend creates an account, makes a deposit and trades €100 of crypto or more.

Our Referral Program now available on Web!Today we launched our Referral Program on Web!bitFlyer Referral Program - Invite friends, get free BTC!bitFlyer EuropebitFlyer EuropebitFlyer Referral Program - Invite friends, get free BTC!bitFlyer Referral Program - Invite friends, get free BTC! bitFlyer Referral Program - Invite friends, get free BTC!How does it work?

1. Make sure you have the latest version of the App on your phone or tablet.

2. Open your bitFlyer App and go to the “Invite Friends” section accessible from the Menu

bitFlyer Referral Program - Invite friends, get free BTC!

3. Get your own referral link from the “Send Invite” button.

bitFlyer Referral Program - Invite friends, get free BTC!

4. Choose a friend and send the link with an invitation.

5. Your friend needs to click on the link, then install the bitFlyer Wallet App and create a bitFlyer account*. They should fill out Invitation code which is in the invitation. Without the code, both you and your friends will not be eligible for the rewards.

bitFlyer Referral Program - Invite friends, get free BTC!

6. Your friend makes a deposit and trades €100 or more worth of any crypto. (Crypto deposit is not eligible for this program)

7. Both you and your friend receive €10 worth of Bitcoin!

* Currently, the referral program is only available through the bitFlyer Wallet app. If your friend creates an account on the web, you will not be eligible for the reward.

Details about the program

The rewards will be sent out within 24 hours after your referral deposits and trades €100 or more and there is no upper limit to the number of people that can be referred.

Your friends can trade crypto on Buy/Sell or using Instant Buy and Recurring Buy features. Trading activity generated on the bitFlyer Lightning platform is excluded.

If you have more questions, please visit our FAQ or contact us.

Ready to get started? Download the App!bitFlyer Referral Program - Invite friends, get free BTC! bitFlyer Referral Program - Invite friends, get free BTC!

Disclaimer:

• To be eligible to participate, individuals must be at least eighteen (18) years of age.

• To be eligible to participate, individuals must be residing within the European Economic Area.

• To be eligible to participate, individuals must be upgraded to Trade PRO on the bitFlyer platform

• bitFlyer accounts are limited to one account per person. Customers who already have a bitFlyer account before the initiation of this referral program can not create duplicate accounts.

• Customers who have closed their bitFlyer account at the time of granting the rewards are not eligible for this program

• If a referred user fails to complete the requirements to obtain a bonus within 90 days of opening his or her account, neither party will receive a bonus.

• To be eligible for the referral bonus payout, individuals must deposit 100EUR or more by bank transfer, Paypal or credit card. Crypto deposits are not eligible to qualify under this program.

• To be eligible for the referral bonus payout, all qualifying trades must be placed via bitFlyer’s Buy/Sell Marketplace options (Instant buy or Recurring buy). Lightning exchange orders are not eligible to qualify under this referral program.

• Opening an account through any method other than the invitation URL will forfeit eligibility for this program.

• Customers who had a bitFlyer account before the start of this program are not eligible to be referred.

• Customers who have frozen or restricted accounts before the start of this program are not eligible for this program.

• The rights acquired through the program cannot be transferred to another person.

• The BTC/EUR exchange rate will be based on the rate on our exchange platform at the time of rewarding.

• The purpose of this program is to attract new customers and reward those customers who genuinely intend to become our active  customers and use our services. Therefore if we detect certain behavior indicating that an individual is using this referral program for the sole purpose of collecting rewards without genuine intention to use our service, we may disquality eligibility for the program in such cases. For example, customers who meet the following criteria may forfeit their eligibility to receive rewards. Even if the rewards have already been granted, they may be recollected. Eligibility for further participation in this program may also be forfeited.

• If it has been identified that the customer has more than one account

• If the registered email address is unable to receive emails or does not receive the email sent for this program

• If the account was created using false information

• If we discover any fraudulent activity such as spoofing, affiliates, etc.

• Any other action that is deemed to violate our Terms of Use, illegal, or failure to meet our requirements

• Please note that the list is not exhaustive.

• In case of recollection, whichever is available and has the higher value of the below will be recollected from the customer's account. The crypto/EUR rate will be based on the rate on our exchange platform at the time of recollection.

• Amount of BTC granted as the reward; • 10€ worth of other crypto held (in case there is no BTC available); or • 10€

• We will not respond to any inquiries regarding customers eligibility.

• Please refer to our Privacy Policy for information on how we handle personal information. bitFlyer may change, suspend, cancel, or terminate some or all of the parts of this program without prior notice. bitFlyer is not responsible for any losses incurred due to changes, suspension, cancellation, or termination of this program.

• This program is subject to change, suspension, or cancellation without notice.

• If you have any questions about this program, please contact us info.eu@bitflyer.com.

- bitFlyer Europe
What is Lisk? (LSK) - A bitFlyer Academy Guide for Beginners
What is Lisk? (LSK) - A bitFlyer Academy Guide for Beginners

Lisk (LSK) is a blockchain-based, decentralised computational platform. It was founded in early May 2016, by Max Kordek and Oliver Beddows. As a fork of Crypti, a JavaScript-based platform for dApps, Lisk’s primary vision is to broaden and ease the accessibility of blockchain technology, both in development and usage. LSK is the name of the project’s utility token, used to pay for transaction fees on the Lisk blockchain.

What is Lisk? (LSK) - A bitFlyer Academy Guide for BeginnersThe Lisk Ecosystem: Elements & Features

Lisk is predominantly a platform for creating and deploying Decentralised Applications or dApps—applications hosted on globally distributed computer networks, rather than on centralized servers.

The platform’s users can create, publish, distribute, and monetise their dApps, as well as leverage the ecosystem’s native cryptocurrency, LSK. In other words, Lisk is a self-sustaining and integrated platform, supporting features such as smart contracts, blockchain-based storage, and so on.

Interested in buying Lisk? Register now!JavaScript Compatibility

Substantial learning curves associated with specific programming language requirements have been a major obstacle to the wide-scale adoption of blockchain-based solutions. Lisk addresses this problem by enabling dApp development in JavaScript (JS), which is especially appealing to developers with a traditional outlook.

Apart from JS, Lisk also works with TypeScript, which is another commonly-used language for web development. Consequently, unlike in the case of Ethereum, developers working with Lisk don't usually have to learn a new, platform-specific programming language.

The Delegated Proof of Stake Protocol (DPoS): Resource-Optimised Consensus

Despite watertight security, the Proof-of-Work (PoW) consensus protocol, implemented by Bitcoin, among others—has severe scalability and environmental trade-offs. As a scalable and eco-friendly alternative, Lisk adopts a Delegated Proof of Stake (DPoS) consensus mechanism.

Briefly put, every member of the network, that is LSK token holders, can vote for 101 delegates. In this context, casting a vote means ‘staking’ (locking) a predefined amount of LSK tokens in special wallets. In turn, the ‘active delegates’ are responsible for validating Lisk transactions and for creating blocks.

What is Lisk? (LSK) - A bitFlyer Academy Guide for Beginners

The Lisk blockchain is considerably fast, with new blocks being created roughly every 10 seconds, while each cycle of 101 blocks takes around 16 minutes for settlement—to compare, Bitcoin takes around 10 minutes for the creation of new blocks.

Complementing the network’s sidechain architecture, the said validation mechanism enhances scalability. Furthermore, delegates are incentivised through rewards, distributed in LSK tokens.

The Mechanisms of Lisk: Fostering Innovation with SDK

Extending blockchain’s accessibility to the general populace is Lisk’s primary mission. The platform is predominantly focused on decentralised software development, while the LSK token serves as the system’s internal mode of value exchange. In this context, Lisk’s Software Development Kits or SDKs play a crucial role.

The Lisk SDK

Lisk’s SDK represents a reliable, easy-to-use, and customisable toolkit, designed to assist the development of Lisk-compatible applications. Broadly, the kit has three components:

Framework: Establishes and maintains the interactions between modules on the Lisk network.Elements: A collection of libraries, used to implement various functionalities to custom dApps.Commander: A command line tool that enables Lisk users to interact with the underlying blockchain.Lisk & Ethereum: A Brief ComparisonWhat is Lisk? (LSK) - A bitFlyer Academy Guide for Beginners

In general, both Ethereum and Lisk are distributed computational platforms, in other words, decentralised super computers, that allow users to create blockchain-based applications. However, despite Ethereum being the most popular ecosystem of its kind, Lisk has certain distinctions which are better-suited for certain requirements.

Lisk has a sidechain architecture for greater scalability, while Ethereum does not.Ethereum has a platform-specific programming language, called Solidity, whereas Lisk is compatible with JavaScript and TypeScript.Ethereum’s execution environment, called Ethereum Virtual Machine (EVM), is secured using a PoW-PoS hybrid, while the Lisk Virtual Machine implements a Delegated Proof of Stake (DPoS).With a 10 second blocktime, as compared to Ethereum’s 15 second, Lisk is the faster one out of the two ecosystems.

Considering the above points, it’s evident that Lisk is a potent alternative to Ethereum, with a wider scope in certain regards. To participate on the network, users can buy, sell, and trade LSK on bitFlyer. Join bitFlyer today.

Already a bitFlyer customer? Login! New to bitFlyer? Register now!

Disclaimer:

The information contained in this article is for general information purposes only. bitFlyer EUROPE S.A. is in no way affiliated with any of the companies mentioned herein. Neither does bitFlyer assume any responsibility nor provide any guarantee for the accuracy, relevance, timeliness or completeness of any information provided for by these external companies.

You accept that you are responsible for carrying out your own due diligence when investing. bitFlyer shall in no way be responsible for any acts taken on account of this article nor does bitFlyer provide any investment advice for its users.

- bitFlyer Europe
What is Litecoin? (LTC) - A bitFlyer Academy Guide for Beginners
What is Litecoin? (LTC) - A bitFlyer Academy Guide for Beginners

Commonly known as the first successful altcoin, Litecoin is one of the early spinoffs of Bitcoin, started in 2011 as an attempt to make a cryptocurrency more appropriate for use as digital cash.

Created by developer Charlee Lee, Litecoin has some advantages over its other cryptocurrency competitors. For instance, compared to Bitcoin, Litecoin offers much lower transaction fees. It is consistently ranked in the top five and top ten cryptocurrencies, holding ground with a stable market share of around 5% since its creation, even as other coins rise and fall in popularity.

Despite introducing new possibilities for the world of finance and technology, Bitcoin’s core came with significant usability and scalability shortcomings Litecoin (LTC) was created as an alternative solution to these problems.

What is Litecoin? (LTC) - A bitFlyer Academy Guide for Beginners

Litecoin emerged out of a Bitcoin fork, proposed and developed by Charlie Lee, a renowned computer scientist. The project’s primary vision was to become the silver to Bitcoin’s gold, thereby widening people’s access to cryptocurrencies. Prior to incepting the Litecoin Foundation in 2017—a non-profit backing the Litecoin project—Lee worked at Google and Coinbase, among other firms.

Interested in buying Litecoin? Register now!Distinguishing Features: How Does Litecoin Work?

In general, Litecoin’s primary ‘competitor’ is Bitcoin, although the two networks complement each other in several regards. For one, Litecoin inherited Bitcoin’s code, enhancing the same with many novel implementations.

On the other hand, Litecoin pioneered technologies like the Lightning Network and Segregated Witness (SegWit), which have eventually been adopted by Bitcoin.

Scrypt for Speed

In terms of transaction settlement, Litecoin is nearly four times faster than Bitcoin. To achieve this, Litecoin implements a modified version of Bitcoin’s Proof-of-Work (PoW) consensus mechanism, namely Scrypt.

The implementation aligns with Litecoin’s agenda of addressing concerns related to ASIC-based mining, in which it has been partially successful. Instead of using highly expensive ASIC hardware, Litecoin miners can work with more affordable Graphics Processing Units (GPUs).

Thanks to Scrypt, Litecoin successfully reduced the block confirmation time, the time taken to finalise new blocks, to 2.5 minutes, as compared to Bitcoin’s 10 minutes. As a result, while Bitcoin settles roughly 7 transactions per second, Litecoin completes around 56 transactions per second.

SegWit for ScalabilityWhat is Litecoin? (LTC) - A bitFlyer Academy Guide for Beginners

Blockchain-based transactions are cryptographically encrypted, meaning that they include signatures of the sender and/or receiver to ensure authenticity and so on. In the original Bitcoin Core, these signatures were included in the transaction, so to say, thus increasing the size of each transaction.

In 2017, Litecoin implemented Segregated Witness or SegWit, a solution proposed by Blockstream co-founder, Pieter Wuille. To put it simply, SegWit separates signatures from transactions, putting them into the associated input rather than in the transaction.

This effectively reduces the transaction’s size, and consequently, more transactions can be added to each block. Combined with Scrypt, SegWit imparts a heightened scalability to Litecoin, which in turn, makes the network more relevant for large-scale usage.

The LTC Token: Litecoin’s Native Cryptocurrency

Similar to Bitcoin, Litecoin is an open-source, peer-to-peer digital currency, based on the network’s native cryptocurrency, namely the LTC token. It can be used for a range of financial purposes and has a maximum supply of 84 million.

Litecoin’s fully decentralised payment network supports near ‘zero fee’ for transactions in LTC. Moreover, the token’s code architecture facilitates optimum efficiency in terms of storage. It also provides greater security against malware, viruses, and hacks.

What is Litecoin? (LTC) - A bitFlyer Academy Guide for Beginners

Rewarding miners to incentivise desirable behaviour is one of LTC’s primary internal functions within the Litecoin network. Initially, the block reward was 50 LTC. However, the algorithm halves the amount every 4 year (roughly, after every 840,000 blocks). At the time of writing, in early 2021, miners receive 12.5 LTC tokens for each block.

Backed by the network’s functionalities and inherent value, LTC’s market performance has progressed steadily over time. To know more about Litecoin, as well as to buy, sell, and trade LTC, join bitFlyer and follow our blog.

Already a bitFlyer customer? Login! New to bitFlyer? Register now!

Disclaimer:

The information contained in this article is for general information purposes only. bitFlyer EUROPE S.A. is in no way affiliated with any of the companies mentioned herein. Neither does bitFlyer assume any responsibility nor provide any guarantee for the accuracy, relevance, timeliness or completeness of any information provided for by these external companies.

You accept that you are responsible for carrying out your own due diligence when investing. bitFlyer shall in no way be responsible for any acts taken on account of this article nor does bitFlyer provide any investment advice for its users.

- bitFlyer Europe
The State of Investing & Crypto in different markets
The State of Investing & Crypto in different markets

2020 was a year of tremendous growth in the cryptocurrency industry. We saw Bitcoin reach new highs, as renowned financial institutions invested in this revolutionary asset class and enthusiasm across the market bounced back.

Last year, bitFlyer Europe conducted the survey in European countries measuring the awareness and faith in the future of crypto. Back then two thirds of Europeans admitted to having faith that cryptocurrencies will still exist in 10 years’ time, however the majority are still uncertain how they will be used.

In September 2020, when comparing our data from 2020 to 2018, we have seen a rise in accounts opened by users in their 20s in the first half of 2020 at group level.

As a global cryptocurrency exchange that has offices, among others, in San Francisco, CA, and Tokyo, Japan, this time we decided to dive deep into the current state of investing and cryptocurrencies in the US and Japan, and explore the differences between these two big and interesting markets. Our survey targeted 3000 participants aged 20-59 across Japan and the US.

Key findings from our research:Two-thirds of people in the US said they’re interested in investing more in financial assets in 2021.30% of Americans think Bitcoin/Cryptocurrencies will be an attractive investment this year, making it two times more popular than Gold and the 4th most selected asset. The most popular asset was stocks at 54%.82% of the US population has heard about cryptocurrencies.Roughly 20% of respondents in the US are currently using or have used cryptocurrencies in the past.76% of people in the US that have heard about crypto have a positive perception about cryptocurrencies as an investment. In Japan, 78% of the respondents have a negative perception, showing a pretty strong contrast between the two regions.Our research shows that the current market sentiment amongst American investors is very bullish compared to the Japanese, reinforcing the argument that the last run-up in price was mainly driven by US investors.The State of InvestingThe State of Investing & Crypto in different markets

Our research shows that 82% of people in the US invest in financial assets, with almost a third of the population allocating over a quarter of their net worth into investments. On the other hand, in Japan, 69% of people do not invest in financial assets, showing a significant contrast across the two regions.

In both the US and Japan, men tend to invest more than women, while also allocating a higher share of their net worth into their investments.

The State of Investing & Crypto in different markets

There is also a significant difference in the outlook for investing this year. 68% of respondents in the US are planning to invest or continue investing, whereas that figure is only 18% in Japan.

Why are people investing in 2021?

Across the globe, one of the most popular reasons people are looking to invest this year is to prepare for the future and increase their long-term net worth. A large share of respondents are looking to diversify their income through investments and believe that investing is the most powerful and quickest way to grow their capital.

“In order to build your wealth, you will want to invest your money. Investing allows you to put your money in vehicles that have the potential to earn strong rates of return. If you don't invest, you are missing out on opportunities to increase your financial worth.” — (male in his 30s, US)

After last year’s events, more people are paying attention to the market in hopes of capitalizing on a potential economic rebound this year.

“This is a great time to invest, hopefully things can only get better and go up.” (female in her 30s, US)

Low interest rates are also fueling people’s motivation to allocate their wealth into investment assets. We can see a similar trend in Japan.

“Interest is too low for deposits and savings. I think it is better to manage your capital with some risk” — (male in his 40s, Japan).Why are people not looking to invest in financial assets?

There’s an interesting contrast in why people are not looking to invest across the two regions. One of the most popular reasons why people in the US are not planning to invest this year is because of financial challenges created by the COVID-19 crisis.

“I have no job currently, so no income. Can't invest what you don't have” — (male in his 30s, US)“Money is very tight due to the pandemic” — (female in her 30s, US)

Our data shows that, logically, people with lower incomes are 40% less likely to invest. This, amidst the recent surge in COVID-19 cases and changes in power in the US, has elevated people’s uncertainty and fear of what’s going to happen next at the macroeconomic level.

What’s most interesting, however, is that the main reason why Americans do not invest isn’t because of the risks of losing money. They mainly don’t do it because they don’t have the necessary resources. In Japan, it’s a different story.

While the economic impact from the COVID-19 crisis also impacted many people’s ability to invest in Japan, the majority of those who said that they are not looking to invest highlighted the potential risks associated with investing, rather than a lack of resources to do so.

“I don't want to lose even 0.0001% of my money. I don't want to invest in anything that has the risk of losing even a small amount of money. However, if there is a no-risk, high-return investment, I will definitely do it” (male in his 40s in Japan)“I think investment is the same as gambling. I don't want to do dangerous things like losing money.” (Male in his 30s in Japan)“I don't know how to do it, and it seems that there is a high risk of loss.” (female in her 30s in Japan)

There’s a clear difference in the sentiment towards investing between the two regions. We see people in the US being a lot more open to investing and having a bigger desire to diversify their income through investing. In Japan people tend to have a much more cautious stance.

The State of CryptoThe State of Investing & Crypto in different markets

Cryptocurrency adoption is higher in the US than it is in Japan. In the US, 22% of respondents have invested in crypto at some point - over four times higher than Japan.

The State of Investing & Crypto in different markets

Similarly with investing, the sentiment towards cryptocurrencies is a lot stronger in the US than it is in Japan. 76% of the respondents in the US who have heard about cryptocurrencies have a positive perception about cryptocurrencies as an investment, while in Japan it was the complete opposite.

What is driving people’s positive perception about cryptocurrencies?

People like cryptocurrencies in the US and Japan for very similar reasons. One of the most popular ones is the increasing popularity of cryptocurrencies and its remarkable rise in price, which makes it a very attractive investment.

“Cryptos are growing at a fast rate and I feel they will keep growing and be very profitable” (male in his 20s, US)“I saw in the news that the value has increased recently” (male in his 20s in Japan)

But it’s not only its run-up in price that’s getting people’s attention. Many respondents highlighted crypto’s value propositions and believe in its long-term value.

“I feel [cryptocurrencies] put you in control as opposed to big Wall street firms. You can buy/sell 24/7. Some have fixed quantity as opposed to stocks that can always issue new shares etc” (male in his 50s, US)“Cryptocurrency seems to be gaining momentum with the fallout of global and national currency systems.” (female in her 20s, US)

Moreover, in 2020 we saw a wave of institutions coming into the cryptocurrency space, and people in the US noticed. Institutional participation solidified people’s long-term outlook for crypto, and even their perception of it.

“Large institutions have been starting to buy crypto, which could drive up scarcity and therefore the value. That, and after a decade it doesn’t seem like it’s going anywhere anytime soon.” (male in his 20s, US)“I chose positive because I definitely think it has leveled out now. In the beginning it was definitely negative (from what I heard). I think it’s a new way of investing.” (Female in her 20s, US)Why do people have negative perceptions about cryptocurrencies?

While the price of Bitcoin has increased over 250% in the last year, many people are still afraid of its extreme price volatility.

Additionally, after seeing many incidents such as hacks and reports from mass media, many are concerned about the crypto’s security risks and usage today. In Japan, where the vast majority of people have negative perceptions about crypto, these security concerns were paramount and deep-rooted into people’s perceptions.

“There was a virtual currency incident in the news a while ago.” — (male in his 40s, Japan)“There is a possibility of someone stealing it” — (male in his 30s, Japan)

Lastly, as with any new technology, there is a big learning curve.

“I don’t know enough about it to have a positive opinion” — (female in her 30s, US)

Many people do not understand cryptocurrencies well enough in order to make a proper judgment about them, which ultimately affects their perception. As people learn more about cryptocurrencies, we can expect this to change in the future.

Which investment assets do people think will be most attractive in 2021?The State of Investing & Crypto in different markets

54% of respondents think stocks will be an attractive investment in 2021, making it the most popular asset in the US.

Crypto was two times more popular than Gold and also the 4th most popular asset, as 30% of Americans believe it will be an attractive investment opportunity. In Japan, crypto was the 5th most popular asset, as people favored other investment vehicles such as Mutual Funds and FX.

Diving deeper into the different segments, we saw that for investors in the US with the highest level of experience crypto was the third most popular asset. This group highlighted the high growth that cryptocurrencies have experienced lately and believe it will be one of the most profitable investments.

“ETFs are easy and low cost basis, real estate will always produce profits and bitcoin is gaining steam and will continue to in 2021” — (male in his 40s with more than 10 years of investment experience, US)

On the other hand, crypto was the second most popular asset amongst the least experienced investors. Crypto’s run-up in price and increasing adoption spiked the interest of this group, which are looking to capitalize on the latest trends in the market.

Wrapping up

A significant share of Americans are looking to invest this year, as they view it as one of the most effective ways to increase their wealth. The opposite was true in Japan, where investors have a more conservative stance.

Moreover, the adoption of cryptocurrencies in the US has grown significantly over the last year, as we’ve seen an increasing number of American companies allocating capital into this new asset class and expanding their services to cover this revolutionary technology. The market sentiment is currently very positive, especially when compared to the Japanese market.

The outlook for cryptocurrencies this year looks very promising in the US as it continues growing in popularity, especially with the new generation of investors which favored the asset more than anyone else. This could also be a good sign for Europe as education about cryptocurrency and the will to diversify investment portfolios is always increasing.

Despite the bearish sentiment in Japan, it remains as one of the most important markets in the world and with one of the most structured regulatory frameworks globally.

Since 2014, our mission as a global company has been to offer the simplest and most secure way to access cryptocurrencies around the world. We plan to continue focusing on offering the highest level of security to our customers and new products to provide more value.

Already a bitFlyer customer? Login! New to bitFlyer? Register now!

Survey methodology

Survey period: January 5, 2021-January 11, 2021Target group: A total of 3,000 consumers (20-59 years old) living in the US and Japanese markets. Japan n = 2,000, USA n = 1,000The data of each market adjusts the composition of gender and age based on the census results so that the trends of consumers in the surveyed countries are correctly reflected.Survey method: WEB questionnaire survey

* When using the survey results of this release, please specify [Survey by bitFlyer USA.].

- bitFlyer Europe
Recurring Buy is now live on our App! Set up regular crypto purchases on bitFlyer
Recurring Buy is now live on our App! Set up regular crypto purchases on bitFlyer

Today, we are launching a new “Recurring Buy” feature, which means our users can now purchase crypto automatically with as little as 10 EUR by a simple set up.

You can use it from our mobile app "bitFlyer wallet", available on both iOS and Android.

The smartest and easiest way to invest in cryptoSimple SetupSchedule a recurring buy in a few stepsAutomatic PurchasesBuy crypto daily, weekly, biweekly or monthlyStart Small or Go BigSet up regular purchases as low as €10 or as high as €10,000

Interested? Download our App and start trading now !

Recurring Buy is now live on our App! Set up regular crypto purchases on bitFlyer Recurring Buy is now live on our App! Set up regular crypto purchases on bitFlyer

Get a chance to win 10 Euro worth of BTC with Recurring Buy!

Available crypto

Recurring buy can be used with all 7 types of cryptocurrencies currently handled on our platform:

Bitcoin (BTC)Ethereum (ETH)Ethereum Classic (ETC)Litecoin (LTC)Bitcoin Cash (BCH)Monacoin (MONA)Lisk (LSK)Purchase frequency

You can select from daily, weekly, biweekly and monthly.

Minimum purchase amount

It can be set from as little as 10 EUR.

Recurring Buy fee

There is no additional fee for Recurring Buy. Click here for details on other fees.

Available devices

The recurring buy feature is available on our mobile app "bitFlyer wallet" (iOS, Android)

* Web version will be supported in the future.

Get Started in MinutesRecurring Buy is now live on our App! Set up regular crypto purchases on bitFlyerRecurring Buy is now live on our App! Set up regular crypto purchases on bitFlyer Recurring Buy is now live on our App! Set up regular crypto purchases on bitFlyer

Important notes :

*Please ensure that there are sufficient funds in your bitFlyer account before the scheduled day of purchase. If there is an insufficient balance, the purchase will not be executed.

*Unless a purchase is not executed, the automatic purchase scheduling will not be cancelled.

*The time for purchase cannot be specified. bitFlyer will decide the time of purchase on the designated date.

*The rate used at the time of purchase will be based on the price on our Buy/Sell service.

*System troubles on the bitFlyer side may cause the purchase not to be executed. In that case, no automatic purchase will be executed until the next scheduled purchase.

- bitFlyer Europe
Elliptic recognizes bitFlyer for outstanding compliance for the second time in a row!
Elliptic recognizes bitFlyer for outstanding compliance for the second time in a row!

Elliptic, a global leader in cryptoasset risk management solutions, awarded the Elliptic Compliance Award to the cryptoasset businesses demonstrating exemplary compliance and their contribution to making the cryptoasset market safe to use.

For the second time in a row, bitFlyer received the award! Thank you Elliptic!

Our Chief Compliance Officer here at bitFlyer Europe, Ivars Zukovskis, shared some thoughts about the news:

We are delighted to receive an Elliptic Compliance Award for outstanding compliance as we’ve established robust compliance controls to protect our customers and our business.

This is the second time in a row for bitFlyer to receive the Elliptic Compliance Award. We’re pleased that our continuous efforts, supported by Elliptic’s crypto AML solutions, are recognized for meeting the highest standard for crypto compliance across the industry. Allowing us to reinforce the trust of our customers, and to grow our business.

Elliptic recognizes bitFlyer for outstanding compliance for the second time in a row!bitFlyer Elliptic Compliance AwardAbout the Award

The award winners are determined twice yearly according to their Elliptic Score, which indicates crypto-related financial crime risk for over 200 crypto exchanges, custodians, and other cryptoasset businesses, with the top tier of these businesses receiving an award.

The Elliptic Score is customer agnostic, in that the crypto businesses assessed may use any blockchain analytics solutions to support transaction and wallet monitoring in their compliance operations.

A word from Elliptic

Simone Maini, CEO of Elliptic, congratulated bitFlyer on the award and our contribution to the crypto industry.

Elliptic believes in objectively recognizing the positive efforts that crypto businesses are making to drive the safe adoption of crypto.

Congratulations to all the Elliptic Compliance Award winners, including three of our customers, for their commitment to preventing financial crime in crypto.

These VASPs are role models for crypto businesses of all sizes and proof that best-in-class blockchain analytics tools, coupled with tight compliance controls, are a necessity for managing risk and growing a business.

Already a bitFlyer customer? Login! New to bitFlyer? Register now!
- Jinia Shawdagor

New Bitcoin (BTC) mining data from the Cambridge Centre for Alternative Finance (CCAF) has revealed that China has resurfaced as a leading mining hub.

This resurgence comes after the country banned BTC mining in the past year, citing BTC’s Proof-of-Work (PoW) consensus mechanism, which is energy-intensive.

According to CCAF, China’s ban on BTC mining saw the country’s hashrate drop to zero in July and August 2021. However, data from September 2021 to January 22 shows that China’s hashrate climbed to 30.47 EH/s in September. This resurgence made China the second-largest BTC miner, contributing 22.29% of the global hashrate.

Explaining how China has rebounded as a leading BTC mining hub, CCAF said,

This strongly suggests that significant underground mining activity has formed in the country, which empirically confirms what industry insiders have long been assuming. Access to off-grid electricity and geographically scattered, small-scale operations are among the major means used by underground miners to hide their operations from authorities and circumvent the ban.

However, it is worth noting that this data is based on a research methodology that leverages aggregate geolocation from massive BTC mining pools, which combine computing resources to mint new tokens effectively. 

Additionally, individual BTC miners that use virtual private networks (VPNs) to hide their locations further obfuscate this data. Nonetheless, the researchers said the use of VPNs would have a moderate impact on the accuracy of the analysis. 

The U.S. remains the top BTC mining hub

Following China’s BTC mining ban, companies in the field shut down operations and started an exodus to other jurisdictions with friendlier regulations and cheap power. The U.S. quickly became the leading BTC mining hub, ready to host these firms. CCAF’s recent data shows the U.S. generates 37.84% of the BTC network’s hashrate, up from 35.40% in September 2021.

Kazakhstan also accommodated a fair share of the mining companies that left China. The country’s hashrate climbed as high as 27.31 EH/s in October. However, constant power outages and a crackdown on unregistered BTC miners discouraged mining. As a result, the country’s hashrate plunged to 24.79 EH/s, bringing Kazakhstan’s market share to 13.22%.

Canada’s market share also fell from 9.55% in August 2021 to 6.48% in January. Russia recorded a sharper drop in the same period, with its market share falling from 11.23% to 4.66%. While the country is an attractive BTC mining destination due to massive energy reserves, its central bank opposed BTC mining, discouraging miners from setting up shop in the country.

The post China makes a comeback in the Bitcoin mining scene appeared first on CryptoSlate.

- Andjela Radmilac

The first live CryptonitesTV episode gathered a panel of crypto media professionals to debate the current conditions in the industry and offer predictions for the future of the crypto market.

Filmed on May 6th at the Coin Bureau conference in London, the panel was hosted by Cryptonites’ Alex Fazel and hosted guests Maren Altman, That Martini Guy, Nate Whitehill from CryptoSlate, Digital Asset News’s Rob Wolff, and Crypto Savings Expert Jordan.

Viewers that join the live premiere’s chat room will be able to win an exclusive NFT with special perks and locked content.

Short term bearish predictions dominate the panel

While the panelists all presented their unique views as to what they expect from the market, there was one point they all agreed on—that the market is looking at a short-term bearish trend.

Rob Wolff, the creator of Digital Asset News, believes that there was nothing to push the market towards a bullish trend with the current supply chain crisis and impending inflation. He sees the possibility of the war in Ukraine escalating as a significantly bearish indicator, with even rumors of escalation enough to push the market deep into the red.

Crypto YouTuber That Martini Guy agreed with this sentiment, saying that we had another six months before more global certainty was established so that the foundation for a bullish trend could be laid down.

Maren Altman, a TikTok and YouTube personality who uses astrology to analyze the crypto market, sees the industry entering a short or medium-term bearish trend. She believes that the retail market is the biggest driver of bull trends and that the current geopolitical uncertainty has shifted priorities away from investing and towards more existential worries.

Zooming out paints a much more bullish picture

However, despite the short-term pessimism they share, all of the panelists are incredibly bullish about the future.

Crypto Saving Expert’s Justin said that while he wasn’t excited about the short-term, the more he zoomed out, the more bullish Bitcoin looked.

Nate Whitehill, the CEO of CryptoSlate, stands by his long-term view that cryptocurrencies will replace the TradFi system. In the past year or so, we’ve seen major banks begin offering Bitcoin to their clients, which he believes is a major bullish catalyzer for the future.

Wolff noted that we’d see a full-blown bull market once more countries get involved with cryptocurrencies on a high-stakes level. This is in line with Whitehill’s prediction that the biggest bullish indicator we could see would be to have another significant player like Michael Saylor or El Salvador enter the market.

On the other hand, That Martini Guy believes that making crypto products like a wallet accessible on Apple devices would bring more people to the industry and trigger a bullish trend.

That isn’t to say that they wouldn’t change their bullish outlook.

Whitehill said that an event like MicroStrategy getting margin called wouldn’t change his long-term outlook on the industry. In contrast, Altman noted that Bitcoin dropping below its last cycle top would undoubtedly be an alarming event.

Nonetheless, all panelists agreed that despite everything crypto faces and everything it might be up against in the future, this was the time to be in the market.

Watch the CryptonitesTV panel to see other thoughts they had on the future of the crypto industry.

The post Bears vs Bulls: Crypto media pros share their crypto market predictions appeared first on CryptoSlate.

- Samuel Wan

Exodus has announced a new multi-chain crypto browser extension. Users can now “easily explore and navigate the world of DeFi” through their Chrome and Brave browsers.

Typically, browser extensions cater to a single ecosystem. However, in the case of MetaMask, minor changes in the settings allow the wallet to be used with multiple chains, such as Ethereum and Binance Smart Chain.

However, Exodus said its new browser extension will be compatible with multiple chains, starting with Solana at launch. The firm is working on introducing Ethereum next, and other “popular” blockchains are coming soon, with Algorand mentioned.

“Exodus’ foray into Web3 begins with unlimited access to the Solana network’s world of DeFi and Web3 applications, but will soon be followed by support for the Ethereum network and other popular smart contract blockchains.”

Why did Exodus choose to launch with Solana?

On launching with Solana and not Ethereum, Exodus said it came down to useability. Expanding further, the firm said Ethereum’s high cost of entry and unpredictable gas fees can be prohibitive to the average user playing with smaller sums.

“Unlike Ethereum, Solana can scale to hundreds of thousands of transactions per second at a cost so small that you would have to send thousands of transactions to even spend $1 in fees.”

For that reason, it made sense to launch with Solana first. However, as mentioned, the team is working on rolling out Ethereum and other chains.

The browser extension enables users to:

Buy, sell, and swap crypto directly in the extension Mint, trade, and view your NFT collection Browse & pin your favorite Web3 projects in the extension dashboard Stake Solana Track balances over time Navigate in a simple and easy to use interface Buy crypto at low rates with a credit/debit card or bank account Find the help you need with Exodus’ world-class customer support Do users want to sacrifice convenience for safety?

Although crypto wallet extensions are not inherently unsafe, they open users to an additional attack vector when connecting with dApps.

In an attempt to allay these fears, an Exodus Community Manager said the firm is developing features to combat this, such as introducing a list of verified dApps.

“We’re working on features to better protect our users, such as curating a list of verified dApps that users can access directly in the extension should they not feel safe enough to go looking for dApps themselves.”

The message ended by reiterating that security and user education are top priorities for Exodus.

The post New Exodus Wallet browser extension includes ‘unlimited access’ to Solana appeared first on CryptoSlate.

- Oluwapelumi Adejumo

The Federal Bureau of Investigations (FBI) has alerted the general public and businesses against unwittingly hiring North Korean IT workers.

In a joint statement released with the U.S. Department of Treasury and Department of State, the federal agency stated that doing so could result in sanctions from the UN and the U.S. and reputational damage.

US businesses should be careful when hiring North Koreans

According to the advisory statement, North Korean hackers pose as non-North Korean nationals to secure employment. The country has increased its focus on training IT professionals.

U.S. officials revealed that several North Korean entities dispatch thousands of highly skilled IT workers worldwide to get employment. The revenue generated by these workers is reportedly used to fund North Korea’s “weapons of mass destruction (WMD) and ballistic missile programs, in violation of U.S. and UN sanctions.”

These hackers exploit the existing demand for highly skilled IT professionals to get jobs using online job platforms. Mostly, they use stolen identities and forged documents.

The advisory continued that while not all of these workers engage in malicious activities directly, they gain access to privileged information. 

This information has enabled North Korean cyber intrusions. Beyond that, these freelancers also send part of their income to North Korea to fund its weapons program.

The 16-page advisory didn’t give specific cases where these IT workers have been behind cybercrime activities. However, it did provide examples of the methods and strategies for getting employment and how they operate.

North Korean hackers help to launder stolen crypto funds

The FBI also mentioned crypto in its advisory, stating that some North Korean IT workers based abroad assist the country in laundering money and transferring crypto assets. In the light of this, it called on operators of digital asset platforms to be very cautious.

The advisory listed the potential red flags for North Korean IT contractors’ activity. These include:

Multiple logins into one account from various IP addresses in a short time frame. Developer accounts use a fraudulent client account to increase developer account ratings.  Refusal to participate in video calls. Etc.

Recently, the FBI claimed North Korea-backed Lazarus Group was responsible for stealing more than $600 million by exploiting Axie Infinity. In addition, crypto founder Arthur Cheong also warned that these hackers are targeting crypto companies using sophisticated methods.

The post US Federal agencies warn businesses against mistakenly hiring North Korean hackers appeared first on CryptoSlate.

- Oluwapelumi Adejumo

After the abrupt crash of Terra’s UST last week, a popular South Korea-based law firm, LKB & Partners, is set to sue Do Kwon on behalf of South Koreans who invested in the asset, according to local media reports

The law firm is applying to the Seoul Metropolitan Police Agency to seize all Do Kwon’s properties in the country.

Interestingly, the firm says it represents all Koreans who have lost money to the “Ponzi” scheme. LKB is yet to decide whether it will be suing Terraform co-founder Daniel Shin. 

Government agencies target Terra

Meanwhile, South Korea’s new minister for the Department of Justice has vowed to take on the investigation of the TerraLuna event as his first official task.  Plans are already in motion for the minister to create a financial crime investigation team to oversee the inquiry. 

Another politician, Yun Chang-Hyun, has reportedly called for a parliament hearing on the crash of Terra’s UST. 

Chang-Hyun said:

We should bring related exchange officials, including CEO Do Kwon of Terra, which has become a recent problem, to the National Assembly to hold a hearing on the cause of the situation and measures to protect investors.

Officials in the US have also used the opportunity to call for stricter regulations surrounding the crypto space.

Terraform Labs’ legal team quits the company 

In another development, members of Terra’s legal team have reportedly resigned their position. 

A look at the LinkedIn pages of Marc Goldich, who served as the general counsel, alongside others like chief corporate counsel Lawrence Florio, and regulatory counsel Noah Axler shows that they have left the company.

While the reason they left the company remains clouded, many within the crypto community have attributed it to the crash of the ecosystem.

Last week, the crypto industry witnessed a massive price, and Terra’s UST and LUNA value plummeted to new lows pulling the overall market along with it.

A spokesperson for the company said:

The past week has been challenging for Terraform Labs, and a small number of team members resigned in recent days. The vast majority of team members remain steadfastly committed to carrying out the project’s mission. Terra is more than $UST, with an incredibly passionate community and a clear vision of how to rebuild. Our focus is now on executing our plan to revive the Terra ecosystem.

The post Terra faces litigation from South Korean investors over failed UST investment appeared first on CryptoSlate.

- Jinia Shawdagor

Animoca Brands co-founder Yat Siu believes the web3 ecosystem continues to expand rapidly despite the recent turmoil in the crypto markets, according to an interview with Bloomberg’s Stephen Engle on May 18.

Siu said the recent crash in the crypto market is not similar to the 2018 rout. He highlighted that Bitcoin (BTC) was trading below $3,000 and Ethereum (ETH) traded below $100 at some point during the 2018 crash. Siu added that most crypto adopters at the time had embraced the sector for speculative purposes because the ecosystem was immature and did not have utility.

However, at the moment, the crypto sector has expanded and has diverse applications in the metaverse, non-fungible tokens (NFTs). Speaking about the recent TerraUSD-triggered collapse, Siu said it is more contained. Moreover, Siu believes the recent crash has not affected the crypto ecosystem in terms of utility, although prices took a sharp dive.

Additionally, unlike in 2018, when investors converted their crypto into fiats, he claims investors converted their holdings into stablecoins or other crypto tokens following the turmoil. In so doing, Siu believes crypto adopters continue to build the web3 ecosystem, making it more stable.

Investors with a long-term outlook continue investing in crypto

Sharing his thoughts on whether the poor performance of the crypto market has discouraged venture capitals from injecting funds into the space, Siu said people that understand the industry are investing actively. He added that Animoca Brands considers the current market situation an ideal buying opportunity.

According to him, Animoca Brands’ lens is not focused on the three to 12 months. Specifically, he said the company is investing based on a 10 to 20-year approach. Siu added that Animoca Brands invests in projects that help build the network of NFTs. The company’s recent acquisition of French video game studio Eden Games aligns with this strategy.

Although he admits ten years is a lot of time, Siu said web3 is a natural evolution of the internet, and most of the world will embrace it. He pointed out that a significant percentage of the global population already depends on the digital world.

However, the current web2 platforms do not offer users a say or stake in their operations, even though their existence solely depends on user activity. On the other hand, web3 platforms offer stakes and rewards for their time and engagement.

The post Animoca Brands co-founder says web3 is growing despite the recent crypto crash appeared first on CryptoSlate.

- Oluwapelumi Adejumo
Axie Infinity targeted in another hack, this time via discord bot

Axie Infinity has announced on its Twitter page that there was a compromise of the MEE6 bot on its Discord server. The MEE6 team has denied that there was an attack on its bot.

The MEE6 bot is quite popular on Discord, with many servers using it for automating messages and other functions. 

Axie Infinity said on May 18 that the attackers compromised the bot and used it to add permissions for a fake Jiho account which they subsequently used to post a phony mint announcement.

1/ There was a compromise of the Mee6 bot which was installed on the main Axie server. The attackers used that bot to add permissions to a fake Jiho account, which then posted a fake announcement about a mint.

— Axie Infinity🦇🔊 (@AxieInfinity) May 18, 2022

Fortunately, the developers discovered it quickly. They removed the compromised bot and deleted the messages. According to the gaming platform, it’ll never do a surprise mint and usually announce all such events on Twitter, Facebook, Discord, and Substack.

However, it also said that some users might still be able to see the deleted messages until they restart their Discord. At least one user claims to have lost an NFT and Domain due to the hack.

Axie says others suffered same exploit

Axie Infinity stated that the compromise isn’t particular to its server and that many servers with MEE6 Bot have faced similar issues before. Cool Cats, RTFKT, PXN, PROOF/Moonbirds, and Memeland, have all reported a compromise of their admin accounts due to the bot.

4/ This was not unique to Axie and happened to many servers with the Mee6 bot installed.

— Axie Infinity🦇🔊 (@AxieInfinity) May 18, 2022

According to those familiar with Discord security, the hackers likely attacked admin accounts first. Then they created a reaction role feature from the MEE6 bot, which the admin role to another account.

By doing this, they could send webbook messages without revealing the compromised administrator account.

MEE6 denies any hack 

MEE6 has denied the claim of a compromise on its Discord server. It said there was no compromise of any NFT community due to its bot.

“We have not been contacted by any real community owners at the time of this message, nor via Discord or any other Support Communication Channels. We have checked the situations with our engineers, and no data of unusual activities have been spotted,” the statement reads.

Axie Infinity recently suffered an exploit where hackers stole more than $600 million in its native token AXS. The token has struggled since the exploit, even after the company raised new funds to refund the users.

Users’ confidence has dropped and continues to go down due to delays and increasing security concerns. AXS is currently trading at $21.6 from an ATH of $164.9 in November 2021.

The post Axie Infinity targeted in another hack, this time via discord bot appeared first on CryptoSlate.

- Oluwapelumi Adejumo

Popular hardware wallet Ledger will add a browser extension to Safari Wallet.

The Ledger Connect extension will make it possible for users of the hardware wallet to connect to Web3 apps directly without relying on third-party apps. The Ledger Connect includes a security layer called Web3 Check that’ll flag suspicious apps for users.

Ledger will be launching its own browser extension!

With Ledger Connect, you'll be able to easily & safety connect your Ledger accounts directly to Web3 apps via desktop or mobile – on the go.

Intrigued? Sign up for the beta waiting list now! https://t.co/2E7OMrf86b pic.twitter.com/XHHclr0adn

— Ledger (@Ledger) May 17, 2022

Users will automatically be notified of the potential risks and security issues of any Web3 app. They will also be given up-to-date information on hacks, past scams, and fraudulent smart contracts.

The firm warned that such security checks would only be a preliminary review, and users should always do their research before authorizing any transaction.

According to a blog post published by the firm, the feature will be available for Ledger Nano X and Mobile Safari and initially support apps on Ethereum and Solana, with other networks to be added in due time.

Users can sign up for the Beta test to participate. However, they need a Ledger Nano X and an iOS phone with iOS 15.4 operating system or higher.

Hardware wallets have always been the safest way to store crypto and digital assets. But these wallets are usually cold wallets, and connecting them to Web3 wallets has been difficult. Now, all that’ll change for users, bringing more convenience.

The blog post further revealed that the extension would be able to switch automatically to the network for the Web3 app. So if a Web3 app is on Ethereum, the extension automatically detects this and connects your Ethereum account. 

This automatic blockchain detection feature won’t be available at launch, but coming soon after.

It added that users wouldn’t be able to manage their assets via the extension as anyone wishing to manage their accounts or funds will still need to use the Ledger Live companion app.

Speaking on the new developments, Charles Hamel, VP of Product at Ledger, stated that Ledger Connect represents the mission of the company to keep developing the most secure Web3 ecosystem. “Ledger Connect is easy, smart and safe,” he added.

The post Ledger launches browser extension to enable direct connections to Web3 apps appeared first on CryptoSlate.

- Samuel Wan
CZ on Terra LUNA collapse: ‘This is what diamond hands looks like’

In the wake of the Terra ecosystem implosion, Binance boss ChangPeng Zhao (CZ) commented, “this is what diamond hands look like,” about the 15,000,000 LUNA tokens Binance had received as part of the company’s $3 million investment in Terra.

At their peak, the tokens were worth $1.6 billion, but as of May 18, they are valued at roughly $2,740.

This is what diamond hands look like, the coins were never moved off the receiving address.

This is a non-trader hold strategy. If you adopt this strategy, you should also have some diversification. NFA. https://t.co/yRtAHlzHmz

— CZ 🔶 Binance (@cz_binance) May 17, 2022

Despite the scale of loss, CZ said Binance is willing to stand aside and have retail users compensated first part of its stance on protecting users.

Not financial advice

CZ disclosed the firm’s key dealings with Terra and the amount of LUNA it holds to increase transparency and “protect users.”

As well as revealing the firm’s LUNA holdings and relevant address, CZ also said Binance made $12 million UST through staking those holdings. But, as Binance charged zero fees on UST pairs, the firm made close to nothing on trading fees,

During the thread, CZ added that the priority during this difficult time is “protecting users.” For that reason, he has asked the Terra team to compensate retail users first.

4/ Now the important part.

To lead by example on PROTECTING USERS, Binance will let this go and ask the Terra project team to compensate the retails users first, Binance last, if ever.

Binance (after a 5 min discussion) fully support this proposal. 👇https://t.co/QnMx8aZ09A

— CZ 🔶 Binance (@cz_binance) May 16, 2022

CZ picked up where he left off the following day with the “diamond hands” tweet. Although he moderated that comment by saying adopting this non-trader strategy is best with a diversified portfolio. Not financial advice.

CZ is doubtful about Terra’s recovery plan

CEO of Terraform Labs Do Kwon has put together a recovery plan to rescue what remains of the Terra ecosystem. Monday, May 16, Kwon tweeted details of the project, which involves forking into a new chain that does not have an algorithmic stablecoin element.

6/ The Terra chain as it currently exists should be forked into a new chain without algorithmic stablecoins called “Terra” (token Luna – $LUNA), and the old chain be called “Terra Classic” (token Luna Classic – $LUNC). Both chains will coexist.

— Do Kwon 🌕 (@stablekwon) May 16, 2022

However, CZ said the plan “won’t work” and expressed doubts that the new chain will hold value to the same degree as the old chain. To illustrate his point, CZ likened this strategy to forking Bitcoin at November 2021’s high and expecting that new chain to be valued at some $1.3 trillion.

“Do they really think they can fork BTC at the snapshot on Nov 18, 2021, and the new fork will have the new BTC at $68,000 [the price on that day]?“

The post CZ on Terra LUNA collapse: ‘This is what diamond hands looks like’ appeared first on CryptoSlate.

- Footprint Analytics
Is the GameFi Bubble About to Burst? | 2022 Q1 GameFi Industry Report

The crypto market saw a significant decline in 2022, but not all sectors faced the same trajectory. In 2022, the funding market has shown to be very active, with capital flowing into the GameFi industry at an unprecedented rate. The overall Q1 funding amount of the GameFi rose 194.19% year on year, with start-up game projects being hotly pursued by capital and the industry developing positively.

In its report, Footprint Analytics, the visual data analytics platform, and DeGame, a Web 3.0 NFT game infrastructure platform, have provided a comprehensive look at the GameFi industry’s performance in the first quarter of 2022.

In it, they cover:

Overall market data and trends GameFi-related performance on various blockchains Investment and financing developments, A detailed look at STEPN, the quarter’s biggest project 

Here are the key points that you must know from the happenings of the GameFi industry in the last quarter.

I. The GameFi market was stable

The total market capitalization of all GameFi tokens fell by 15% in Q1 due to market trends, which correlated with fluctuations in the BTC market cap. However, the total number of GameFi users remained roughly the same as in 2021 Q4 at around 1.2 million.

Footprint Analytics & DeGame - Q1 GameFi UsersFootprint Analytics & DeGame – Q1 GameFi Users

The total transaction volume of GameFi projects across all chains in Q1 was $6.322 billion. The top three chains by transaction volume from GameFi were WAX, Hive, and BSC. WAX is in the lead, accounting for 77.7% of the total game volume of each chain combined.

The daily trading volume peaked at $205.8 million on Jan. 9 and declined after.

II. Many chains remain undiversified

In Q1, most chains continued to be dominated in terms of users by a single large, successful project. BSC and Ethereum are exceptions to this trend and have relatively even distribution. 

Footprint Analytics & DeGame - Market Share of Gamers (Q1)Footprint Analytics & DeGame – Market Share of Gamers (Q1)

Here are some of those unbalanced ecosystems and their respective head games:

Wax: Alien Worlds (100% of total users)

Hive: Splinterlands (99.9% of total users)

Ronin: Axie (100% of users)

EOS: Upland (94.1% of users)

III. 2022 Q1 Game Token Liquidity

In Q1 2022, 20% to 30% of tokens listed on centralized exchanges were GameFi project tokens, and the trading volume of the head game tokens is extremely high, occupying the majority of the market share.

Footprint Analytics & DeGame - 2022Q1 Avg Token VolFootprint Analytics & DeGame – 2022Q1 Avg Token Vol

The project with the highest daily token trading volume was STEPN, whose governance token, GMT, had an average daily trading volume of nearly $100 million and was the best performing chain in terms of token liquidity realization. It was followed by Gala Games, The Sandbox, and Decentraland.

IV. 2022 Q1 GameFi Investment Jump by 194.19% YoY

The GameFi market saw a 194.19% increase in Q1 funding compared with the data last year and a 40.78% decrease on a season-over-season basis. Out of all project categories, indie games—those video games typically created by individuals or smaller development teams—were at the forefront in terms of both the number and amount of funding than any other category of GameFi project.

Footprint Analytics & DeGame - Funding TrendsFootprint Analytics & DeGame – Funding Trends

There were more seed rounds than any other kind in Q1 for GameFi, whereas strategic rounds raised the most funds. Projects on Polygon received the most funding in amount and quantity, and Animoca Brands was the most active investment institution.

V.  STEPN dominated the quarter with innovative gameplay

STEPN, a move-to-earn GameFi app built on Solana, officially launched in January and reached 21K daily and 66K monthly user activities in February, which is super fast.

Since its launch in January, the number of new daily top-up users has been growing, and the growth rate has accelerated, with the current daily top-up users at around 5-8K. Official wallet GST daily incoming and outgoing amounts reach 10 million USD, with daily withdrawals and deposits showing a stepped and significant rise at the end of March. However, the net inflow and outflow have been in a dynamic balance.

Footprint Analytics & DeGame - STEPN GMT Price & Trading VolFootprint Analytics & DeGame – STEPN GMT Price & Trading Vol Conclusion:

While it may seem like GameFi is in a bubble, data from Q1 indicates that the sector has been relatively strong compared to the greater crypto industry. The market cap of gaming projects was stable, token liquidity increased, and VCs continued showing significant interest in new projects. Additionally, new use cases in the form of move-to-earn have opened the possibility for more widespread adoption of GameFi. 

However, many chains still face difficulty diversifying their ecosystem, which may pose a systemic risk to both the chain and the head GameFi projects that depend on them. 

To better understand each of these trends, read the full 2022 Q1 GameFi Industry Report by Footprint Analytics and DeGame. 

 

About Footprint Analytics:

Footprint Analytics is an all-in-one analysis platform to visualize blockchain data and discover insights. It cleans and integrates on-chain data so users of any experience level can quickly start researching tokens, projects, and protocols. With over a thousand dashboard templates plus a drag-and-drop interface, anyone can build their own customized charts in minutes. Uncover blockchain data and invest smarter with Footprint.  

Footprint Website Discord Twitter Telegram YouTube About DeGame: 

DeGame.com is a Web 3.0 NFT game infrastructure platform under Singapore-based blockchain company L2Y Research. DeGame aims to become the most comprehensive aggregator of Steam and GameFi MarketCap in the Web 3.0 world. With DeGame, players and investors can better identify and discover high-quality games and Play-to-Earn earning opportunities through its one-stop solutions: game searching, data tracking & analysis, strategy, download, and more functions. 

DeGame Website Discord  Twitter 

The post Is the GameFi Bubble About to Burst? | 2022 Q1 GameFi Industry Report appeared first on CryptoSlate.

- Chayanika Deka
CryptoCom Pay Now Available for Shopify Merchants

CryptoCom has announced enabling Shopify merchants to leverage its payment solution  – CryptoCom Pay – on their online storefronts.

According to the official blog post, the crypto trading platform stated that the latest move should help the e-commerce company expand its reach by facilitating more ways for customers to make purchases with cryptocurrencies.

CryptoCom – Shopify

To incentivize Shopify merchants to sign up for CryptoCom Pay, the crypto platform has also announced waiving the 0.5% settlement fee on all transactions for one month after integrating. Stores will have until June 30th to avail this offer. Currently, customers can do so in more than 20 tokens, including Bitcoin (BTC), Ethereum (ETH), Cronos (CRO), Shiba Inu (SHIB), Dogecoin (DOGE), and ApeCoin (APE).

Commenting on the development, Kris Marszalek, Co-founder and Chief Executive Officer of CryptoCom, revealed that offering more customers and merchants across the ability to engage in commerce leveraging cryptocurrencies is a top priority for the company.

John S. Lee, Lead of Blockchain Ecosystem at Shopify, also said,

“We’re happy to welcome Crypto.com to help Shopify merchants provide an additional fast and convenient way for customers to pay for their online orders. Our growing blockchain ecosystem demonstrates our commitment to supporting merchants with alternative payment methods on their storefronts, helping to further expand what’s possible in commerce.”

Shopify Advancing its Steps

The Ottawa-based e-commerce giant recently partnered with the digital payments platform Strike to enable merchants in the United States to receive faster and cheaper Bitcoin payments via the Lightning Network (LN). As reported earlier, Shopify’s focus is on tapping the previously unexplored segment and purchasing power while letting its merchants generate savings via low-cost payment processing.

Shopify previously announced allowing its merchants to trade NFTs on its platform after partnering with GigLabs. At the beginning of this year, the company’s founder, Tobias “Tobi” Lütke, joined Coinbase’s Board of Directors.

Last month, Shopify, along with Ledger and TaskUs, were slapped with a class-action lawsuit over the severe data breach two years ago. The plaintiffs accused that both Shopify and TaskUs were aware of the violation in Ledger’s database for more than a week before notifying customers.

- George Georgiev
CryptoBlades: Guide and Review of the Interactive Play-to-Earn Game

The Play-to-Earn (P2E) gaming sector has grown into a powerful concept within the cryptocurrency industry as non-fungible tokens took flight and legitimized a new segment in the market.

Gaming has long been touted as one of the best applications for blockchain-based technology. Even though it’s still in its nascency, GameFi has proven to be a model that players enjoy.

For example, CryptoBlades — a blockchain and web-based NFT roleplaying game — attracted the interest of hundreds of thousands of users. Initially deployed on the BNB Chain (BSC), it expanded to other networks to achieve transaction efficiency and improved user experience. CryptoBlades was also named the Most Valuable Builder in the BSC incubation program.

The following is a complete guide on playing the game and an honest review of our experience playing CryptoBlades in 2022. You can also check our video guide on the game:

What is CryptoBlades?

As mentioned above, CryptoBlades is an innovative web-based NFT roleplaying game that launched on the BNB Chain (formerly – Binance Smart Chain). Developed by Riveted Games, CryptoBlades brings forward plenty of mechanisms that set the tone for future developments and trends in play-to-earn gaming.

Although it originally started on BSC, the game has expanded to other networks to achieve transaction efficiency, improve the gameplay experience, and maximize players’ earnings. At the time of this writing, in April 2022, the game is available on the following networks:

BNB Chain HECO Blockchain OEC Chain Polygon Avalanche Aurora

For the sake of this guide, we will go through the gameplay using the BNB Chain, but some of the other options are more cost-efficient and could increase your earnings.

At the game’s core is a reward system that allows players to earn SKILL tokens after defeating their enemies. With those earnings, players can acquire additional characters based on various elements, forge unique weapons as non-fungible tokens (NFTs), reforge weapons to increase their overall power, trade on the marketplace, or withdraw their tokens completely.

img1_cryptoblades

Data from BSC Scan shows that there are over 360,000 holders of the native token of the game – SKILL. However, given that the game supports five networks, that number has grown significantly to over a million – according to the official website.

Who Created CryptoBlades?

The game development studio behind CryptoBlades is called Riveted Games. The studio was founded in 2014, and some of its key members include:

Philip Devine – Owner of Riveted Games, CEO at CryptoBlades

Devine founded Riveted Games in 2014 and has released multiple award-winning games on Steam – the largest marketplace for video games globally and independently. He has a background in development and is the one who built the team from the ground up.

Daniel Karsai – Lead Game Developer 

Daniel joined Riveted Games back in 2016 and specializes in many fields such as programming, game design, Unity, 3D graphics, and blockchain development. He has also worked on the award-winning space simulation game title Lightspeed Frontier and other names such as Spoxel and Nations at War.

Kyle Kemp – Lead Front-End Developer 

Kemp is the lead front-end developer for CryptoBlades. He’s responsible for creating over 108 repositories on Github and is in the top 0.1% of users for star ratings. Known as a renowned front-end developer globally, Kemp is responsible for the user interface and also works on constantly optimizing the overall gameplay experience.

Other names on the team include Nick Newcomer – Chief Operating Officer (COO) David Diebels – Chief Financial Officer (CFO), and Aaron Hutton – Chief Marketing Officer (CMO).

Gameplay Basics

Because of its web-based game design, you don’t need to download a native client, as you can play straight from your browser – here.

Before we dive in-depth into the gameplay, it’s worth noting that we will be playing the game using the BNB Chain for the sake of this guide. However, there are more efficient networks in terms of transaction costs.

The team has created a comprehensive video on how to connect your MetaMask wallet to the OEC network, and the links will be in the description.

To dive into the CryptoBlades universe, you need to install MetaMask, Coinbase Wallet, or other supported wallets. Once you have it ready, you should set up the BNB Chain and deposit some BNB.

Once you have this done, you need to go to the game’s official website, hit the Enter Game button on the top right of the navigation menu, and select a network.

img2_cryptoblades

This is the screen that you will see immediately after entering the game portal:

img3_cryptoblades

We now need to get some SKILL. Clicking that link would take you to ApeSwap, a well-known decentralized exchange where you can swap some of your BNB for SKILL.

Characters

From here, you can mint your character. At the time of writing this guide, it cost us 0.6185 SKILL to create our first character, but that will surely increase due to the recent Dynamic Minting update the team just released. We minted two characters: Jano Lemesprie and Flisp Osresp:

img4_cryptoblades

There are a few things that we need to unpack here. First, the screen above is the Plaza – it’s where you keep your active characters, and there’s a limit of four. However, the team also introduced the Garrison feature – you can have unlimited characters in the Garrison and choose which ones you want to be active. To send a character to the Garrison, click on the three dots on the top right of your character card and select the option.

You will also notice an element icon on top of each of our characters. This is integral to the gameplay and fundamental for player-versus-player (PVP) action.

Important Stats Elements

There are four different elements present in the game:

Fire Earth Lightning Water

In our case, we pulled an Earth and a Lightning character.

All characters, weapons, and enemies are assigned an element. These can increase or decrease your chances of success in battle. This is why you need to know the following and keep it in mind when selecting opponents:

Fire trumps Earth but is weak to Water Earth trumps Lightning but is weak to Fire Lightning trumps Water but is weak to Earth Water trumps Fire but is weak to Lightning

Therefore, our Earth character – Jano Lemesprie – will be strong against lightning and weaker against fire enemies.

Stamina

Stamina is a vital stat to consider. It regenerates by one every five minutes. Your starting stamina will always be 200, which can all be used in one battle for maximum gains. However, it is possible to battle with intervals of 40 stamina for maximum gains.

Power

As you can see, both of our starting characters have 1000 PWR – this is their current power. Clicking the question mark gives us some additional information:

img5_cryptoblades

This is a measure of your character’s strength – fighting an opponent with less PWR means you are more likely to win the battle and vice versa.

To find out more about the calculations behind the power, you can check this entry.

Weapons

Weapons are amongst the main NFTs that players can own in CryptoBlades, and you can hold an unlimited number of them. However, there is a price associated with forging weapons – all of them are located in the Blacksmith section.

img6_cryptoblades

For the sake of this guide, we will also mint ten more weapons.

As you can see on the weapon image, each has its element, increasing its strength versus weaker element opponents and vice-versa. You can combine weapons that match your character based on their element to increase your odds of winning in combat.

Each weapon also has a number of stars – from one to five. According to the whitepaper, the chances of forging different weapons are:

One star – 44% Two stars – 35% Three stars – 15% Four stars – 5% Five stars – 1%

Luckily for us, we managed to mint a five-star weapon:

img7_cryptoblades

It’s a water element sword named the Unholy Sculptor, and it increases both our Power and Strength.

 

During certain events, there is sometimes an option to forge a special weapon.  These unique weapons have an exclusive design, special ability in PvP to reroll an opponent and give an option for a higher quality weapon.  Earthen Hope, which was celebrating Earth Day, could be forged either by spending SKILL or shards.  Shards, currently, can only be obtained through forging other weapons.img_cryptoblades You can also reforge your weapons using Dust. To obtain Dust, you can burn weapons instead. In any case, reforging your weapons buffs them and adds more power.

Beyond weapons, you can also obtain equipment such as shields, trinkets, and different types of armor.

Combat

Moving to combat, this is the mode where you battle creatures from the CryptoBlades universe.

The combat feature is powered by a formula that you can explore in-depth here. This is what your combat dashboard will look like:

img8_cryptoblades

As you can see, there’s all the necessary information about your opponent. In addition, you will see a guide to the elements on the top-right if you need to be reminded what elements are strong against each other.

Here, you can also equip your different weapons. In our case, we have selected our earth-based character and equipped our brand new five-star sword. The game also points you to matches that you are likely to win. But, of course, they also reward you fewer points than those that are more challenging, so it’s entirely up to you to determine the risk factor of your gameplay.

Once you have found your opponent, click on the top and sign the transaction. This will trigger the algorithm based on the formula described in the entry we provided above, and the results will determine the winner. In our case – we won the roll and saw our first-ever victory in CryptoBlades!

img9_cryptoblades

As you can see, we gained 0.000611 SKILL and 31 experience points. However, these rewards scale with your level, so the more you level up – the higher the rewards.

If you are more of a PvP type of player – you can select the PvP mode.

The Arena

There are a few things that you need to know about the Arena. First, this is the entrance to the PvP mode in CryptoBlades, and it will cost you 3.99 SKILL tokens to enter. While in the Arena, you can be attacked – and you can also attack. Leaving the Arena will cost you 0.9975 SKILL. These wagers vary based on the chain you use and could be lower than those displayed here.

You can choose which characters you want to use and equip them with weapons and shields:

img10_cryptoblades

You get ranking points and SKILL rewards whenever you win a battle or successfully defend against an attack. You will be matched with opponents randomly. Another thing to consider is that Arena doesn’t require stamina. Also, it’s divided into character levels: 1-through-10, 11-through-20, and so forth.

Matches against higher-level players might be tough to win. However, they also grant you more ranking points, giving you a better chance of winning the end-of-season rewards and climbing the leaderboards.

Once in the Arena, you can begin fighting other players:

img11_cryptoblades

In our case, we were immediately matched with another player who was level 8 but also had no ranking points:

img12_cryptoblades

You can always reroll if you don’t like your match-up, although it will cost you some SKILL. You can also leave at any time you decide. In our case, we were unfortunate and couldn’t win.

If you’re not the PvP type of player, you can always battle monsters, raid, or do quests, which brings us to our next point – raids.

Raids

As many of you who have played any MMO know, raiding is a group activity. It’s the same in CryptoBlades – you team up with other players to fight various bosses and get rewards.

Raiding periods vary, and so do the bosses – the higher your level is, the more challenging the bosses are. Fortunately, you fight with the combined PWR of everyone in the raid. Once the attack is complete and you emerge victoriously, you also get your loot.

img14_cryptoblades

You can choose your weapons that provide various multipliers and increase the strength of your characters. Raiding requires 200 stamina to enter.

Quests

Quests are yet another way to improve and progress with your character. However, they are available only for characters not in Arena. In return for completing quests, your characters gain reputation points that increase their tier, experience, and items.

You can request quests and then determine whether or not you want to complete them:

img15_cryptoblades

In this case, we had to submit 280 stamina to complete the quest and receive 12 reputation points and a new weapon.

CryptoBlades Marketplace – the Bazaar

The Bazaar is CryptoBlades’ marketplace where you can sell your characters and items or buy whatever you need. This is what it looks like:

img13_cryptoblades

As you can see, you can filter the items and narrow down the search. Then, all you need to do is connect a wallet with some tokens, and you are good to go.

CryptoBlades Kingdoms: What You Need to Know

 

In October 2021, the team introduced CryptoBlades: Kingdoms (CBK). It’s a realm that contains 6,250,000 claimable territory locations with dimensions of 2500 x 2500, and it’s divided into 50×50 chunks.

Each claimable territory can have a village or a dungeon – or, of course – be empty. The villages contain three primary resources – stone, clay, and wood. These can be used to construct buildings and also to recruit troops.

Land can currently be acquired using KING (to be explained) from the Bazaar. CBK also introduced another token called KING, which has a supply of 1 billion

The token powers the CBK ecosystem, and some of the things that you can do with it include but are not limited to:

Upgrade a village Claim a new village Send an attack or support Nickname your wallet

It’s worth noting that you only use KING to acquire gold, and from there – almost everything happens off-chain and is purchasable with gold.

Tokenomics

When it comes to CryptoBlades (not CryptoBlades: Kingdoms), the primary token is SKILL. Players leverage it to acquire items, participate in Arena, battle monsters, enter raids, and even more coming soon.

The supply of SKILL is designated under the following scheme (according to the official whitepaper):

IDO – 35% Gameplay Incentives – 20% Development – 20% Initial Liquidity – 15% Liquidity Incentives – 10%

The total supply is 1,000,000 SKILL coins.

Conclusion

CryptoBlades is a leading title in the blockchain P2E ecosystem, and it’s perhaps easy to see why.

The game design follows easy-to-understand logic that is critical for P2E projects. In addition, it’s based on a familiar rolling model, which makes it very easy for users to grasp.

Of course, suppose you are expecting a traditional gaming experience with Unreal engine graphics. In that case, this is not the game for you – but neither is the entire play-to-earn segment of the cryptocurrency industry.

The entire game is built to make completing various tasks easy, while the PvP action is somewhat addicting. Even though the rewards from each battle are not significant, it’s easy to see how using a more gas-efficient blockchain such as OEC can increase profitability. Scaling this up across various accounts and multiple characters makes it entirely possible to generate significant income, as it only takes mere seconds per battle.

The requirements to start playing the game on the BNB Chain may be steep, but users can choose a more efficient network.

Our experience with CryptoBlades has been satisfying, and it’s easy to see why it has garnered so much popularity over the past year.

- Andrew Throuvalas
Mike Novogratz Breaks Silence on Terra’s Collapse

Mike Novogratz – billionaire investor and CEO of Galaxy Digital – has issued a statement addressing the recent meltdown of the Terra ecosystem. He highlights lessons he’s learned from the situation but reinforces his faith in the crypto economy as a whole.

The Idea That Failed

In a letter to shareholders and the crypto community, Novogratz lamented the loss of over $40 billion in wealth suffered by LUNA and UST investors alike. The UST stabilization mechanism meant to maintain its dollar peg only ended up devaluing LUNA into worthlessness.

“UST was an attempt at creating an algorithmic stable coin that would live in a digital world,” wrote Novogratz. “It was a big idea that failed.”

Not only has the collapse “dented confidence in crypto and DeFi,” but it also burned part of Galaxy Digital’s own balance sheet. The company bought LUNA in March of 2020 citing “significant growth potential”, as one of South Korea’s top finance apps was already built upon Terra.

However, Novogratz claims that the Federal Reserve’s tightening in the face of record-high inflation has caused the crypto market to unwind. This, he claims, placed immense price pressure on LUNA – the reserve asset backing UST, ultimately ending in a bank-run style death spiral for the coin.

While the investor does not believe the bearish macroeconomic backdrop will end anytime soon, he remains confident in the crypto ecosystem. That said, he re-stressed some core tenets of crypto investing to stay cautious, including diversification and risk management.

Many in the online community awaited Novogratz’s commentary on the matter, who famously had a LUNA-themed tattoo emblazoned on his arm in January. “My tattoo will be a constant reminder that venture investing requires humility,” he said.

Novogratz clarified that his company’s treasury “does not utilize algorithmic stablecoins.”

Re-Examining Terra’s Collapse

Most top figures within the Terra ecosystem agree with Novogratz that the network unwound due to its flawed UST stabilization mechanism. However, many also theorize that UST was initially de-pegged because of a deliberate short attack, executed by a handful of wealthy actors.

A post retweeted by Terra co-founder Do Kwon claims that nearly 300 million UST were dumped on Curve finance prior to its destabilization. This was followed by numerous shorts on LUNA, and Twitter posts echoing negative sentiment about the cryptocurrency.

- Dimitar Dzhondzhorov
Africa Could Benefit Substantially by Adopting Crypto, Says Top Kenyan Financer

According to James Mwangi (CEO of Kenya’s largest banking conglomerate Equity Group Holdings), the African continent will significantly develop technologically and economically if it opens its arms to the digital asset industry. To do so, local authorities should cooperate with regulators, convincing them of crypto’s benefits.

Crypto Could be Africa’s Stepping Stone

In a recent interview for Bloomberg, Mwangi argued that the African countries should dive into the fourth industrial revolution to catch up with the rest of the globe. He believes cryptocurrencies are part of that transformation, and they can bring certain advantages to the domestic economy, such as “complement the mobile money:”

“Africa will benefit substantially from leapfrogging on the fourth industrial technologies, and cryptocurrency is one of them. Cryptocurrency can as well complement the mobile money wallet, but essentially, we need to talk to the regulators.”

The financer noted that mobile money transactions are more popular than traditional payment methods in Kenya. As such, incorporating these new types of tech into them could turn Africa into a competitive market:

“We are hoping that the use of technology, particularly data and artificial intelligence, will be a major basis of leapfrogging because we are not talking about existing manufacturing capacity, we are starting afresh.”

James MwangiJames Mwangi, Source: Forbes Africa

A considerable proportion of the African residents lack basic access to financial services, which accelerated the usage of digital assets. Last year’s Luno survey revealed that 69% of the local crypto owners invested in the asset class to provide a better life for their families.

48% distributed their wealth to pay for their children’s future educational costs, while 43% said they wanted to establish a fund to pass on to their relatives.

The cryptocurrency adoption in Africa reached its peak last month when the Central African Republic declared bitcoin legal tender. Thus, it became the second country after El Salvador, where the primary digital asset is an official means of payment.

Kenya to Become a Blockchain Hub

Kenya’s ambitions to hop on the cryptocurrency bandwagon are not new. A year ago, its central bank considered adopting bitcoin as legal tender in an attempt to aid its depreciating national currency. Speaking on the matter was Central Bank Governor Njoroge:

“Our decision to shift to bitcoin is both tactical and logical… We are losing too much simply because someone at the IMF woke up on the wrong side of the bed. Bitcoin will put an end to it.”

Earlier this month, the Kenyan entity Sankore partnered with the Near Foundation to establish a blockchain hub in the country. The unit will provide crypto education to the locals and find talents for the industry across the African continent.

- Mandy Williams
Solana-based DeFi Land Launches its First Play-to-Earn Game

DeFi Land, a multi-chain agriculture simulation gaming project built on the Solana blockchain, has unveiled its first play-to-earn game created to gamify all aspects of decentralized finance (DeFi).

DeFi Land Launches New P2E Game

As per the press release shared with CryptoPotato, the game, scheduled to go live on May 18th at 8 PM UTC, will allow players to fish, shoot, farm, drive harvesters, carter for pets and do lots more.

In return, players will earn DFL and GOLDY, the governance and in-game tokens of the DeFi Land ecosystem. Players can use these tokens to upgrade, customize, craft, and repair their in-game non-fungible tokens (NFTs).

Players are required to own at least one DeFi Land Gen-0 NFT before they can access the P2E feature. The NFT collection currently has 22000 Gen-0 NFTs in circulation with a floor price of 0.9 SOL on NFT marketplaces OpenSea and Magic Eden.

DeFi Land Offers Free-to-Earn Mode

The game also has a free mode that allows players to start their gaming adventure without initial capital. With the free-to-play feature, players can accumulate XP and move up the leaderboard to earn monthly prizes such as DFL, GOLDY, and in-game NFTs.

According to the PR, the DeFi Land ecosystem was initially launched without monetary rewards, but the project has managed to attract more than 7,500 daily users and 25,000 monthly users waiting to access the new game.

Although the game will initially go live on the Solana blockchain, the project said it plans to explore other chains in the coming months.

“Thanks to 7,500 DAU and 25,000 MAU, DeFi Land continues to climb the overall rankings. As the team prepares to launch the first of its kind Play-and-Earn game mechanics, things will get much more exciting. DeFi Land plans to explore a multichain future over the coming months, with more announcements regarding chain integrations to follow in June. An alpha mobile version of the game is in development and should be released in Q3 2022.”

DeFi Land’s first-of-its-kind play-to-earn gaming mechanics comes after a collaboration with Solana’s leading move-to-earn project STEPN.

- Andrew Throuvalas
Meta Files “Meta Pay” Trademark Applications Hinting at Cryptocurrency Services

Meta Platforms Inc. – the owner of the Meta (formerly Facebook) brand – filed for five trademark applications on Friday under the name of “Meta Pay”. They appear to be dedicated to a new digital payments platform that will integrate various cryptocurrency and blockchain-related products.

Examining “Meta Pay”

According to the applications filed on May 13th, Meta Pay is described as an “online social investment network.” It will allow users to conduct trades using digital currencies, blockchain assets, and crypto tokens, while providing user authentication and identity validation services.

Another description calls it “downloadable computer software” designed for “e-commerce”, including ordering and purchasing goods and services. Once again, it makes mention of “validating cryptocurrency transactions using blockchain technology,” and even serving as a cryptocurrency wallet.

Meta only recently abandoned work on its digital wallet NOVI, alongside its multi-year stablecoin project Diem. Many of its former developers fled towards other blockchain projects shortly after, with the former head recently announcing a shift to Bitcoin development.

However, Meta’s CEO Mark Zuckerberg maintains his fascination with the “metaverse” – a concept of virtual reality heavily supported by blockchain, cryptocurrencies, and NFTs. Nevertheless, the trademark filings for MetaPay make no mention of the “metaverse”, staying focused on blockchain and digital assets.

One of the documents also mentions  “enabling users to invest in digital currency,” and “providing a digital exchange,” implying that the service may compete with the likes of Coinbase and Binance. Digital asset lending and investment services may be included.

Back in December, the company spent $60 million acquiring the MetaPay.com domain name.

Meta’s Progress With Crypto

Though the company is moving full steam ahead with its crypto adoption plans, it hasn’t gotten off to the best start. Its Metaverse focused unit Reality Labs lost almost $3 billion in Q1 of 2022, while Meta’s stock is down 42% year to date.

Zuckerberg confirmed in March that NFTs were on their way to Instagram, shortly after Twitter integrated them into its platform. Instagram has already begun testing with the blockchain assets, and Facebook is soon to follow suit.

- Chayanika Deka
SoftBank-backed The Sandbox Partners With Legendary Jazz Band Jamiroquai

Jamiroquai is the latest entity to join more than 200 of The Sandbox’s partnerships that include Ubisoft, The Rabbids, Gucci Vault, The Walking Dead, Snoop Dogg, Adidas, The Smurfs, and CryptoKitties, among others.

The Animoca Brands subsidiary announced the partnership with the legendary funk and acid jazz band – Jamiroquai – which is well-known for their 1996 global smash hit “Virtual Insanity.”

According to the official blog post, the goal of the strategic collaboration will bring the song that was released as the second single from their third studio album, Travelling Without Moving, to its virtual LAND in The Sandbox. While the song did manage to capture the audience and even fetched a Best Video at the VMAs more than twenty years ago, its Director Jonathan Glazer admitted that there was no “computer trickery” used with the famous floor moving concept. Jamiroquai shared a 38-second teaser of the famous song in pixel format to give a glimpse of what to expect in the virtual real estate. The British funk band said in a statement,

“Jamiroquai has always been future facing and super social – creating a LAND where everyone can come together in The Sandbox with a bit of funk, freedom, and fashion will provide a communal place to digitally connect with our fans and fellow music lovers. We look forward to telling you more soon, but for now can say that hats will definitely be involved.”

The Sandbox metaverse has emerged as one of the most high-profile metaverse players. Earlier this month, Dubai Virtual Assets Regulatory Authority (VARA) announced purchasing its first piece of land in The Sandbox metaverse to open virtual offices.

Featured Image Courtesy of Smooth

- Andrew Throuvalas
Terra Co-Founders Face Lawsuit from Korean UST and LUNA Investors

In the aftermath of Terra’s collapse, co-founder Do Kwon now faces legal pressure from affected Korean investors. They’ve filed both criminal and civil lawsuits, alongside an order to seize Kwon’s assets.

Trouble With the Law

According to the Korean news outlet Munhwa, investors in both UST and LUNA filed with the court to seize Kwon’s property this week, while also suing for fraud. They’ll be represented by the legal firm RKB & Partners, from which 6 lawyers are already reviewing a complaint against the CEO.

“There are related investors inside the law firm, and we plan to file a complaint against CEO Kwon at the Financial Investigation Unit of the Seoul Metropolitan Police Agency,” said Kim Hyeon-kwon, a partner at LKB & Partners.

Kwon became a target of the crypto industry’s ire after the UST stablecoin lost its peg to the dollar. Its stabilization mechanism also caused Terra’s governance token LUNA to undergo hyperinflation, reducing its value to virtually zero. Many large investors in the protocol – such as the UK Youtuber KSI – watched their multi-million dollar LUNA positions crumble to nothing in the aftermath.

As a result, Kwon may be summoned to appear before the South Korean government to testify on each cryptocurrency’s collapse. The national politician Yun Chang-Hyun has requested that Kwon and other executives of local crypto exchanges explain their actions while the de-peg was taking place.

That’s not all. Next week, a new Korean group called “Victims of Luna, UST coins” will file a lawsuit against both co-founder Do Kwon and Shin Hyun-Seong for fraud and illegal fundraising. Over 1500 people are members of the group.

Neither lawsuit has reached court yet, but likely will soon.

The Vote to Recreate Terra

Do Kwon put forth a proposal on Monday suggesting that the Terra network fork from its current chain, and start again with a different cryptocurrency. As of Wednesday, the vote has gone live.

About 20% of the votes are in so far, with 90% of respondents voting “yes”. Should it take place, the old devalued LUNA tokens will become “LUNC” (aka LUNA Classic) and the new LUNA supply will start at 1 billion tokens.

Not everyone is satisfied with the idea, however. Binance CEO Changpeng Zhao stated on Saturday that forking the chain “won’t work”.

 “Forking does not give the new fork any value,” he said. “That’s wishful thinking.”

- CryptoVizArt
This is Bitcoin’s First Target for a Potential Recovery (BTC Price Analysis)

Despite the relative calmness in the market, the price action is not showing signs of a robust recovery. Although the US stock closed yesterday with a green candle and the DXY index has gone down for the past three days, Bitcoin has not been successful in stabilizing above the critical $30K level. Fear and doubt still dominate the market.

Technical Analysis

By Grizzly

The Daily Chart

The Binance-Futures price and order-book chart are shown below on the daily timeframe.

Considering the historical trends over the last two years, the upward trends usually have been accompanied by an increase in the Volume Delta, which indicates the dominance of takers-buy pressure alongside an increase in the Directional Trend Index (in blue). On the other hand, downward trends have often occurred with divergence in the Directional Trend Index and the dominance of takers-sell pressure (in red).

Throughout this week, the takers-sell pressure has been gradually diminishing. To some extent, takers-buy orders have also entered the market (not significantly), which has caused histogram bars to turn green in the volume delta. But the directional trend index is still moving below the red line, indicating the trend’s weakness.

Suppose the taker buyers start to buy aggressively, and the directional trend index breaks the red line and the blue one. In that case, the reversal of the trend will be confirmed according to this strategy. Otherwise, BTC is likely to remain bearish as there are no signs of a turnaround.

Key Support Levels: $28,700 & $25,400

Key Resistance Levels: $31,700 & $32,900

1Source: TradingView

Moving Averages:

MA20: $33,611

MA50: $38,620

MA100: $39,986

MA200: $44,835

The 4-Hour Chart

On the 4-hour timeframe, the bullish structure shows some weakness in its last wave. If the bulls can hold the previous higher low at $29K and then push the price above the red resistance zone, it can be expected that an uptrend momentum will be formed in the short term. Otherwise, the lower levels might likely be tested again.

Bitcoin currently struggles with 4H MA50 (as resistance) at $ 29K. The RSI indicator is also moving up in the bearish zone and is close to the baseline, confirming the lack of bullish momentum.

btcchart_2Source: TradingView On-Chain Analysis Exchange Netflows

Definition:  The difference between coins flowing into and out of the exchange. (Inflow – Outflow = Netflow). A positive value indicates the reserve is increasing due to net inflow.

For spot exchange, a high value indicates increasing selling pressure. For derivative exchange, a high value indicates possible high volatility. btcchart_3Source: CryptoQuant

BTC inflow into the Coinbase exchange in the last two days has exceeded the outflow. Just the same way that the withdrawal of 29493 bitcoins from the Coinbase on May 14 caused a short-term uptrend, one must be careful about this particular inflow to Coinbase and reduce the risk according to any unusual regime of significant inflows.

- Dimitar Dzhondzhorov
CZ: Binance Wants to Apply for a Crypto License in Germany

Changpeng Zhao – CEO of the digital asset exchange Binance – revealed that the company seeks to obtain a license from the German regulators and settle in Europe’s largest economy. He also touched upon the recent market decline, saying it has its cycles and a potential “crypto winter” will not last forever.

After France, Binance Now Eyes Germany

At the beginning of this month, the largest cryptocurrency platform – Binance – scored a major victory in its expansion plans, securing the approval of the French financial watchdogs. Specifically, the exchange became registered as a Digital Asset Service Provider (DASP) in France by the nation’s top regulator – the AMF.

CZ asserted that the trading venue’s main priority is its users as they can now have “further confidence in Binance France as a trusted DASP.”

In today’s appearance (May 18) at the Finance Forward Conference in Hamburg, the executive outlined that the company’s next expansion target is Germany:

“Germany is an important market. We are building a compliance team and want to apply for a license.”

It’s worth noting that Binance had to halt providing derivatives services to users based in Germany, Italy, and the Netherlands last year, but the company seems in a better position now.

CZ also gave his two cents on the recent price decrease of most cryptocurrencies, saying such plunges are part of the market’s nature and have occurred multiple times:

“A winter might come. But the market has its cycles, and we’ve seen it several times.”

Changpeng_ZhaoChangpeng Zhao, Source: Binance

Speaking on the matter was also the investor and Internet entrepreneur – Jan Beckers – who thinks “boom times” will return in the future:

“The recent crypto crash signifies a cooling off for neo-brokers’ business models. But the boom times will come back. I would still be cautious at the moment, though. We see a rebound in the market over the next 12 months.”

Binance Strengthening its Legal Division

As CryptoPotato reported earlier this week, the exchange is looking to reinforce its legal and compliance team in case of possible issues with global regulators. Binance US aims to strengthen its unit by hiring an employment counsel and paralegal, while Binance Holdings Ltd. has 41 positions open across its legal division.

The platform has faced enhanced criticism from global watchdogs in the past year regarding its operations. For example, the UK’s FCA argued that Binance poses a “significant risk” and cannot be monitored effectively. Shortly after, South Africa’s FSCA warned that the company does not have the necessary registration to provide brokerage services or give investment recommendations in the nation.

Despite the enhanced criticism, Binance has managed to settle the controversy and currently faces no lawsuits.

- Cake DeFi
DO YOU REALLY OWN YOUR CRYPTOS? 
Why Asset Custody & Segregation Should Matter To You
DO YOU REALLY OWN YOUR CRYPTOS? 
Why Asset Custody & Segregation Should Matter To You

Recently, growing concerns about how crypto platforms manage user funds have given opportunity for members of the media and regulators to give crypto investors an inquisitive look and ask a pressing question: do you really own your cryptos?

In this article, we dive into the importance of looking beyond the user interface of your favorite crypto platforms and being critically aware of how they treat your hard-earned crypto funds or assets.

IF THEY GO BANKRUPT, SO WILL YOU

On page 84 of its recent earnings report with the U.S. Securities and Exchange Commission, one of the biggest crypto exchanges specified that in the event of the company declaring bankruptcy, “the crypto assets we hold in custody on behalf of our customers could be subject to bankruptcy proceedings.” In effect, its users would become “general unsecured creditors” and that they will have no right to claim any specific property from the exchange in proceedings. Moreover, their funds would become inaccessible.

Indeed, this is in stark contrast to traditional brokerage firms as securities held in such accounts are legally segregated from the assets of the brokerage - meaning they remain “untouched” even if the company goes bankrupt. Many countries even offer protection for regulated brokerage accounts; some even as much as 500k in the case of The Securities Investor Protection Corp. in the US.

So, what’s our opinion on the matter?

As a crypto service provider and as crypto investors ourselves, we strongly express our belief that customers should never be put in such a predicament. For us, the distinction between customer funds and company funds is elementary, and that customers should not be held responsible or be compelled to also shoulder any burden resulting from a company’s misfortune or shortcomings.

As such, we implore crypto investors to have a good understanding of how they can keep full ownership of their crypto assets. Also, we take this opportunity to share information on Cake DeFi’s practices and policies regarding asset custody and segregation.

CUSTODY & ASSET SEGREGATION AT CAKE DEFI

Also sharing his thoughts on the matter via Twitter is Cake DeFi CTO & Co-Founder U-Zyn Chua who said that “100% of Cake DeFi user funds are accounted for.”

DO YOU REALLY OWN YOUR CRYPTOS? 
Why Asset Custody & Segregation Should Matter To YouWhat does that actually mean?

It means that, as an organization, Cake DeFi practices clear asset segregation whereby customers’ assets are kept separate from Cake DeFi’s operating accounts. It is as simple and as straightforward as that.

Why do we practice asset segregation?  

It is simply part of our pledge for transparency, and our general code of conduct and ethics –– which is why we have put in place specific safeguards to ensure that we cannot and will not misappropriate any user assets by utilizing them for the company’s own purposes. This includes –– but is not limited to –– operating expenses or maintaining product liquidity.

As such, if Cake DeFi were to become insolvent, creditors (if any) would have no claim over users’ assets.

CAKE DEFI’s WALLET CUSTODY SOLUTION

To provide another layer of protection and transparency, we also utilize the BitGo custody wallet solution for all Cake DeFi user wallets.

Why BitGo?

Based on customer reviews, public information and the information provided by the company itself, we are convinced that BitGo is not only a highly reputable and trusted service provider, but is also one of the most secure and well-trusted crypto wallets in the industry due to the fact that it entails having multi-signature requirements for both company and user assets.

Moreover, all crypto movements require multi-signature approvals by Cake DeFi’s management team.

If you want to generate passive income from your crypto assets in a secure and transparent manner, but are not yet a registered Cake DeFi user, you may click here to sign up and start generating passive income with us.

DO YOU REALLY OWN YOUR CRYPTOS? 
Why Asset Custody & Segregation Should Matter To You

You will get US$30 worth of DFI when you register successfully and make a deposit of US$50 or more, and allocate the amount for at least 28 days into either our Lending, Staking Freezer or Liquidity Mining Freezer service.

To know more about the many benefits and advantages of using Cake DeFi, you may check out our blog section or FAQ section.

Register for Cake DeFi directly here: :root{--button-bg: rgba(91,16,255,.08);--disable-button-bg: rgba(0, 0, 0, 0.2) }@media(prefers-color-scheme: dark){html:not([data-theme=light]){--button-bg: rgba(91,16,255,0.3);--disable-button-bg: rgba(255, 255, 255, 0.2) }}html[data-theme=dark]{--button-bg: rgba(91,16,255,0.3);--disable-button-bg: rgba(255, 255, 255, 0.2) }.btn,#RegisterSubmitBtn,#ResendConfirmationEmailBtn{display:inline-block;font-size:1.6rem;font-weight:500;line-height:2.4rem;text-decoration:none;margin:0;padding-right:15px;padding-left:15px;padding-bottom:7px;padding-top:7px;border-radius:4px;border:1px solid rgba(91,16,255,.08) !important;letter-spacing:0;text-align:center;background-color:var(--button-bg);color:#5b10ff;transition:all .3s ease;white-space:nowrap;box-sizing:border-box}.btn.btn-large,#RegisterSubmitBtn.btn-large,#ResendConfirmationEmailBtn.btn-large{padding-top:11px;padding-bottom:11px}.btn:hover,#RegisterSubmitBtn:hover,#ResendConfirmationEmailBtn:hover{background-color:rgba(69,0,220,.08) !important;color:#5b10ff !important;text-decoration:none !important}.btn .icon-wrapper,#RegisterSubmitBtn .icon-wrapper,#ResendConfirmationEmailBtn .icon-wrapper{display:flex;align-items:center;justify-content:space-between}.btn .icon,#RegisterSubmitBtn .icon,#ResendConfirmationEmailBtn .icon{background-position:center;background-repeat:no-repeat;width:24px;height:24px}.btn.btn-plain,#RegisterSubmitBtn.btn-plain,#ResendConfirmationEmailBtn.btn-plain{background-color:rgba(0,0,0,.08);color:#5b10ff}.btn.btn-plain:hover,#RegisterSubmitBtn.btn-plain:hover,#ResendConfirmationEmailBtn.btn-plain:hover{background-color:#eee6ff}.btn.btn-link,#RegisterSubmitBtn.btn-link,#ResendConfirmationEmailBtn.btn-link{background-color:#fff;color:#5b10ff}.btn.btn-link:hover,#RegisterSubmitBtn.btn-link:hover,#ResendConfirmationEmailBtn.btn-link:hover{background-color:#ebebeb}.btn.btn-linkedin,#RegisterSubmitBtn.btn-linkedin,#ResendConfirmationEmailBtn.btn-linkedin{background-color:#0077b5;width:auto;color:#fff}.btn.btn-linkedin:hover,#RegisterSubmitBtn.btn-linkedin:hover,#ResendConfirmationEmailBtn.btn-linkedin:hover{background-color:#005582}.btn.btn-linkedin img,#RegisterSubmitBtn.btn-linkedin img,#ResendConfirmationEmailBtn.btn-linkedin img{display:inline;position:relative;top:-3px;margin-right:8px}.btn[disabled],#RegisterSubmitBtn[disabled],#ResendConfirmationEmailBtn[disabled]{color:rgba(255,255,255,.6) !important;border:1px solid rgba(91,16,255,.08) !important;background-color:var(--disable-button-bg) !important;cursor:default !important}.btn[disabled]:hover,#RegisterSubmitBtn[disabled]:hover,#ResendConfirmationEmailBtn[disabled]:hover{text-decoration:none !important}.checkbox{display:flex;align-items:center;cursor:pointer}.checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:auto;padding:0;border:none}.checkbox input[type=checkbox]:focus+span{outline:5px auto -webkit-focus-ring-color}.checkbox input[type=checkbox]+span{margin-right:8px;border:1px solid rgba(0,0,0,.2);background:#f4f3f6;border-radius:4px;display:inline-block;width:24px;height:24px;flex-shrink:0}.checkbox input[type=checkbox]:checked+span{background-image:url('data:image/svg+xml;utf8,');background-color:#f2ebfe}.global-spinner{top:6%;width:100%;position:fixed;text-align:center;display:none;z-index:99999}.loader2{width:32px;height:32px;margin-left:24px;color:#5b10ff}.slice{animation-name:pendulum;animation-duration:1.5s;animation-iteration-count:infinite;transform-origin:50%;fill:currentColor}@keyframes pendulum{0%{transform:rotate(-50deg);animation-timing-function:ease-in-out}50%{transform:rotate(-130deg);animation-timing-function:ease-in-out}100%{transform:rotate(-50deg)}}.spinner-group{animation:rotate 1s linear infinite;width:100%;height:100%;transform-origin:50%}.spinner-group .spinner{stroke:currentColor;stroke-linecap:round;animation:dash 1.8s linear infinite;transform-origin:50%}.spinner-group .track{stroke:#ccc}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:0,120;stroke-dashoffset:0}50%{stroke-dasharray:80,120;stroke-dashoffset:-40}100%{stroke-dasharray:40,120;stroke-dashoffset:-60}}.global-alert{top:56px;position:fixed;z-index:2055}.cake-alert{display:flex;align-items:center;border-radius:4px;padding:8px 16px;text-align:center}.cake-alert.success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.cake-alert.error{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}:root{--color-gray-200: rgba(0, 0, 0, 0.2);--color-gray-300: rgba(0, 0, 0, 0.3);--color-gray-400: rgba(0, 0, 0, 0.4);--color-gray-600: rgba(0, 0, 0, 0.6)}@media(prefers-color-scheme: dark){html:not([data-theme=light]){--color-gray-200: #ccc;--color-gray-300: #ccc;--color-gray-400: #ccc;--color-gray-600: #ccc}}html[data-theme=dark]{--color-gray-200: #ccc;--color-gray-300: #ccc;--color-gray-400: #ccc;--color-gray-600: #ccc}.focus-label,.float-container .float-control-container .float-control:focus~label,.float-container .float-control-container .float-control:focus:not(:placeholder-shown)~label,.float-container .float-control-container .float-control:disabled:not(:placeholder-shown)~label,.float-container .float-control-container .float-control:valid~label{font-size:1.2rem;font-weight:500;line-height:1.6rem;padding-top:3px}.float-container .password-toggle{top:0px;right:0px;border:0px;cursor:pointer;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-sizing:border-box;align-items:center;padding-left:16px;padding-right:16px;background-color:rgba(0,0,0,0);appearance:none}.float-container .password-toggle svg{fill:var(--color-gray-600);width:2.4rem;height:2.4rem}.float-container label.error{color:red;display:block;margin-top:8px;min-height:20px;line-height:20px;letter-spacing:.25px;font-size:1.2rem;text-align:left}.float-container .float-control-container{display:flex;position:relative;font-size:1.6rem}.float-container .float-control-container.readonly{box-shadow:0 0 0 1px var(--color-gray-200);border:1px solid rgba(0,0,0,0);border-radius:4px;padding:12px 16px;line-height:2.4rem;background:#fff}.float-container .float-control-container label{cursor:text;color:var(--color-gray-600);display:block;font-size:1.6rem;line-height:2.4rem;top:0;left:0;margin-bottom:0;padding:12px 16px;border:1px solid rgba(0,0,0,0);pointer-events:none;position:absolute;transition:all .1s ease-in-out;width:100%;z-index:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.float-container .float-control-container .float-control-select-arrow{height:20px;position:absolute;top:15px;right:10px;width:20px}.float-container .float-control-container .float-control-select-arrow b{border-color:#888 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.float-container .float-control-container .float-control{flex:1;box-shadow:0 0 0 1px var(--color-gray-200);border:1px solid rgba(0,0,0,0);border-radius:4px;padding:12px 16px;margin-bottom:0;font-size:1.6rem;line-height:2.4rem;transition:all .1s ease-in-out;-webkit-appearance:none;min-width:0}.float-container .float-control-container .float-control::placeholder{color:rgba(0,0,0,0)}.float-container .float-control-container .float-control:disabled:valid~label{color:var(--color-gray-300)}.float-container .float-control-container .float-control:disabled::placeholder{color:rgba(0,0,0,0)}.float-container .float-control-container .float-control:disabled:not(:placeholder-shown),.float-container .float-control-container .float-control:valid{padding:18px 16px 6px 16px}.float-container .float-control-container .float-control:focus:not(:placeholder-shown),.float-container .float-control-container .float-control:valid{padding:18px 16px 6px 16px}.float-container .float-control-container .float-control:focus:not(:placeholder-shown)::placeholder,.float-container .float-control-container .float-control:valid::placeholder{color:rgba(0,0,0,0)}.float-container .float-control-container .float-control:focus{outline:none !important;padding:18px 16px 6px 16px}.float-container .float-control-container .float-control:focus::placeholder{color:var(--color-gray-400)}.float-container .float-control-container.focus .float-control{box-shadow:0 0 0 2px #5b10ff}.float-container .float-control-container.focus label{color:#5b10ff}.float-container .float-control-container.error .float-control{box-shadow:0 0 0 1px red}.float-container .float-control-container.error.focus .float-control{box-shadow:0 0 0 2px red}.float-container .float-control-container.error label{color:red}.dropdown-help-text{font-weight:500;color:var(--color-gray-600)}.modal{position:fixed;width:100%;height:100%;top:0;left:0;margin-top:0 !important;z-index:-1;opacity:0;background-color:#000;background:rgba(0,0,0,.4);transition:all .3s cubic-bezier(0.36, 0.66, 0.04, 1);overflow:auto}.modal.in{opacity:1;z-index:1}.modal.in .animated-from-top,.modal.in .animated-from-bottom{transform:translateY(0)}.modal-content{position:relative;max-width:992px;width:calc(100% - 32px);margin:32px auto;padding:2em;border-radius:4px;background:#fff;box-shadow:0 5px 15px rgba(0,0,0,.5);transition:all .3s cubic-bezier(0.36, 0.66, 0.04, 1)}.animated-from-top{transform:translateY(-200%)}.animated-from-bottom{transform:translateY(200%)}.mt-3{margin-top:12px}.mb-6{margin-bottom:24px}.my-6{margin-top:24px;margin-bottom:24px}.flex{display:flex}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex-grow:1}.text-black-60{color:rgba(0,0,0,.6)}.hidden{display:none !important}.uppercase{text-transform:uppercase}.l-content .float-control-select-arrow{display:none}@media(min-width: 1024px){.sign-up-name{display:grid;gap:16px;grid-template-columns:repeat(2, minmax(0, 1fr))}}/*# sourceMappingURL=main.css.map */ Confirm Your Email Address

A confirmation email has been sent to . Click on the confirmation link in the email to activate your account.

Resend confirmation email First name Last name Email Password Country of residence Cake DeFi is only available for listed countries Promo or referral code (optional)

I agree with the Cake Terms and Conditions

Sign up /* * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "./assets/js/components/api.js": /*!*************************************!*\ !*** ./assets/js/components/api.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"api\": () => (/* binding */ api)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../config */ \"./assets/js/config/index.js\");\n\n\n\nvar baseURL = _config__WEBPACK_IMPORTED_MODULE_2__.appConfig.API_ENDPOINT;\n\nvar fetcher = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__.default)( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee(input) {\n var options,\n response,\n error,\n _args = arguments;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};\n _context.next = 3;\n return fetch(input, options);\n\n case 3:\n response = _context.sent;\n\n if (response.ok) {\n _context.next = 9;\n break;\n }\n\n _context.next = 7;\n return response.text();\n\n case 7:\n error = _context.sent;\n throw error;\n\n case 9:\n return _context.abrupt(\"return\", response.json());\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function fetcher(_x) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar api = function () {\n function fetchLandingPageData() {\n return fetcher(\"\".concat(baseURL, \"/landing-page\"));\n }\n\n function register(payload) {\n return fetcher(\"\".concat(baseURL, \"/register\"), {\n headers: {\n 'Content-Type': 'application/json'\n },\n method: 'POST',\n body: JSON.stringify(payload)\n });\n }\n\n function resendVerify(email) {\n return fetcher(\"\".concat(baseURL, \"/verify\"), {\n method: 'POST',\n body: email\n });\n }\n\n return {\n fetchLandingPageData: fetchLandingPageData,\n register: register,\n resendVerify: resendVerify\n };\n}();\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/api.js?"); /***/ }), /***/ "./assets/js/components/floating-label.js": /*!************************************************!*\ !*** ./assets/js/components/floating-label.js ***! \************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"floatingLabel\": () => (/* binding */ floatingLabel)\n/* harmony export */ });\nvar floatingLabel = function () {\n var init = function init() {\n document.querySelectorAll('.float-control').forEach(function (control) {\n control.addEventListener('focus', function () {\n this.parentNode.classList.add('focus');\n });\n control.addEventListener('blur', function () {\n this.parentNode.classList.remove('focus');\n });\n });\n initPasswordToggle();\n };\n\n var initPasswordToggle = function initPasswordToggle() {\n document.querySelector('#PasswordOn').addEventListener('click', function () {\n this.classList.add('hidden');\n document.querySelector('#PasswordOff').classList.remove('hidden');\n this.closest('.float-control-container').querySelector('input').setAttribute('type', 'text');\n });\n document.querySelector('#PasswordOff').addEventListener('click', function () {\n this.classList.add('hidden');\n document.querySelector('#PasswordOn').classList.remove('hidden');\n this.closest('.float-control-container').querySelector('input').setAttribute('type', 'password');\n });\n };\n\n return {\n init: init\n };\n}();\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/floating-label.js?"); /***/ }), /***/ "./assets/js/components/signup-form/country-dropdown.js": /*!**************************************************************!*\ !*** ./assets/js/components/signup-form/country-dropdown.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"initCountryDropdown\": () => (/* binding */ initCountryDropdown)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _cakedefi_cake_sdk_assets_allowed_countries_en_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @cakedefi/cake-sdk/assets/allowed-countries-en.json */ \"./node_modules/@cakedefi/cake-sdk/assets/allowed-countries-en.json\");\n\n\nfunction initCountryDropdown() {\n var options = [{\n label: \"\",\n value: \"\"\n }].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__.default)(_cakedefi_cake_sdk_assets_allowed_countries_en_json__WEBPACK_IMPORTED_MODULE_1__)).map(function (country) {\n return \"\").concat(country.label, \"\");\n });\n document.getElementById('CountrySelect').insertAdjacentHTML('beforeend', options);\n}\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/signup-form/country-dropdown.js?"); /***/ }), /***/ "./assets/js/components/signup-form/form-validation.js": /*!*************************************************************!*\ !*** ./assets/js/components/signup-form/form-validation.js ***! \*************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isValidPromoCode\": () => (/* binding */ isValidPromoCode),\n/* harmony export */ \"initFormValidation\": () => (/* binding */ initFormValidation),\n/* harmony export */ \"setSubmitButton\": () => (/* binding */ setSubmitButton),\n/* harmony export */ \"isFormValid\": () => (/* binding */ isFormValid)\n/* harmony export */ });\n/* harmony import */ var _cakedefi_cake_sdk_util_isValidEmail__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @cakedefi/cake-sdk/util/isValidEmail */ \"./node_modules/@cakedefi/cake-sdk/util/isValidEmail.js\");\n/* harmony import */ var _term_condition_checkbox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./term-condition-checkbox */ \"./assets/js/components/signup-form/term-condition-checkbox.js\");\n/* harmony import */ var _utils_serialize_form_value__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/serialize-form-value */ \"./assets/js/utils/serialize-form-value.js\");\n\n\n\nvar MIN_PASSWORD_LENGTH = 12;\nvar MAX_PASSWORD_LENGTH = 128;\nvar MIN_NAME_LENGTH = 1;\nvar MAX_NAME_LENGTH = 30;\nfunction isValidPromoCode(value) {\n return new RegExp(/^[A-Z0-9]{6}$/).test(value);\n}\nvar validationMap = {\n firstName: {\n validate: function validate(value) {\n return value.length >= MIN_NAME_LENGTH && value.length = MIN_NAME_LENGTH && value.length = MIN_PASSWORD_LENGTH && value.length <= MAX_PASSWORD_LENGTH;\n },\n errorMsg: \"Password length must be at least 12 characters.\"\n },\n country: {\n validate: function validate(value) {\n return !!value;\n },\n errorMsg: \"Country is required.\"\n }\n};\nfunction initFormValidation() {\n ['firstName', 'lastName', 'email', 'password', 'country'].forEach(function (formField) {\n function onKeyUpValidation() {\n var formValue = (0,_utils_serialize_form_value__WEBPACK_IMPORTED_MODULE_2__.serializeFormValue)(document.getElementById(\"SignUpForm\").elements);\n var fieldValue = formValue[formField];\n var isValid = validationMap[formField].validate(fieldValue);\n var errorMsg = isValid ? '' : validationMap[formField].errorMsg;\n var floatContainer = this.closest(\".float-container\");\n var floatControlContainer = this.closest(\".float-control-container\");\n\n if (errorMsg) {\n floatControlContainer.classList.add(\"error\");\n\n if (!floatContainer.querySelector('label.error')) {\n floatContainer.insertAdjacentHTML('beforeend', \"\".concat(errorMsg, \"\"));\n }\n } else {\n var _floatContainer$query;\n\n floatControlContainer.classList.remove(\"error\");\n (_floatContainer$query = floatContainer.querySelector('label.error')) === null || _floatContainer$query === void 0 ? void 0 : _floatContainer$query.remove();\n }\n\n setSubmitButton();\n }\n\n ['keyup', 'change'].forEach(function (evt) {\n document.querySelector(\"#SignUpForm [name=\\\"\".concat(formField, \"\\\"]\")).addEventListener(evt, onKeyUpValidation);\n });\n });\n}\nfunction setSubmitButton() {\n document.getElementById('RegisterSubmitBtn').disabled = !isFormValid();\n}\nfunction isFormValid() {\n var reCaptchaToken = _term_condition_checkbox__WEBPACK_IMPORTED_MODULE_1__.termAndConditionCheckbox.getToken();\n\n if (!reCaptchaToken) {\n return false;\n }\n\n var formValue = (0,_utils_serialize_form_value__WEBPACK_IMPORTED_MODULE_2__.serializeFormValue)(document.getElementById(\"SignUpForm\").elements);\n var isValid = Object.keys(validationMap).every(function (key) {\n var fieldValue = formValue[key];\n\n if (!validationMap[key]) {\n return true;\n }\n\n return validationMap[key].validate(fieldValue);\n });\n return isValid;\n}\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/signup-form/form-validation.js?"); /***/ }), /***/ "./assets/js/components/signup-form/index.js": /*!***************************************************!*\ !*** ./assets/js/components/signup-form/index.js ***! \***************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"signUpForm\": () => (/* binding */ signUpForm)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_spinner__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/spinner */ \"./assets/js/shared/spinner.js\");\n/* harmony import */ var _utils_serialize_form_value__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/serialize-form-value */ \"./assets/js/utils/serialize-form-value.js\");\n/* harmony import */ var _utils_show_error_message_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/show-error-message-api */ \"./assets/js/utils/show-error-message-api.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../api */ \"./assets/js/components/api.js\");\n/* harmony import */ var _floating_label__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../floating-label */ \"./assets/js/components/floating-label.js\");\n/* harmony import */ var _country_dropdown__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./country-dropdown */ \"./assets/js/components/signup-form/country-dropdown.js\");\n/* harmony import */ var _form_validation__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./form-validation */ \"./assets/js/components/signup-form/form-validation.js\");\n/* harmony import */ var _query_params__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./query-params */ \"./assets/js/components/signup-form/query-params.js\");\n/* harmony import */ var _resend_email_confirmation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./resend-email-confirmation */ \"./assets/js/components/signup-form/resend-email-confirmation.js\");\n/* harmony import */ var _term_condition_checkbox__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./term-condition-checkbox */ \"./assets/js/components/signup-form/term-condition-checkbox.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar signUpForm = function () {\n function init() {\n _query_params__WEBPACK_IMPORTED_MODULE_9__.init();\n (0,_country_dropdown__WEBPACK_IMPORTED_MODULE_7__.initCountryDropdown)();\n (0,_form_validation__WEBPACK_IMPORTED_MODULE_8__.initFormValidation)();\n _floating_label__WEBPACK_IMPORTED_MODULE_6__.floatingLabel.init();\n _term_condition_checkbox__WEBPACK_IMPORTED_MODULE_11__.termAndConditionCheckbox.init();\n handleOnSubmit();\n (0,_resend_email_confirmation__WEBPACK_IMPORTED_MODULE_10__.handleResendEmailConfirmation)();\n }\n\n function handleOnSubmit() {\n document.getElementById(\"SignUpForm\").addEventListener('submit', /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__.default)( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee(event) {\n var reCaptchaToken, _serializeFormValue, firstName, lastName, email, password, country, _handleQueryParams$ge, utm_campaign, utm_medium, utm_source, promoCode, referredById, payloadValues, button, response;\n\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n event.preventDefault();\n reCaptchaToken = _term_condition_checkbox__WEBPACK_IMPORTED_MODULE_11__.termAndConditionCheckbox.getToken();\n\n if ((0,_form_validation__WEBPACK_IMPORTED_MODULE_8__.isFormValid)()) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 4:\n _serializeFormValue = (0,_utils_serialize_form_value__WEBPACK_IMPORTED_MODULE_3__.serializeFormValue)(this.elements), firstName = _serializeFormValue.firstName, lastName = _serializeFormValue.lastName, email = _serializeFormValue.email, password = _serializeFormValue.password, country = _serializeFormValue.country;\n _handleQueryParams$ge = _query_params__WEBPACK_IMPORTED_MODULE_9__.getAllValues(), utm_campaign = _handleQueryParams$ge.utm_campaign, utm_medium = _handleQueryParams$ge.utm_medium, utm_source = _handleQueryParams$ge.utm_source, promoCode = _handleQueryParams$ge.promoCode, referredById = _handleQueryParams$ge.referredById;\n payloadValues = {\n email: email,\n password: password,\n firstName: firstName,\n lastName: lastName,\n country: country,\n 'g-recaptcha-response': reCaptchaToken,\n promoCode: promoCode || null,\n referredById: referredById || null,\n utm_source: utm_source,\n utm_medium: utm_medium,\n utm_campaign: utm_campaign,\n revealInfoToReferrer: false,\n learnAndEarnCode: null,\n currentLanguage: \"en\"\n };\n button = document.getElementById('RegisterSubmitBtn');\n button.disabled = true;\n _context.prev = 9;\n (0,_shared_spinner__WEBPACK_IMPORTED_MODULE_2__.showSpinner)();\n _context.next = 13;\n return _api__WEBPACK_IMPORTED_MODULE_5__.api.register(payloadValues);\n\n case 13:\n response = _context.sent;\n button.disabled = false;\n signUpSuccess(email);\n _context.next = 23;\n break;\n\n case 18:\n _context.prev = 18;\n _context.t0 = _context[\"catch\"](9);\n (0,_utils_show_error_message_api__WEBPACK_IMPORTED_MODULE_4__.showApiError)(_context.t0);\n _term_condition_checkbox__WEBPACK_IMPORTED_MODULE_11__.termAndConditionCheckbox.resetCaptcha();\n button.disabled = true;\n\n case 23:\n _context.prev = 23;\n (0,_shared_spinner__WEBPACK_IMPORTED_MODULE_2__.hideSpinner)();\n return _context.finish(23);\n\n case 26:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[9, 18, 23, 26]]);\n }));\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }());\n }\n\n function signUpSuccess(email) {\n document.getElementById('SignUpFormContainer').classList.add('hidden');\n document.getElementById('ResendConfirmationEmail').textContent = email;\n document.getElementById('ResendConfirmationEmail').setAttribute('email', email);\n document.getElementById('ConfirmYourEmail').classList.remove('hidden');\n }\n\n return {\n init: init\n };\n}();\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/signup-form/index.js?"); /***/ }), /***/ "./assets/js/components/signup-form/query-params.js": /*!**********************************************************!*\ !*** ./assets/js/components/signup-form/query-params.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"setDataFromQueryParams\": () => (/* binding */ setDataFromQueryParams),\n/* harmony export */ \"getValueFromQueryParamsOrStorage\": () => (/* binding */ getValueFromQueryParamsOrStorage),\n/* harmony export */ \"getUtmInfos\": () => (/* binding */ getUtmInfos),\n/* harmony export */ \"getReferralAndPromoInfos\": () => (/* binding */ getReferralAndPromoInfos),\n/* harmony export */ \"setPromoCodeUI\": () => (/* binding */ setPromoCodeUI),\n/* harmony export */ \"init\": () => (/* binding */ init),\n/* harmony export */ \"getAllValues\": () => (/* binding */ getAllValues)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _shared_storage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/storage */ \"./assets/js/shared/storage.js\");\n/* harmony import */ var _utils_get_query_params__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/get-query-params */ \"./assets/js/utils/get-query-params.js\");\n/* harmony import */ var _shared_params_const__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/params-const */ \"./assets/js/shared/params-const.js\");\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"handleResendEmailConfirmation\": () => (/* binding */ handleResendEmailConfirmation)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_alert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/alert */ \"./assets/js/shared/alert.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../api */ \"./assets/js/components/api.js\");\n/* harmony import */ var _utils_show_error_message_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/show-error-message-api */ \"./assets/js/utils/show-error-message-api.js\");\n/* harmony import */ var _shared_spinner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../shared/spinner */ \"./assets/js/shared/spinner.js\");\n\n\n\n\n\n\nfunction handleResendEmailConfirmation() {\n document.getElementById('ConfirmYourEmailForm').addEventListener('submit', /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__.default)( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee(e) {\n var email, response;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n e.preventDefault();\n email = document.getElementById('ResendConfirmationEmail').getAttribute('email');\n _context.prev = 2;\n (0,_shared_spinner__WEBPACK_IMPORTED_MODULE_5__.showSpinner)();\n document.getElementById('ResendConfirmationEmailBtn').disabled = true;\n _context.next = 7;\n return _api__WEBPACK_IMPORTED_MODULE_3__.api.resendVerify(email);\n\n case 7:\n response = _context.sent;\n (0,_shared_alert__WEBPACK_IMPORTED_MODULE_2__.showSuccessAlert)('Verification email has been sent');\n _context.next = 14;\n break;\n\n case 11:\n _context.prev = 11;\n _context.t0 = _context[\"catch\"](2);\n (0,_utils_show_error_message_api__WEBPACK_IMPORTED_MODULE_4__.showApiError)(_context.t0);\n\n case 14:\n _context.prev = 14;\n document.getElementById('ResendConfirmationEmailBtn').disabled = false;\n (0,_shared_spinner__WEBPACK_IMPORTED_MODULE_5__.hideSpinner)();\n return _context.finish(14);\n\n case 18:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[2, 11, 14, 18]]);\n }));\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }());\n}\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/signup-form/resend-email-confirmation.js?"); /***/ }), /***/ "./assets/js/components/signup-form/term-condition-checkbox.js": /*!*********************************************************************!*\ !*** ./assets/js/components/signup-form/term-condition-checkbox.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"termAndConditionCheckbox\": () => (/* binding */ termAndConditionCheckbox)\n/* harmony export */ });\n/* harmony import */ var _form_validation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./form-validation */ \"./assets/js/components/signup-form/form-validation.js\");\n\nvar termAndConditionCheckbox = function () {\n var reCaptchaToken;\n\n function init() {\n initReCAPTCHA();\n document.getElementById('TermConditionCheckbox').addEventListener('change', function () {\n if (this.checked) {\n grecaptcha.execute();\n } else {\n reCaptchaToken = null;\n }\n });\n }\n\n function initReCAPTCHA() {\n var verifyCaptcha = function verifyCaptcha(token) {\n reCaptchaToken = token;\n (0,_form_validation__WEBPACK_IMPORTED_MODULE_0__.setSubmitButton)();\n };\n\n window.verifyCaptcha = verifyCaptcha;\n }\n\n ;\n\n function resetCaptcha() {\n reCaptchaToken = null;\n document.getElementById('TermConditionCheckbox').checked = false;\n grecaptcha.reset();\n }\n\n return {\n init: init,\n getToken: function getToken() {\n return reCaptchaToken;\n },\n resetCaptcha: resetCaptcha\n };\n}();\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/signup-form/term-condition-checkbox.js?"); /***/ }), /***/ "./assets/js/config/index.js": /*!***********************************!*\ !*** ./assets/js/config/index.js ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"appConfig\": () => (/* binding */ appConfig)\n/* harmony export */ });\nvar appConfig = {\n API_ENDPOINT: \"https://api.cakedefi.com\",\n RECAPTCHA_KEY: \"6LcDaLAeAAAAADeKbH94tsCMTFAppm-BCHNN1LAp\"\n};\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/config/index.js?"); /***/ }), /***/ "./assets/js/shared/alert.js": /*!***********************************!*\ !*** ./assets/js/shared/alert.js ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"showAlert\": () => (/* binding */ showAlert),\n/* harmony export */ \"showSuccessAlert\": () => (/* binding */ showSuccessAlert),\n/* harmony export */ \"showErrorAlert\": () => (/* binding */ showErrorAlert)\n/* harmony export */ });\nvar timeoutRef;\nvar TIME_TO_SHOW_ALERT = 5000;\nfunction showAlert(type, message) {\n hideAlert(function () {\n var alert = document.querySelector('.cake-alert');\n alert.classList.add(type);\n alert.textContent = message;\n alert.style.display = 'block';\n });\n\n if (timeoutRef) {\n clearTimeout(timeoutRef);\n }\n\n timeoutRef = setTimeout(function () {\n hideAlert();\n }, TIME_TO_SHOW_ALERT);\n}\nfunction showSuccessAlert(message) {\n showAlert('success', message);\n}\nfunction showErrorAlert(message) {\n showAlert('error', message);\n}\n\nvar hideAlert = function hideAlert(func) {\n var alert = document.querySelector('.cake-alert');\n alert.classList.remove('success');\n alert.classList.remove('error');\n alert.innerHTML = '';\n func && func();\n};\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/shared/alert.js?"); /***/ }), /***/ "./assets/js/shared/params-const.js": /*!******************************************!*\ !*** ./assets/js/shared/params-const.js ***! \******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PROMO_CODE\": () => (/* binding */ PROMO_CODE),\n/* harmony export */ \"REFERRAL_CODE\": () => (/* binding */ REFERRAL_CODE),\n/* harmony export */ \"UTM_SOURCE\": () => (/* binding */ UTM_SOURCE),\n/* harmony export */ \"UTM_MEDIUM\": () => (/* binding */ UTM_MEDIUM),\n/* harmony export */ \"UTM_CAMPAIGN\": () => (/* binding */ UTM_CAMPAIGN)\n/* harmony export */ });\nvar PROMO_CODE = 'promo';\nvar REFERRAL_CODE = 'ref';\nvar UTM_SOURCE = 'utm_source';\nvar UTM_MEDIUM = 'utm_medium';\nvar UTM_CAMPAIGN = 'utm_campaign';\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/shared/params-const.js?"); /***/ }), /***/ "./assets/js/shared/spinner.js": /*!*************************************!*\ !*** ./assets/js/shared/spinner.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"showSpinner\": () => (/* binding */ showSpinner),\n/* harmony export */ \"hideSpinner\": () => (/* binding */ hideSpinner)\n/* harmony export */ });\nfunction showSpinner() {\n document.querySelector('.global-spinner').style.display = 'block';\n}\nfunction hideSpinner() {\n document.querySelector('.global-spinner').style.display = 'none';\n}\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/shared/spinner.js?"); /***/ }), /***/ "./assets/js/shared/storage.js": /*!*************************************!*\ !*** ./assets/js/shared/storage.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SessionStorage\": () => (/* binding */ SessionStorage),\n/* harmony export */ \"storage\": () => (/* binding */ storage)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n\n\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {\n (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__.default)(this, SessionStorage);\n\n (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__.default)(this, \"map\", void 0);\n\n this.map = {};\n }\n\n (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__.default)(SessionStorage, [{\n key: \"setItem\",\n value: function setItem(key, value) {\n this.map[key] = value;\n }\n }, {\n key: \"getItem\",\n value: function getItem(key) {\n return this.map[key];\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.map = {};\n }\n }]);\n\n return SessionStorage;\n}();\n\nfunction getStorageImplementation() {\n try {\n return window.sessionStorage;\n } catch (e) {\n return new SessionStorage();\n }\n}\n\nvar storage = getStorageImplementation();\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/shared/storage.js?"); /***/ }), /***/ "./assets/js/utils/get-query-params.js": /*!*********************************************!*\ !*** ./assets/js/utils/get-query-params.js ***! \*********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getQueryParam\": () => (/* binding */ getQueryParam)\n/* harmony export */ });\nfunction getQueryParam(query) {\n try {\n var params = new URLSearchParams(window.location.search);\n return params.get(query);\n } catch (error) {\n return null;\n }\n}\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/utils/get-query-params.js?"); /***/ }), /***/ "./assets/js/utils/serialize-form-value.js": /*!*************************************************!*\ !*** ./assets/js/utils/serialize-form-value.js ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"serializeFormValue\": () => (/* binding */ serializeFormValue)\n/* harmony export */ });\nfunction serializeFormValue(elements) {\n var data = {};\n\n for (var i = 0; i { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getErrorMessage\": () => (/* binding */ getErrorMessage),\n/* harmony export */ \"showApiError\": () => (/* binding */ showApiError)\n/* harmony export */ });\n/* harmony import */ var _shared_alert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/alert */ \"./assets/js/shared/alert.js\");\n\nvar DEFAULT_ERROR = 'Unexpected error';\nfunction getErrorMessage(err) {\n try {\n var _json$message;\n\n var json = JSON.parse(err);\n return (_json$message = json.message) !== null && _json$message !== void 0 ? _json$message : DEFAULT_ERROR;\n } catch (error) {\n return DEFAULT_ERROR;\n }\n}\nfunction showApiError(err) {\n var errorMessage = getErrorMessage(err);\n (0,_shared_alert__WEBPACK_IMPORTED_MODULE_0__.showErrorAlert)(errorMessage);\n}\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/utils/show-error-message-api.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/regenerator/index.js": /*!**********************************************************!*\ !*** ./node_modules/@babel/runtime/regenerator/index.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { eval("module.exports = __webpack_require__(/*! regenerator-runtime */ \"./node_modules/regenerator-runtime/runtime.js\");\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/regenerator/index.js?"); /***/ }), /***/ "./node_modules/@cakedefi/cake-sdk/util/isValidEmail.js": /*!**************************************************************!*\ !*** ./node_modules/@cakedefi/cake-sdk/util/isValidEmail.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n\nfunction isValidEmail(email) {\n const emailRegEx = /^(([^()[\\]\\\\.,;:\\s@\"]+(\\.[^()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return emailRegEx.test(String(email).toLowerCase());\n}\n\nexports.default = isValidEmail;\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@cakedefi/cake-sdk/util/isValidEmail.js?"); /***/ }), /***/ "./node_modules/regenerator-runtime/runtime.js": /*!*****************************************************!*\ !*** ./node_modules/regenerator-runtime/runtime.js ***! \*****************************************************/ /***/ ((module) => { eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function (obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []); // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap; // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\"; // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n\n var ContinueSentinel = {}; // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {} // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n\n\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"); // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n }; // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && typeof value === \"object\" && hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function (unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n } // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator; // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n\n exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n } // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted; // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n } // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value; // Resume execution at the desired location (see delegateYield).\n\n context.next = delegate.nextLoc; // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n } // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n\n\n context.delegate = null;\n return ContinueSentinel;\n } // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n\n\n defineIteratorMethods(Gp);\n define(Gp, toStringTagSymbol, \"Generator\"); // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n\n define(Gp, iteratorSymbol, function () {\n return this;\n });\n define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse(); // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n } // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i = 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev = 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg = 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function (tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n } // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function (iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n }; // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n\n return exports;\n}( // If this script is executing as a CommonJS module, use module.exports\n// as the regeneratorRuntime namespace. Otherwise create a new empty\n// object. Either way, the resulting object will be used to initialize\n// the regeneratorRuntime variable at the top of this file.\n true ? module.exports : 0);\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/regenerator-runtime/runtime.js?"); /***/ }), /***/ "./plain-sign-up/main.js": /*!*******************************!*\ !*** ./plain-sign-up/main.js ***! \*******************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assets_js_components_signup_form__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../assets/js/components/signup-form */ \"./assets/js/components/signup-form/index.js\");\n\n\nfunction initModal() {\n var _document$querySelect, _document$querySelect2;\n\n (_document$querySelect = document.querySelector(\".btn-open-modal\")) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.addEventListener('click', function (e) {\n var target = this.getAttribute('data-target');\n document.getElementById(target).classList.add(\"in\");\n });\n (_document$querySelect2 = document.querySelector(\".modal\")) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.addEventListener('click', function (e) {\n if (e.target !== this) return;\n this.classList.remove(\"in\");\n });\n}\n\nfunction moveFixedElementsToBody() {\n if (document.getElementById('GlobalAlert')) {\n document.body.appendChild(document.getElementById('GlobalAlert'));\n }\n\n if (document.getElementById('GlobalSpinner')) {\n document.body.appendChild(document.getElementById('GlobalSpinner'));\n }\n}\n\n(function () {\n _assets_js_components_signup_form__WEBPACK_IMPORTED_MODULE_0__.signUpForm.init();\n moveFixedElementsToBody();\n initModal();\n})();\n\n//# sourceURL=webpack://cakedefi.com/./plain-sign-up/main.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js": /*!*********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***! \*********************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _arrayLikeToArray)\n/* harmony export */ });\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _arrayWithoutHoles)\n/* harmony export */ });\n/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__.default)(arr);\n}\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js": /*!*********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js ***! \*********************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _asyncToGenerator)\n/* harmony export */ });\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js": /*!*******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***! \*******************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _classCallCheck)\n/* harmony export */ });\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/createClass.js": /*!****************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/createClass.js ***! \****************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _createClass)\n/* harmony export */ });\nfunction _defineProperties(target, props) {\n for (var i = 0; i { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _defineProperty)\n/* harmony export */ });\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/helpers/esm/defineProperty.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js": /*!********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***! \********************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _iterableToArray)\n/* harmony export */ });\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js": /*!**********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***! \**********************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _nonIterableSpread)\n/* harmony export */ });\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js": /*!**********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***! \**********************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _toConsumableArray)\n/* harmony export */ });\n/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js\");\n/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/iterableToArray.js\");\n/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\");\n/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ \"./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js\");\n\n\n\n\nfunction _toConsumableArray(arr) {\n return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__.default)(arr) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__.default)(arr) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__.default)(arr) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__.default)();\n}\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js": /*!*******************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***! \*******************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _unsupportedIterableToArray)\n/* harmony export */ });\n/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__.default)(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__.default)(o, minLen);\n}\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js?"); /***/ }), /***/ "./node_modules/@cakedefi/cake-sdk/assets/allowed-countries-en.json": /*!**************************************************************************!*\ !*** ./node_modules/@cakedefi/cake-sdk/assets/allowed-countries-en.json ***! \**************************************************************************/ /***/ ((module) => { "use strict"; eval("module.exports = JSON.parse('[{\"label\":\"Albania\",\"value\":\"AL\"},{\"label\":\"Algeria\",\"value\":\"DZ\"},{\"label\":\"Andorra\",\"value\":\"AD\"},{\"label\":\"Angola\",\"value\":\"AO\"},{\"label\":\"Anguilla\",\"value\":\"AI\"},{\"label\":\"Antigua & Barbuda\",\"value\":\"AG\"},{\"label\":\"Argentina\",\"value\":\"AR\"},{\"label\":\"Armenia\",\"value\":\"AM\"},{\"label\":\"Aruba\",\"value\":\"AW\"},{\"label\":\"Australia\",\"value\":\"AU\"},{\"label\":\"Austria\",\"value\":\"AT\"},{\"label\":\"Azerbaijan\",\"value\":\"AZ\"},{\"label\":\"Bahrain\",\"value\":\"BH\"},{\"label\":\"Barbados\",\"value\":\"BB\"},{\"label\":\"Belgium\",\"value\":\"BE\"},{\"label\":\"Belize\",\"value\":\"BZ\"},{\"label\":\"Benin\",\"value\":\"BJ\"},{\"label\":\"Bermuda\",\"value\":\"BM\"},{\"label\":\"Bhutan\",\"value\":\"BT\"},{\"label\":\"Bolivia\",\"value\":\"BO\"},{\"label\":\"Bosnia & Herzegovina\",\"value\":\"BA\"},{\"label\":\"Brazil\",\"value\":\"BR\"},{\"label\":\"British Virgin Is.\",\"value\":\"VG\"},{\"label\":\"Brunei\",\"value\":\"BN\"},{\"label\":\"Bulgaria\",\"value\":\"BG\"},{\"label\":\"Burkina Faso\",\"value\":\"BF\"},{\"label\":\"Cambodia\",\"value\":\"KH\"},{\"label\":\"Cameroon\",\"value\":\"CM\"},{\"label\":\"Canada\",\"value\":\"CA\"},{\"label\":\"Cape Verde\",\"value\":\"CV\"},{\"label\":\"Cayman Islands\",\"value\":\"KY\"},{\"label\":\"Chad\",\"value\":\"TD\"},{\"label\":\"Chile\",\"value\":\"CL\"},{\"label\":\"China\",\"value\":\"CN\"},{\"label\":\"Colombia\",\"value\":\"CO\"},{\"label\":\"Comoros\",\"value\":\"KM\"},{\"label\":\"Congo, Repub. of the\",\"value\":\"CG\"},{\"label\":\"Cook Islands\",\"value\":\"CK\"},{\"label\":\"Costa Rica\",\"value\":\"CR\"},{\"label\":\"Cote d\\'Ivoire\",\"value\":\"CI\"},{\"label\":\"Croatia\",\"value\":\"HR\"},{\"label\":\"Cyprus\",\"value\":\"CY\"},{\"label\":\"Czech Republic\",\"value\":\"CZ\"},{\"label\":\"Denmark\",\"value\":\"DK\"},{\"label\":\"Djibouti\",\"value\":\"DJ\"},{\"label\":\"Dominica\",\"value\":\"DM\"},{\"label\":\"Dominican Republic\",\"value\":\"DO\"},{\"label\":\"East Timor\",\"value\":\"TL\"},{\"label\":\"Ecuador\",\"value\":\"EC\"},{\"label\":\"Egypt\",\"value\":\"EG\"},{\"label\":\"El Salvador\",\"value\":\"SV\"},{\"label\":\"Equatorial Guinea\",\"value\":\"GQ\"},{\"label\":\"Eritrea\",\"value\":\"ER\"},{\"label\":\"Estonia\",\"value\":\"EE\"},{\"label\":\"Faroe Islands\",\"value\":\"FO\"},{\"label\":\"Fiji\",\"value\":\"FJ\"},{\"label\":\"Finland\",\"value\":\"FI\"},{\"label\":\"France\",\"value\":\"FR\"},{\"label\":\"French Guiana\",\"value\":\"GF\"},{\"label\":\"French Polynesia\",\"value\":\"PF\"},{\"label\":\"Gabon\",\"value\":\"GA\"},{\"label\":\"Gambia\",\"value\":\"GM\"},{\"label\":\"Georgia\",\"value\":\"GE\"},{\"label\":\"Germany\",\"value\":\"DE\"},{\"label\":\"Gibraltar\",\"value\":\"GI\"},{\"label\":\"Greece\",\"value\":\"GR\"},{\"label\":\"Greenland\",\"value\":\"GL\"},{\"label\":\"Grenada\",\"value\":\"GD\"},{\"label\":\"Guadeloupe\",\"value\":\"GP\"},{\"label\":\"Guatemala\",\"value\":\"GT\"},{\"label\":\"Guernsey\",\"value\":\"GG\"},{\"label\":\"Guinea\",\"value\":\"GN\"},{\"label\":\"Guinea-Bissau\",\"value\":\"GW\"},{\"label\":\"Guyana\",\"value\":\"GY\"},{\"label\":\"Haiti\",\"value\":\"HT\"},{\"label\":\"Honduras\",\"value\":\"HN\"},{\"label\":\"Hong Kong\",\"value\":\"HK\"},{\"label\":\"Hungary\",\"value\":\"HU\"},{\"label\":\"Iceland\",\"value\":\"IS\"},{\"label\":\"Indonesia\",\"value\":\"ID\"},{\"label\":\"Ireland\",\"value\":\"IE\"},{\"label\":\"Isle of Man\",\"value\":\"IM\"},{\"label\":\"Israel\",\"value\":\"IL\"},{\"label\":\"Italy\",\"value\":\"IT\"},{\"label\":\"Jamaica\",\"value\":\"JM\"},{\"label\":\"Japan\",\"value\":\"JP\"},{\"label\":\"Jersey\",\"value\":\"JE\"},{\"label\":\"Jordan\",\"value\":\"JO\"},{\"label\":\"Kazakhstan\",\"value\":\"KZ\"},{\"label\":\"Kenya\",\"value\":\"KE\"},{\"label\":\"Kiribati\",\"value\":\"KI\"},{\"label\":\"Korea, South\",\"value\":\"KR\"},{\"label\":\"Kuwait\",\"value\":\"KW\"},{\"label\":\"Kyrgyzstan\",\"value\":\"KG\"},{\"label\":\"Laos\",\"value\":\"LA\"},{\"label\":\"Latvia\",\"value\":\"LV\"},{\"label\":\"Lesotho\",\"value\":\"LS\"},{\"label\":\"Liberia\",\"value\":\"LR\"},{\"label\":\"Liechtenstein\",\"value\":\"LI\"},{\"label\":\"Lithuania\",\"value\":\"LT\"},{\"label\":\"Luxembourg\",\"value\":\"LU\"},{\"label\":\"Macau\",\"value\":\"MO\"},{\"label\":\"North Macedonia\",\"value\":\"MK\"},{\"label\":\"Madagascar\",\"value\":\"MG\"},{\"label\":\"Malawi\",\"value\":\"MW\"},{\"label\":\"Malaysia\",\"value\":\"MY\"},{\"label\":\"Maldives\",\"value\":\"MV\"},{\"label\":\"Malta\",\"value\":\"MT\"},{\"label\":\"Marshall Islands\",\"value\":\"MH\"},{\"label\":\"Martinique\",\"value\":\"MQ\"},{\"label\":\"Mauritania\",\"value\":\"MR\"},{\"label\":\"Mauritius\",\"value\":\"MU\"},{\"label\":\"Mayotte\",\"value\":\"YT\"},{\"label\":\"Mexico\",\"value\":\"MX\"},{\"label\":\"Micronesia, Fed. St.\",\"value\":\"FM\"},{\"label\":\"Moldova\",\"value\":\"MD\"},{\"label\":\"Monaco\",\"value\":\"MC\"},{\"label\":\"Mongolia\",\"value\":\"MN\"},{\"label\":\"Montserrat\",\"value\":\"MS\"},{\"label\":\"Morocco\",\"value\":\"MA\"},{\"label\":\"Mozambique\",\"value\":\"MZ\"},{\"label\":\"Myanmar\",\"value\":\"MM\"},{\"label\":\"Namibia\",\"value\":\"NA\"},{\"label\":\"Nauru\",\"value\":\"NR\"},{\"label\":\"Nepal\",\"value\":\"NP\"},{\"label\":\"Netherlands\",\"value\":\"NL\"},{\"label\":\"Netherlands Antilles\",\"value\":\"AN\"},{\"label\":\"New Caledonia\",\"value\":\"NC\"},{\"label\":\"New Zealand\",\"value\":\"NZ\"},{\"label\":\"Niger\",\"value\":\"NE\"},{\"label\":\"Nigeria\",\"value\":\"NG\"},{\"label\":\"N. Mariana Islands\",\"value\":\"MP\"},{\"label\":\"Norway\",\"value\":\"NO\"},{\"label\":\"Oman\",\"value\":\"OM\"},{\"label\":\"Palau\",\"value\":\"PW\"},{\"label\":\"Palestine\",\"value\":\"PS\"},{\"label\":\"Papua New Guinea\",\"value\":\"PG\"},{\"label\":\"Paraguay\",\"value\":\"PY\"},{\"label\":\"Peru\",\"value\":\"PE\"},{\"label\":\"Philippines\",\"value\":\"PH\"},{\"label\":\"Poland\",\"value\":\"PL\"},{\"label\":\"Portugal\",\"value\":\"PT\"},{\"label\":\"Qatar\",\"value\":\"QA\"},{\"label\":\"Reunion\",\"value\":\"RE\"},{\"label\":\"Romania\",\"value\":\"RO\"},{\"label\":\"Rwanda\",\"value\":\"RW\"},{\"label\":\"Saint Helena\",\"value\":\"SH\"},{\"label\":\"Saint Kitts & Nevis\",\"value\":\"KN\"},{\"label\":\"Saint Lucia\",\"value\":\"LC\"},{\"label\":\"St Pierre & Miquelon\",\"value\":\"PM\"},{\"label\":\"Saint Vincent and the Grenadines\",\"value\":\"VC\"},{\"label\":\"San Marino\",\"value\":\"SM\"},{\"label\":\"Sao Tome & Principe\",\"value\":\"ST\"},{\"label\":\"Senegal\",\"value\":\"SN\"},{\"label\":\"Serbia\",\"value\":\"RS\"},{\"label\":\"Seychelles\",\"value\":\"SC\"},{\"label\":\"Sierra Leone\",\"value\":\"SL\"},{\"label\":\"Singapore\",\"value\":\"SG\"},{\"label\":\"Slovakia\",\"value\":\"SK\"},{\"label\":\"Slovenia\",\"value\":\"SI\"},{\"label\":\"Solomon Islands\",\"value\":\"SB\"},{\"label\":\"South Africa\",\"value\":\"ZA\"},{\"label\":\"Spain\",\"value\":\"ES\"},{\"label\":\"Suriname\",\"value\":\"SR\"},{\"label\":\"Swaziland\",\"value\":\"SZ\"},{\"label\":\"Sweden\",\"value\":\"SE\"},{\"label\":\"Switzerland\",\"value\":\"CH\"},{\"label\":\"Taiwan\",\"value\":\"TW\"},{\"label\":\"Tajikistan\",\"value\":\"TJ\"},{\"label\":\"Tanzania\",\"value\":\"TZ\"},{\"label\":\"Thailand\",\"value\":\"TH\"},{\"label\":\"Togo\",\"value\":\"TG\"},{\"label\":\"Tonga\",\"value\":\"TO\"},{\"label\":\"Turkey\",\"value\":\"TR\"},{\"label\":\"Turkmenistan\",\"value\":\"TM\"},{\"label\":\"Turks & Caicos Is\",\"value\":\"TC\"},{\"label\":\"Tuvalu\",\"value\":\"TV\"},{\"label\":\"Uganda\",\"value\":\"UG\"},{\"label\":\"United Arab Emirates\",\"value\":\"AE\"},{\"label\":\"United Kingdom\",\"value\":\"GB\"},{\"label\":\"United States\",\"value\":\"US\"},{\"label\":\"Uruguay\",\"value\":\"UY\"},{\"label\":\"Uzbekistan\",\"value\":\"UZ\"},{\"label\":\"Vanuatu\",\"value\":\"VU\"},{\"label\":\"Wallis and Futuna\",\"value\":\"WF\"},{\"label\":\"Western Sahara\",\"value\":\"EH\"},{\"label\":\"Zambia\",\"value\":\"ZM\"}]');\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@cakedefi/cake-sdk/assets/allowed-countries-en.json?"); /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ (() => { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = (module) => { /******/ var getter = module && module.__esModule ? /******/ () => (module['default']) : /******/ () => (module); /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /************************************************************************/ /******/ /******/ // startup /******/ // Load entry module and return exports /******/ // This entry module can't be inlined because the eval devtool is used. /******/ var __webpack_exports__ = __webpack_require__("./plain-sign-up/main.js"); /******/ /******/ })() ;
- Cake DeFi
What Is "Know Your Customer (KYC)"?
What Is "Know Your Customer (KYC)"?

If you have just signed up for a Cake DeFi account, you’re sure to have been asked to “complete your KYC” as part of the identity verification process. What is it? And what’s the real importance of successfully completing this process?

Read this article and find out!

KEY TAKEAWAYS General Purpose of KYCKYC in the Crypto SpaceCompleting Your KYC with Cake DeFiGENERAL PURPOSE OF KYC

Completing your KYC is a standard process that is widely implemented in traditional banking and finance for the purpose of providing protection and transparency to both financial service providers and their clients.

How exactly does KYC help achieve this?

KYC, typically, involves requirements or policies such as risk management, customer acceptance policies, and transaction monitoring. As such, KYC allows service providers to obtain detailed information on clients' risk tolerance, investment knowledge and / or financial position. With such information, service providers are able to provide the most suitable investment advice or options to clients - thus, protecting them from risks and pitfalls involved.

All in all, KYC is essential to the financial service provider-client relationship as it first establishes facts before transactions or recommendations are made.

What Is "Know Your Customer (KYC)"?KYC IN THE CRYPTO SPACE

Since KYC, as a whole, helps verify the identity of those interested in using services or products offered by financial institutions, it has become a significant tool in fighting against criminal activities such as fraud, money laundering, identify theft and terrorist funding today.

As such, crypto companies - including crypto exchanges and Decentralized Finance (DeFi) platforms -  are mandated by law to carry out certain identity and background checks on their clients before allowing them to use their products and / or services.

Furthermore, a report published by Ransomware Task Force in 2021, not only highlighted that KYC helps tackle malicious activities such as ransomware but also suggested for existing KYC laws to be further enforced and that additional regulations may be necessary.

COMPLETING YOUR KYC WITH CAKE DEFI

Completing your KYC with Cake DeFi is very simple and straightforward. Once providing their preferred login details on the sign up page, new users will immediately be notified to complete the verification process to be able to use the products and services that we offer.

What Is "Know Your Customer (KYC)"?

Once you click on the “VERIFY NOW” button and the verification process begins, you will then be asked to enter your mobile number. A verification code will then be sent to that same mobile number.

What Is "Know Your Customer (KYC)"?

The next step consists of two parts: Proof-Of-Identity and Proof-Of-Address. To know the requirements for Proof-Of-Identity, you may click here. To know the requirements for Proof-Of-Address, you may click here.

Finally, to complete the KYC process, you will have to provide a selfie.

What Is "Know Your Customer (KYC)"?

And that’s it! Upon completing the KYC process, users can start generating cash flow and passive income through our Lending, Staking and Liquidity Mining services, as well as our Borrow product. Also, users will not only be able to access our Learn page but also get the crypto rewards that they would earn from successfully completing the quizzes available on there.

By the way, new users will get US$30 worth of DFI when you register successfully and make a deposit of US$50 or more, and allocate the amount for at least 28 days into either our Lending, Staking and Liquidity Mining services.

For more useful information about Cake DeFi’s processes, you may visit our blog section or FAQ section.

- Cake DeFi
Crypto Tanking, Cake DeFi Banking: US$73M paid out in Q1 2022 rewards
Crypto Tanking, Cake DeFi Banking: US$73M paid out in Q1 2022 rewards

Dear Customers, Partners, and the rest of the Community!

2022 started for us with a bang – literally. In order to get the team aligned with our aggressive goals, we had invited every team member that had passed probation to a kick-off week in Munich at the beginning of January. Just as we were on our way there, the German regulator BaFin made a public announcement that they would be investigating whether we needed a German banking license or not. We immediately reached out to our German law firm, to understand what was going on and are now in touch with BaFin, but also with other authorities on applying for a European crypto license.

On top of all that, the bearish sentiment for crypto continued all the way through Q1 2022, with Bitcoin hitting a low of roughly US$32,000 by the end of January. This dragged pretty much all other cryptocurrencies and therefore also most of the investors’ sentiment down with it. Only the DeFiChain price managed to withstand the downward spiral and kept trending close to an all-time high. The decision to list DFI in 2020 and focus our products and services around “DeFi on Bitcoin” has really paid off for our customers, and therefore also for us as a company. Nevertheless, with the Borrow product development completed in Q1 and rolled out  at the beginning of Q2, we have now finished the integration of this exciting blockchain and from Q2 onwards, we will focus on other cash flow opportunities, which we call “Multichain”.

Growth wise, we hit an all-time high growth in terms of customers, deposits and payouts. Due to our rigorous business model of recurring revenue, we managed to pay out US$73M in customer rewards, and stayed cash flow positive as a company despite all the blitzscaling and growth, while the rest of the ecosystem seems to be bleeding.

Despite hitting our major outcomes, I would like to reflect critically, looking into some of our struggles and shortcomings in Q1 2022, while providing suggestions on how to improve going forward. The team leads were tasked to go a bit deeper into their own departments, and you can read their thoughts in the various chapters of the Executive Summary. Here, I would like to look at them from a higher level.

Crypto Tanking, Cake DeFi Banking: US$73M paid out in Q1 2022 rewardsFINANCE:Our company is extremely healthy financially despite the wavering crypto market and our Finance Team lead by Ping Lai has done an amazing job preparing us for our audit and due diligence processes.US$73M were paid as rewards to our customers in Q1, 2022, which is pretty much as Q4 2021, despite the different crypto sentiment. The number is in line with our target for 2022.Even if our revenue dried up completely  and crypto prices would drop by 80%, and we had to cut down our marketing budget as much as possible, we would still easily have 3-4 years of financial runway.Nevertheless, we always look to add other revenue streams for our customers and thereby for the company:- Multichain Activity. This allows us to provide additional income from other protocols, but furthermore, allows us to provide our customers with access into the entire Web3 space- Treasury Activity. We have built up a massive fiat and crypto treasure over the past years. Making money from that, however, greatly depends on the market conditions, which I do not expect to improve until late Q3 2022 - Investing Activity. Due to the market sentiment, Cake DeFi Ventures will take a very cautious approach to startup investing at the moment. Since these are our own funds, we have no time pressure with how fast we deploy these funds into other companies.MARKETING:

Our marketing and comms strategy has greatly improved in Q1, and I am quite confident it will get even better in Q2 of 2022.

Leticia, our PR and Comms Lead, together with her team, has done an amazing job with all the new news pieces and completely turned around the Branding, PR and Comms department. The announcement of Cake DeFi Ventures especially had a strong customer growth impact, as well as the promotions around the Bitcoin Learn and Earn.The launch of Cake DeFi Ventures’ US$100M VC arm generated very strong coverage (>150 media articles) in the global crypto media /online news outlets (Coindesk, Cointelegraph, The Block, FXEmpire, Crypto Daily, Crypto Potato, Blockworks, Yahoo Finance, The Street etc) and Singapore-based online tech/investment media outlets (Tech in Asia, Vulcan Post, e27, The Asset, AVCJ, The Asian Banker). We also saw a handful of coverage in  multiple languages/geographies (Arabic, German, Japanese, Mandarin). Visibly lacking was coverage in top tier business titles and local mainstream media as the then news cycle was inevitably dominated by the Ukraine war. We have also started ramping up speaking engagements in Singapore and globally (SXSW, The Economist's Tech for Change Week, TEDxNewton). We will be kicking off our own live in-person events in Singapore, starting with Crypto Market Outlook 2022 on 7 April 2022.In addition, social media influencers covered key content and ran reviews of Cake DeFi, including: Mr. Money TV, Foxy On The Blockchain, Jim Crypto, DAPP Centre, Crypto Kang, Cryptosphere, LiteLiger, Moneydelics, Market Warrior FX, and more.Kavi, our VP of Marketing has helped us tremendously, especially with setting up the FaceIt Partnership, which will drive a lot of Gamers to Cake DeFi, and from here onwards we need even more experts in performance marketing, affiliate marketing and driving app downloads.The implementation of our new KYC solution has increased our KYC conversion to record highs.We will also hire a Social Media & Community Lead, who will help with Influencers and Social Media strategies.We will keep doubling down on our winning strategies, and cut our losing ones. Performance Marketing, Influencer Marketing and Referral Marketing have been our strong winners. We will double down on them.Additionally, we have shifted aggressively to a mobile-first approach , and we will be revamping many landing pages to convert even more of our traffic.PRODUCT:

The Product team focused on these 5 priorities in Q1 of 2022:

Cleaning Up the overflow from 2021 and dealing with massive instability challenges due to the strong user growth.Improving the UX, especially around KYC, by implementing international and local Singaporean KYC measures.Concluding the DeFiChain integration with adding the final dToken and preparing the launch of Borrow.Being FATF compliant by implementing additional travel rule withdrawal systems.Implementing data tools for better reporting.For Q2, 2022, we have a couple major releases. The main one will be to go “Multichain” by implementing other blockchains to expand our existing revenue streams.We definitely had some roadmap delays and spill-overs into Q2. We are especially looking for a VP of Engineering and a VP of UX Design, to help solve these problems. Both have to have have years of experience with fast-moving global web services of the world such as the likes of Netflix, Uber, Facebook, etc. Missing these two roles is probably the cause of major Product pain points and its symptoms are seen in how the app works, how stable our system is and how fast we can roll out new services.Product-centric management has yielded tremendous results over the team organization and product deliverables, while providing clarity to all stakeholders, marketing etc. and, it is important as well for Cake as a whole to be transitioning to an even stronger product-based management vs engineering-focused management.OPS:Of the three large teams I see in any company (product, marketing, operations), the Ops team, which includes, finance, legal, compliance, risk and hr, performed the best in Q1. This is in stark contrast to last year, where operations were mostly lagging behind compared to the other teams. For now, it is also the team we are not really needing to expand much.The withdrawal processes and speed have improved dramatically.The same goes for the KYC process, where most identities are being checked within 3 minutes and due to the seamless process, we now manage to get record numbers in the verified stage. In Q2, the team is planning to automate the KYB process as well.With our current VP of Ops Bettina going into maternity leave, we have hired a senior leader from LinkedIn, who will be an excellent addition to the team, and will be starting in May.The Customer Success Team now has a senior lead and has expanded into all timezones, being able to provide 24h customer support, which is absolutely necessary with the tremendous growth this quarter. In Q2, the team will be looking into adding a chatbot into the app to speed up our response time even further.The Business Intelligence team has been established. Despite a rather complex product-first data structure that we have, BI team led by Kapil has managed to identify a BI platform, set up a preliminary dashboard with the goal of fully transitioning all data requests to self-generating and self-service reports on Microstrategy.Security will stay an increased focus point, with additional security layers for team members.LEGAL & COMPLIANCE:We had our new legal lead start in Q1 2022 and also hired our new compliance lead, who will start at the beginning of Q2. Both will be hiring another team member each in Q2, and then these teams are fully stacked and efficient.Additionally, we got our Birthday Research contracts completed for all team members working on open source code.We liaised with our external legal partner in Germany to resolve any issues the German regulator BaFin may have with our products. This also included getting ready for a European Crypto Custody License.We also stayed in touch with the Singaporean regulator MAS for our Payment Services Act (PSA) license.We also did a thorough internal review of all our documents, contracts, etc.I also expect constant legal work to pop up, so there will be regular ad-hoc work for the team.BUSINESS DEVELOPMENT:With FaceIt, we closed our first Lifestyle Partnership in Q1 2022. Another one is currently on hold, hopefully to be launched soon.We also announced the launch Cake DeFi Ventures, our VC arm with US$100M earmarked in capital for investments in towards strategic partnerships. We are proud to announce our first investment into an NFT marketing company.R&D:Contributing to the R&D of DeFiChain has generated a lot of value to Cake DeFi users and justifies our R&D spending.It will be essential to make it clear to the outside world, what Cake DeFi is, and what our R&D efforts are. Many times people see Cake DeFi synonymous with DeFiChain, which is not correct. This will become clearer with us working on other blockchains from Q2 onward.Ramping up the team and efforts in Birthday Research to contribute as a company into the wider blockchain ecosystem will also help.Moving ahead, Birthday Research will largely focus on two functions that align 100% with Cake’s company goals: open source software contribution and new research-heavy product design and incubation.HR:Our goal was to make 20 hires in Q1 and we managed to have our strongest hiring quarter yet, and hit 28 hires, getting us to 121 confirmed team members.We have now upped our 2022 team size goal to 200 team members, of which most will be for the product and marketing teams, and we offer full health insurance to all.I will put a strong emphasis on our team principles and have started performance reviews from Q1 onward. We will also become way stricter on team members passing probation.Additionally, we have hired a senior HR manager to start in Q2, and will be looking into adding a VP of Talent later this year.We got our office for up to 50 team members in Singapore and since the Singapore government allows for 100% of the workforce to return to work, we will require all local team members to be at the office on Tuesdays and Fridays from July onwards. While I am sure we will receive some pushback from a few team members at the beginning, especially because for almost two years they were only working from home, I strongly believe in having such a mix.Additionally, we are planning on having the next company get-together in Q2 in Dubai.Next, we are planning on doing a full team get-together late Q3 in Singapore, which may be mandatory for people to join.RISK:

While it is important to focus on all the things we need to do in the upcoming quarter, it is equally important to remind ourselves that it is always “a car we don’t see coming that kills us”, meaning that we need to make sure we mitigate as many risks as possible. I split risks into three categories: those we are not aware of which are the most dangerous, those that we can influence, and those we cannot influence.

Risks that we are not aware of are the riskiest, because it doesn’t matter whether we can influence them or not - we are simply not aware of them. The best way to combat these risks is to hire team members that are smarter and more experienced in their fields of expertise than I am, and I believe we are doing that. Additionally, we have hired two Internal Risk Control Specialists with audit backgrounds, who assist to map out potential risks and further on, mitigations with the teams.Of all the risks we can influence, the five most relevant ones are:Fund hacks, which we mitigate by using good wallet separation strategy and designs. Ensuring that key custodians are sound, processes are in place and only having a limited group of people to have access to a larger amount of our funds. Our growth into other blockchains may present a renewed risk, as none of the other providers, we have evaluated quite a few major ones, are as securely designed as BitGo’s. We will be mitigating these risks by moving some funds away from the providers and into our cold systems/wallets.Data hack, which we mitigate by having sound security engineering,  social engineering mitigation, and clear safe processes overall.Treasury volatility, which we mitigate by investing our treasury with at least 50% in low volatility assets such as fiat and stable coins and the rest only in Bitcoin and Ethereum.Transaction errors, which we mitigate by using manual processes on top of the automated ones, such as four-eye-principles, before every larger transaction.Blockchain or Smart Contract bugs, which are technically mitigated by our terms & conditions, but it is something that could potentially affect our reputation if one of the DeFi services that we offer encounter a major bugs causing our customers to lose funds. We also mitigate this by being careful in selecting DeFi protocols and products for launch.Of all the risks we CANNOT influence, the five most relevant ones currently are:- Crypto sentiment, which I am NOT expecting to improve in Q2, 2022.- Crypto regulation, which has gotten slightly worse over the past quarter.- Crypto taxation, which has improved in some jurisdictions such as Germany, who have confirmed that Staking does not increase the holding period to 10 years to be tax-free.- Economic uncertainties, which I am NOT expecting to improve in Q2 2022.- The COVID pandemic, which has improved in Q1.

Summarizing, I believe that we are doing a great job minimizing our risks while maximizing our opportunities, and our internal risk specialist is doing a fantastic job in getting our risk committee together for this purpose.

As a reminder:

We do what we do because we believe the lack of purchasing power is the root of all evil! We started with Decentralized Finance (DeFi), because with all the inflation and economic uncertainty in the world, crypto is pretty much the only place to get capital gains and good yield with acceptable risks. We will now go on to expand into more asset classes to help even more people to increase their purchase power. This is our WHY or MOTIVE.We bring financial freedom to anyone! We started by proving people cashflow /  financial rewards on their crypto! We now go on to provide not only consumers, but also businesses, easy and trusted access into the world of DeFi and Web3. This is our HOW or MISSION.We are building the world’s Web3 plug and play infrastructure! We started with building a safe and compliant 1-stop platform with easy access into the world of Decentralized Finance for consumers. We now go on to build the front- and back-end into DeFi and Web3. This is our WHAT or VISION.

If you are not getting excited looking at this roadmap for this rocket ship, I am not sure what will. If you are already a customer or partner of ours, thank you for your trust. If not, then what are you waiting for? Head over to https://cakedefi.com and get started.

JulianPS.: We are always hiring: https://cakedefi.com/jobs

- Cake DeFi
What is “Borrow” by Cake DeFi?
What is “Borrow” by Cake DeFi?

DO YOU WANT TO KNOW A SECRET? The world’s wealthiest and most strategic investors can generate income from their assets without even having to sell them. How do they do it? By simply borrowing loans against their assets –– an option that crypto investors can now also opt for using Cake DeFi’s recently introduced “Borrow” service.

How does it work and how can you participate in it? Read on and find out.  

KEY TAKEAWAYS

What is Borrow? Why Do Wealthy & Successful Investors Still Borrow?What is “Borrow” by Cake DeFi? How do Cake DeFi users normally make money with the DUSD they borrowed?

What is Borrow? Why do Wealthy & Successful Investors Still Borrow?

In Finance, to borrow is simply “to obtain or receive money on loan with the promise or understanding that it will be repaid.” For most people, borrowing is something negative as it creates debt or that it gives an impression that the borrower is in debt and has no other choice but to borrow money.

This is true, for some cases. However, nothing can be further from the truth for wealthy and successful investors who take advantage of this option.

Why do they still borrow money? Simply because they have two things that most of us don’t: assets (stocks, bonds, real estate etc.) and a line of credit for owning these assets. So, rather than selling assets - which is a taxable event - they use them as collateral to borrow loans and generate income for themselves, purchase a desired item and / or participate in other investing opportunities.

Simply put, borrowing allows wealthy and successful investors to not only retain their assets but also receive funds for sustaining their lifestyle and / or creating more financial opportunities for themselves. Not only that, this service is often offered at low interest rates and greater repayment flexibility - which makes it a truly attractive investment opportunity that no sensible investor will ever miss out on.

What is “Borrow” by Cake DeFi?What is “Borrow” by Cake DeFi?

Similarly, crypto investors who do not wish to sell their crypto assets but want to receive funds to support their lifestyle or generate cash flow by using them as collateral can use Cake DeFi’s “Borrow” service.

What crypto assets can they use as collateral?

Borrowers can pledge DFI as collateral or combine it with Bitcoin (BTC), Ether (ETH), Tether (USDT) and USD Coin (USDC) (as long as 50% of the collateral is DFI). In return, borrowers receive the stablecoin DUSD - which is currently ranked in the highly-referenced cryptocurrency price-tracking website CoinMarketCap and is also listed on the DeFiChain DEX.

What is the benefit of borrowing DUSD?

Just like any other stablecoin, DUSD can be used to purchase items or, better yet, participate in other investment opportunities. In fact, a practical way to invest the DUSD borrowed would be to participate in Cake DeFi’s Lending,  Staking and / or Liquidity Mining either directly or by swapping the DUSD into other coins.

What are the risks of using “Borrow”? Does it have certain limitations or restrictions?

Indeed, every investment tool has certain risks, limitations and / or restrictions attached to them. Users of Cake DeFi’s “Borrow” service, for example, should be aware that their collateral will be at risk of being liquidated If it drops below the 200% collateralization ratio.

To avoid this, borrowers should be mindful of the amount of DUSD that they are being allowed to borrow - which can be seen in real-time as they key in the total amount of collateral that they are willing to pledge.

Can borrowers convert the DUSD that they borrowed into other crypto assets?

Indeed, they can convert the borrowed DUSD into USDC or DFI without any conversion fee. However, conversion is no longer allowed once the borrowing process is complete and the DUSD appears on the borrower’s wallet.

It should also be noted that borrowers may only convert DUSD into USDC through the “Borrow” service, and that there are no other features available on the Cake DeFi platform that allows this action to take place.

Finally, this service can only be accessed through the Cake DeFi mobile app and is only available to those with verified accounts.

How do Cake DeFi users normally make money with the DUSD they borrowed?

Though none of the information or tips provided herein are financial advice, there are three known methods or strategies that users of the Cake DeFi “Borrow” service usually apply when it comes to making full use of the DUSD that they borrowed.

Strategy #1

The first method is the simplest and most straightforward: withdraw the DUSD and sell or convert them into fiat or other digital assets via a preferred crypto exchange. The user may then use the fiat to purchase other revenue-generating assets or participate in other investment opportunities. They can do the same with the digital assets that they converted the DUSD into - depending on what it is, of course.

Strategy #2

The second method is to re-invest the DUSD borrowed into the “Borrow” service by adding them into the existing collateral. Not only does this allow users to receive a new batch of DUSD but it also decreases the risk of their collateral being liquidated.

Strategy #3

Finally, the third method is to something that we already mentioned earlier: invest the DUSD borrowed to participate in Cake DeFi’s Lending,  Staking and / or Liquidity Mining either directly or by swapping the DUSD into other coins.

Why did we highlight this method again? It’s because this method, actually, allows users to use their rewards to top up their collateral. By doing so, they don’t have to top up manually.

There are other methods or strategies that users apply to make full use of the borrowed DUSD, and users may choose to combine or come up with new ones. Truly, the sky's the limit and you are free to decide how to use the borrowed DUSD to your advantage.    

That said, we strongly recommend that you read this article before using our “Borrow” service.

In addition, if you want general information on how to make money with your cryptocurrencies, you may read this article or check our blog section for other useful information on the topic.

And that’s it! Thanks for reading this article. We look forward to seeing you “Borrow” your first batch of funds and generate cash flow for your investment activities soon.

- Cake DeFi
What Is Crypto Lending?
What Is Crypto Lending?

Is it possible to earn passive income without having high-level crypto investing skills and knowledge, and by just owning one type of cryptocurrency? The answer is, “YES!”

Welcome to the simplistic but highly lucrative world of crypto lending. Read on and find out!

KEY TAKEAWAYSDefinition of LendingHow Do I Lend My Crypto? Definition of Lending

The term “lending” is simply understood as the act of granting someone the use of something on the understanding that it will be returned. However, when used for business or investing, this term tends to carry more weight.

Also known as financing, lending occurs when an asset such as money or property is given by a lender to a borrower with the expectation that it will be returned at a specified time and with interest.

This definition applies in both Traditional Finance and Decentralized Finance, as well as in the case of lending cryptocurrencies.

How Do I Lend My Crypto?

Although the overall principle of lending essentially remains the same, the exact method or process involved differs from platform to platform. At Cake DeFi, however, lending your cryptos is not only simple and hassle-free, but also low risk.

What do we mean by simple and hassle-free?

First of all, users are not required to own various types of cryptocurrencies. To use our service, you must simply own either Bitcoin (BTC), Ether (ETH), USD Coin (USDC) or Tether (USDT).

How do you lend either of these?

Simply go to the lending section of our website, click the “ENTER” button displayed on your preferred crypto, key in your preferred amount and that’s it! You have essentially started generating passive income by putting your crypto to work through lending.

What Is Crypto Lending?

How safe is our lending service?

Of course, every investment comes with its own risks and challenges. To ensure that our users can make informed decisions, however, we provide transparency on the expected APY and a service summary on timelines and deadlines and other such details.

What Is Crypto Lending?

Also, users of our lending service benefit from the agreed upon safety measures and protection to be provided by our institutional partners in Singapore.  

For more information about our lending service, you may watch this video by Cake DeFi CEO & Co-Founder Julian Hosp.

If you want more information on how to make money with your cryptocurrencies, you may read this article or check our blog section for other useful information on the topic .

If you want to use our lending service but are not yet a registered Cake DeFi user, you may click here to sign up and start generating passive income with us. You will get US$30 worth of DFI when you register successfully and make a deposit of US$50 or more, and allocate the amount for at least 28 days into either our Lending, Staking Freezer or Liquidity Mining Freezer service.

Thank you for reading this article. We look forward to seeing you “bake” passive income and generate cash flow with us soon!

- Cake DeFi
Cake DeFi Successfully Completes Audit Conducted by Cure53
Cake DeFi Successfully Completes Audit Conducted by Cure53

We proudly add another feather in our cap as we successfully complete a security assessment conducted by top IT security consultancy firm Cure53 and receive positive remarks - particularly on our UI, backend API, and underlying servers.

The assessment, which kickstarted in February 2022, entailed a penetration test and a general review of the observable security premise. It also involved a team of four Cure53 testers that investigated the scope through a range of methods and which, ultimately, led the consultancy firm to acquire evidence-based knowledge and give a positive verdict on the robustness that Cake DeFi provides.

“Security has and will always be a top priority for all of us at Cake DeFi,” said Cake DeFi CTO & Co-Founder U-Zyn Chua.

“Many crypto companies, actually, have the same claim. The difference with us, though, is that we have proof and that it is backed by a top security consultancy firm in Cure53. Security is a big deal in the crypto space, and that it is something that we can clearly assure our customers of.” he added.

For more information, you may click here to download the official Management Summary provided by Cure53.

- Cake DeFi
Introducing "Borrow" By Cake DeFi
Introducing "Borrow" By Cake DeFi

GOOD NEWS TO ALL CAKE DEFI CUSTOMERS!  You can now strengthen your investment portfolio further with the introduction of “Borrow” - the latest addition to Cake DeFi’s amazing products and services.

What are the Advantages of Cake DeFi "Borrow"?

The “Borrow” service was added on the Cake DeFi mobile app based on two general objectives: 1) Provide a better option for those who are just HODLing their digital assets and 2) Offer another avenue for Cake DeFi users to “make their cryptos work for them.”

How? If you have digital assets just sitting in a wallet and don’t have a Cake DeFi account yet, you may sign up and participate in “Borrow” by using as or converting those digital assets into cryptocurrencies listed as collateral options.Why? By participating in “Borrow”, you can have access to liquidity without having to sell your cryptocurrencies - you just pledge them as collateral in exchange for a stablecoin to purchase items and/ or as funds to participate in other Cake DeFi products and generate passive income.  And, by the way, the collateral is placed safely in a vault - which you can get back once the borrowed amount and interest are paid off.

What Crypto Assets Can I Borrow?

Users can borrow Decentralized USD (DUSD).

What Cryptos Can I Use As Collateral?

DFI can be used as collateral or combine it with Bitcoin (BTC), Ether (ETH), Tether (USDT) and / or USD Coin (USDC). Note that at least 50% of the collateral should be DFI.

How Much DUSD Can I Borrow?

The collateralization ratio is preset at 200% – which means that if the collateral is worth $100 the user is eligible to borrow up to $50 worth of DUSD. Users will be able to see in real-time how much DUSD they can borrow based on the total value of their collateral.

We will also estimate the risk of your collateral being liquidated, so you can adjust and make an informed decision on how much DUSD they prefer to borrow.

Can I Convert the DUSD That I Borrowed Into Other Assets?

Yes, users are allowed to convert the DUSD that they borrowed into USDC or DFI for free.

What User-Friendly Feature Does Cake DeFi "Borrow" Provide?  

Users of the Cake DeFi “Borrow” will receive push mobile notifications on relevant updates. Also, users are allowed to top up their collateral or repay what they borrowed at any given time. Users may top up or payback using any of Cake DeFi’s swappable coins.  

What is the Interest Rate?

The interest rate is at 5% APR (subject to change).

Are There Other Fees Involved?

Yes, a one-time 0.5% fee is involved. This fee, however, is automatically deducted from the DUSD borrowed. Therefore, users should not worry about paying separate or extra charges.

For example, if a user borrows 1,000 DUSD, only 995 DUSD will appear in his / her wallet.

What Can I Use the DUSD That I Borrowed For?

Just like any other stablecoin, the DUSD can be used to purchase items or for investment purposes. A good way to invest the DUSD borrowed is to participate in Cake DeFi’s Lending,  Staking and / or Liquidity Mining, either directly or by swapping the DUSD into other coins.

In fact, users who use their borrowed funds to participate in Cake DeFi’s Liquidity Mining may use their rewards (that pay out twice daily) to top up their collateral . By doing so, they don’t have to top up manually.

How Do I Start Using Cake DeFi "Borrow"?

1. Download the Cake DeFi mobile app by clicking here

2. Choose “Borrow DUSD” if you’re a new user. If you have previously borrowed, you may choose “Add collateral”

Introducing "Borrow" By Cake DeFi

3. Indicate how much DFI you are willing to pledge as collateral. You may choose to combine DFI with other cryptocurrencies, but do note that the 50% of the total collateral should be DFI.

Introducing "Borrow" By Cake DeFi

4. Choose which cryptocurrency you’d like to combine DFI with: BTC, ETH, USDT and USDC.

Introducing "Borrow" By Cake DeFi

5. In fact, you may choose to pledge multiple cryptocurrencies as shown in the example below.

Introducing "Borrow" By Cake DeFi

6. Once you have selected the cryptocurrencies that you’d like to pledge, you must indicate the amount.

Introducing "Borrow" By Cake DeFi

7. In the example below, you can see that 50% of the collateral are DFI (as required) while the remaining 50% are composed of other cryptocurrencies that were pledged.

Introducing "Borrow" By Cake DeFi

8. You will receive an alert if there is an imbalance in the cryptocurrencies being pledged as collateral.

Introducing "Borrow" By Cake DeFi

9. Once the required balance is achieved, your collateral will be added and you may proceed to borrow DUSD.

Introducing "Borrow" By Cake DeFi

10. The total value of your collateral will then be calculated, after which you will be presented with an option to add more collateral. If you choose this option, you will have to decide whether to a) add more DFI; b) remove the DFI that you have already pledged.

Introducing "Borrow" By Cake DeFi

11. You will then be notified how much DUSD you can borrow based on the total value of your collateral. If you want to automatically swap your DUSD into USDC or DFI, you may choose to do so for free.

Introducing "Borrow" By Cake DeFi

12. As you indicate the amount of DUSD you’d like to borrow, the app will also show you the risk of your collateral being liquidated. “Green” indicates low risk.

Introducing "Borrow" By Cake DeFiIntroducing "Borrow" By Cake DeFi

13. “Orange” indicates medium risk.

Introducing "Borrow" By Cake DeFi

14. “Red” indicates high risk.

Introducing "Borrow" By Cake DeFi

15. Once you’ve decided, you may press “Continue” to proceed. If not, you may press “Cancel”.

Introducing "Borrow" By Cake DeFi

16. You will also be alerted if you exceed the amount of DUSD that you are eligible to borrow.

Introducing "Borrow" By Cake DeFi

17. As a final step, you are required to review the details of the transaction and confirm that you agree to the “Terms of Service”.

Introducing "Borrow" By Cake DeFiIntroducing "Borrow" By Cake DeFi

18. If you previously chose for an automatic swap of your DUSDs into USDCs or DFIs, this information will be included in the transaction details

Introducing "Borrow" By Cake DeFi

19. And that’s it! Your DUSD will be visible in your wallet.  

Introducing "Borrow" By Cake DeFiIntroducing "Borrow" By Cake DeFi

For more information about Cake DeFi “Borrow”, keep posted for upcoming articles or check out our FAQs section. You may also send an email to support@cake.zendesk.com if you need any assistance.   Thanks and happy baking!

Register for Cake DeFi directly here :root{--button-bg: rgba(91,16,255,.08);--disable-button-bg: rgba(0, 0, 0, 0.2) }@media(prefers-color-scheme: dark){html:not([data-theme=light]){--button-bg: rgba(91,16,255,0.3);--disable-button-bg: rgba(255, 255, 255, 0.2) }}html[data-theme=dark]{--button-bg: rgba(91,16,255,0.3);--disable-button-bg: rgba(255, 255, 255, 0.2) }.btn,#RegisterSubmitBtn,#ResendConfirmationEmailBtn{display:inline-block;font-size:1.6rem;font-weight:500;line-height:2.4rem;text-decoration:none;margin:0;padding-right:15px;padding-left:15px;padding-bottom:7px;padding-top:7px;border-radius:4px;border:1px solid rgba(91,16,255,.08) !important;letter-spacing:0;text-align:center;background-color:var(--button-bg);color:#5b10ff;transition:all .3s ease;white-space:nowrap;box-sizing:border-box}.btn.btn-large,#RegisterSubmitBtn.btn-large,#ResendConfirmationEmailBtn.btn-large{padding-top:11px;padding-bottom:11px}.btn:hover,#RegisterSubmitBtn:hover,#ResendConfirmationEmailBtn:hover{background-color:rgba(69,0,220,.08) !important;color:#5b10ff !important;text-decoration:none !important}.btn .icon-wrapper,#RegisterSubmitBtn .icon-wrapper,#ResendConfirmationEmailBtn .icon-wrapper{display:flex;align-items:center;justify-content:space-between}.btn .icon,#RegisterSubmitBtn .icon,#ResendConfirmationEmailBtn .icon{background-position:center;background-repeat:no-repeat;width:24px;height:24px}.btn.btn-plain,#RegisterSubmitBtn.btn-plain,#ResendConfirmationEmailBtn.btn-plain{background-color:rgba(0,0,0,.08);color:#5b10ff}.btn.btn-plain:hover,#RegisterSubmitBtn.btn-plain:hover,#ResendConfirmationEmailBtn.btn-plain:hover{background-color:#eee6ff}.btn.btn-link,#RegisterSubmitBtn.btn-link,#ResendConfirmationEmailBtn.btn-link{background-color:#fff;color:#5b10ff}.btn.btn-link:hover,#RegisterSubmitBtn.btn-link:hover,#ResendConfirmationEmailBtn.btn-link:hover{background-color:#ebebeb}.btn.btn-linkedin,#RegisterSubmitBtn.btn-linkedin,#ResendConfirmationEmailBtn.btn-linkedin{background-color:#0077b5;width:auto;color:#fff}.btn.btn-linkedin:hover,#RegisterSubmitBtn.btn-linkedin:hover,#ResendConfirmationEmailBtn.btn-linkedin:hover{background-color:#005582}.btn.btn-linkedin img,#RegisterSubmitBtn.btn-linkedin img,#ResendConfirmationEmailBtn.btn-linkedin img{display:inline;position:relative;top:-3px;margin-right:8px}.btn[disabled],#RegisterSubmitBtn[disabled],#ResendConfirmationEmailBtn[disabled]{color:rgba(255,255,255,.6) !important;border:1px solid rgba(91,16,255,.08) !important;background-color:var(--disable-button-bg) !important;cursor:default !important}.btn[disabled]:hover,#RegisterSubmitBtn[disabled]:hover,#ResendConfirmationEmailBtn[disabled]:hover{text-decoration:none !important}.checkbox{display:flex;align-items:center;cursor:pointer}.checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:auto;padding:0;border:none}.checkbox input[type=checkbox]:focus+span{outline:5px auto -webkit-focus-ring-color}.checkbox input[type=checkbox]+span{margin-right:8px;border:1px solid rgba(0,0,0,.2);background:#f4f3f6;border-radius:4px;display:inline-block;width:24px;height:24px;flex-shrink:0}.checkbox input[type=checkbox]:checked+span{background-image:url('data:image/svg+xml;utf8,');background-color:#f2ebfe}.global-spinner{top:6%;width:100%;position:fixed;text-align:center;display:none;z-index:99999}.loader2{width:32px;height:32px;margin-left:24px;color:#5b10ff}.slice{animation-name:pendulum;animation-duration:1.5s;animation-iteration-count:infinite;transform-origin:50%;fill:currentColor}@keyframes pendulum{0%{transform:rotate(-50deg);animation-timing-function:ease-in-out}50%{transform:rotate(-130deg);animation-timing-function:ease-in-out}100%{transform:rotate(-50deg)}}.spinner-group{animation:rotate 1s linear infinite;width:100%;height:100%;transform-origin:50%}.spinner-group .spinner{stroke:currentColor;stroke-linecap:round;animation:dash 1.8s linear infinite;transform-origin:50%}.spinner-group .track{stroke:#ccc}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:0,120;stroke-dashoffset:0}50%{stroke-dasharray:80,120;stroke-dashoffset:-40}100%{stroke-dasharray:40,120;stroke-dashoffset:-60}}.global-alert{top:56px;position:fixed;z-index:2055}.cake-alert{display:flex;align-items:center;border-radius:4px;padding:8px 16px;text-align:center}.cake-alert.success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.cake-alert.error{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}:root{--color-gray-200: rgba(0, 0, 0, 0.2);--color-gray-300: rgba(0, 0, 0, 0.3);--color-gray-400: rgba(0, 0, 0, 0.4);--color-gray-600: rgba(0, 0, 0, 0.6)}@media(prefers-color-scheme: dark){html:not([data-theme=light]){--color-gray-200: #ccc;--color-gray-300: #ccc;--color-gray-400: #ccc;--color-gray-600: #ccc}}html[data-theme=dark]{--color-gray-200: #ccc;--color-gray-300: #ccc;--color-gray-400: #ccc;--color-gray-600: #ccc}.focus-label,.float-container .float-control-container .float-control:focus~label,.float-container .float-control-container .float-control:focus:not(:placeholder-shown)~label,.float-container .float-control-container .float-control:disabled:not(:placeholder-shown)~label,.float-container .float-control-container .float-control:valid~label{font-size:1.2rem;font-weight:500;line-height:1.6rem;padding-top:3px}.float-container .password-toggle{top:0px;right:0px;border:0px;cursor:pointer;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-sizing:border-box;align-items:center;padding-left:16px;padding-right:16px;background-color:rgba(0,0,0,0);appearance:none}.float-container .password-toggle svg{fill:var(--color-gray-600);width:2.4rem;height:2.4rem}.float-container label.error{color:red;display:block;margin-top:8px;min-height:20px;line-height:20px;letter-spacing:.25px;font-size:1.2rem;text-align:left}.float-container .float-control-container{display:flex;position:relative;font-size:1.6rem}.float-container .float-control-container.readonly{box-shadow:0 0 0 1px var(--color-gray-200);border:1px solid rgba(0,0,0,0);border-radius:4px;padding:12px 16px;line-height:2.4rem;background:#fff}.float-container .float-control-container label{cursor:text;color:var(--color-gray-600);display:block;font-size:1.6rem;line-height:2.4rem;top:0;left:0;margin-bottom:0;padding:12px 16px;border:1px solid rgba(0,0,0,0);pointer-events:none;position:absolute;transition:all .1s ease-in-out;width:100%;z-index:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.float-container .float-control-container .float-control-select-arrow{height:20px;position:absolute;top:15px;right:10px;width:20px}.float-container .float-control-container .float-control-select-arrow b{border-color:#888 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.float-container .float-control-container .float-control{flex:1;box-shadow:0 0 0 1px var(--color-gray-200);border:1px solid rgba(0,0,0,0);border-radius:4px;padding:12px 16px;margin-bottom:0;font-size:1.6rem;line-height:2.4rem;transition:all .1s ease-in-out;-webkit-appearance:none;min-width:0}.float-container .float-control-container .float-control::placeholder{color:rgba(0,0,0,0)}.float-container .float-control-container .float-control:disabled:valid~label{color:var(--color-gray-300)}.float-container .float-control-container .float-control:disabled::placeholder{color:rgba(0,0,0,0)}.float-container .float-control-container .float-control:disabled:not(:placeholder-shown),.float-container .float-control-container .float-control:valid{padding:18px 16px 6px 16px}.float-container .float-control-container .float-control:focus:not(:placeholder-shown),.float-container .float-control-container .float-control:valid{padding:18px 16px 6px 16px}.float-container .float-control-container .float-control:focus:not(:placeholder-shown)::placeholder,.float-container .float-control-container .float-control:valid::placeholder{color:rgba(0,0,0,0)}.float-container .float-control-container .float-control:focus{outline:none !important;padding:18px 16px 6px 16px}.float-container .float-control-container .float-control:focus::placeholder{color:var(--color-gray-400)}.float-container .float-control-container.focus .float-control{box-shadow:0 0 0 2px #5b10ff}.float-container .float-control-container.focus label{color:#5b10ff}.float-container .float-control-container.error .float-control{box-shadow:0 0 0 1px red}.float-container .float-control-container.error.focus .float-control{box-shadow:0 0 0 2px red}.float-container .float-control-container.error label{color:red}.dropdown-help-text{font-weight:500;color:var(--color-gray-600)}.modal{position:fixed;width:100%;height:100%;top:0;left:0;margin-top:0 !important;z-index:-1;opacity:0;background-color:#000;background:rgba(0,0,0,.4);transition:all .3s cubic-bezier(0.36, 0.66, 0.04, 1);overflow:auto}.modal.in{opacity:1;z-index:1}.modal.in .animated-from-top,.modal.in .animated-from-bottom{transform:translateY(0)}.modal-content{position:relative;max-width:992px;width:calc(100% - 32px);margin:32px auto;padding:2em;border-radius:4px;background:#fff;box-shadow:0 5px 15px rgba(0,0,0,.5);transition:all .3s cubic-bezier(0.36, 0.66, 0.04, 1)}.animated-from-top{transform:translateY(-200%)}.animated-from-bottom{transform:translateY(200%)}.mt-3{margin-top:12px}.mb-6{margin-bottom:24px}.my-6{margin-top:24px;margin-bottom:24px}.flex{display:flex}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex-grow:1}.text-black-60{color:rgba(0,0,0,.6)}.hidden{display:none !important}.uppercase{text-transform:uppercase}.l-content .float-control-select-arrow{display:none}@media(min-width: 1024px){.sign-up-name{display:grid;gap:16px;grid-template-columns:repeat(2, minmax(0, 1fr))}}/*# sourceMappingURL=main.css.map */ Confirm Your Email Address

A confirmation email has been sent to . Click on the confirmation link in the email to activate your account.

Resend confirmation email First name Last name Email Password Country of residence Cake DeFi is only available for listed countries Promo or referral code (optional)

I agree with the Cake Terms and Conditions

Sign up /* * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "./assets/js/components/api.js": /*!*************************************!*\ !*** ./assets/js/components/api.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"api\": () => (/* binding */ api)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../config */ \"./assets/js/config/index.js\");\n\n\n\nvar baseURL = _config__WEBPACK_IMPORTED_MODULE_2__.appConfig.API_ENDPOINT;\n\nvar fetcher = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__.default)( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee(input) {\n var options,\n response,\n error,\n _args = arguments;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};\n _context.next = 3;\n return fetch(input, options);\n\n case 3:\n response = _context.sent;\n\n if (response.ok) {\n _context.next = 9;\n break;\n }\n\n _context.next = 7;\n return response.text();\n\n case 7:\n error = _context.sent;\n throw error;\n\n case 9:\n return _context.abrupt(\"return\", response.json());\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function fetcher(_x) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar api = function () {\n function fetchLandingPageData() {\n return fetcher(\"\".concat(baseURL, \"/landing-page\"));\n }\n\n function register(payload) {\n return fetcher(\"\".concat(baseURL, \"/register\"), {\n headers: {\n 'Content-Type': 'application/json'\n },\n method: 'POST',\n body: JSON.stringify(payload)\n });\n }\n\n function resendVerify(email) {\n return fetcher(\"\".concat(baseURL, \"/verify\"), {\n method: 'POST',\n body: email\n });\n }\n\n return {\n fetchLandingPageData: fetchLandingPageData,\n register: register,\n resendVerify: resendVerify\n };\n}();\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/api.js?"); /***/ }), /***/ "./assets/js/components/floating-label.js": /*!************************************************!*\ !*** ./assets/js/components/floating-label.js ***! \************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"floatingLabel\": () => (/* binding */ floatingLabel)\n/* harmony export */ });\nvar floatingLabel = function () {\n var init = function init() {\n document.querySelectorAll('.float-control').forEach(function (control) {\n control.addEventListener('focus', function () {\n this.parentNode.classList.add('focus');\n });\n control.addEventListener('blur', function () {\n this.parentNode.classList.remove('focus');\n });\n });\n initPasswordToggle();\n };\n\n var initPasswordToggle = function initPasswordToggle() {\n document.querySelector('#PasswordOn').addEventListener('click', function () {\n this.classList.add('hidden');\n document.querySelector('#PasswordOff').classList.remove('hidden');\n this.closest('.float-control-container').querySelector('input').setAttribute('type', 'text');\n });\n document.querySelector('#PasswordOff').addEventListener('click', function () {\n this.classList.add('hidden');\n document.querySelector('#PasswordOn').classList.remove('hidden');\n this.closest('.float-control-container').querySelector('input').setAttribute('type', 'password');\n });\n };\n\n return {\n init: init\n };\n}();\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/floating-label.js?"); /***/ }), /***/ "./assets/js/components/signup-form/country-dropdown.js": /*!**************************************************************!*\ !*** ./assets/js/components/signup-form/country-dropdown.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"initCountryDropdown\": () => (/* binding */ initCountryDropdown)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _cakedefi_cake_sdk_assets_allowed_countries_en_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @cakedefi/cake-sdk/assets/allowed-countries-en.json */ \"./node_modules/@cakedefi/cake-sdk/assets/allowed-countries-en.json\");\n\n\nfunction initCountryDropdown() {\n var options = [{\n label: \"\",\n value: \"\"\n }].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__.default)(_cakedefi_cake_sdk_assets_allowed_countries_en_json__WEBPACK_IMPORTED_MODULE_1__)).map(function (country) {\n return \"\").concat(country.label, \"\");\n });\n document.getElementById('CountrySelect').insertAdjacentHTML('beforeend', options);\n}\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/signup-form/country-dropdown.js?"); /***/ }), /***/ "./assets/js/components/signup-form/form-validation.js": /*!*************************************************************!*\ !*** ./assets/js/components/signup-form/form-validation.js ***! \*************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isValidPromoCode\": () => (/* binding */ isValidPromoCode),\n/* harmony export */ \"initFormValidation\": () => (/* binding */ initFormValidation),\n/* harmony export */ \"setSubmitButton\": () => (/* binding */ setSubmitButton),\n/* harmony export */ \"isFormValid\": () => (/* binding */ isFormValid)\n/* harmony export */ });\n/* harmony import */ var _cakedefi_cake_sdk_util_isValidEmail__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @cakedefi/cake-sdk/util/isValidEmail */ \"./node_modules/@cakedefi/cake-sdk/util/isValidEmail.js\");\n/* harmony import */ var _term_condition_checkbox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./term-condition-checkbox */ \"./assets/js/components/signup-form/term-condition-checkbox.js\");\n/* harmony import */ var _utils_serialize_form_value__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/serialize-form-value */ \"./assets/js/utils/serialize-form-value.js\");\n\n\n\nvar MIN_PASSWORD_LENGTH = 12;\nvar MAX_PASSWORD_LENGTH = 128;\nvar MIN_NAME_LENGTH = 1;\nvar MAX_NAME_LENGTH = 30;\nfunction isValidPromoCode(value) {\n return new RegExp(/^[A-Z0-9]{6}$/).test(value);\n}\nvar validationMap = {\n firstName: {\n validate: function validate(value) {\n return value.length >= MIN_NAME_LENGTH && value.length = MIN_NAME_LENGTH && value.length = MIN_PASSWORD_LENGTH && value.length <= MAX_PASSWORD_LENGTH;\n },\n errorMsg: \"Password length must be at least 12 characters.\"\n },\n country: {\n validate: function validate(value) {\n return !!value;\n },\n errorMsg: \"Country is required.\"\n }\n};\nfunction initFormValidation() {\n ['firstName', 'lastName', 'email', 'password', 'country'].forEach(function (formField) {\n function onKeyUpValidation() {\n var formValue = (0,_utils_serialize_form_value__WEBPACK_IMPORTED_MODULE_2__.serializeFormValue)(document.getElementById(\"SignUpForm\").elements);\n var fieldValue = formValue[formField];\n var isValid = validationMap[formField].validate(fieldValue);\n var errorMsg = isValid ? '' : validationMap[formField].errorMsg;\n var floatContainer = this.closest(\".float-container\");\n var floatControlContainer = this.closest(\".float-control-container\");\n\n if (errorMsg) {\n floatControlContainer.classList.add(\"error\");\n\n if (!floatContainer.querySelector('label.error')) {\n floatContainer.insertAdjacentHTML('beforeend', \"\".concat(errorMsg, \"\"));\n }\n } else {\n var _floatContainer$query;\n\n floatControlContainer.classList.remove(\"error\");\n (_floatContainer$query = floatContainer.querySelector('label.error')) === null || _floatContainer$query === void 0 ? void 0 : _floatContainer$query.remove();\n }\n\n setSubmitButton();\n }\n\n ['keyup', 'change'].forEach(function (evt) {\n document.querySelector(\"#SignUpForm [name=\\\"\".concat(formField, \"\\\"]\")).addEventListener(evt, onKeyUpValidation);\n });\n });\n}\nfunction setSubmitButton() {\n document.getElementById('RegisterSubmitBtn').disabled = !isFormValid();\n}\nfunction isFormValid() {\n var reCaptchaToken = _term_condition_checkbox__WEBPACK_IMPORTED_MODULE_1__.termAndConditionCheckbox.getToken();\n\n if (!reCaptchaToken) {\n return false;\n }\n\n var formValue = (0,_utils_serialize_form_value__WEBPACK_IMPORTED_MODULE_2__.serializeFormValue)(document.getElementById(\"SignUpForm\").elements);\n var isValid = Object.keys(validationMap).every(function (key) {\n var fieldValue = formValue[key];\n\n if (!validationMap[key]) {\n return true;\n }\n\n return validationMap[key].validate(fieldValue);\n });\n return isValid;\n}\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/signup-form/form-validation.js?"); /***/ }), /***/ "./assets/js/components/signup-form/index.js": /*!***************************************************!*\ !*** ./assets/js/components/signup-form/index.js ***! \***************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"signUpForm\": () => (/* binding */ signUpForm)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_spinner__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/spinner */ \"./assets/js/shared/spinner.js\");\n/* harmony import */ var _utils_serialize_form_value__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/serialize-form-value */ \"./assets/js/utils/serialize-form-value.js\");\n/* harmony import */ var _utils_show_error_message_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/show-error-message-api */ \"./assets/js/utils/show-error-message-api.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../api */ \"./assets/js/components/api.js\");\n/* harmony import */ var _floating_label__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../floating-label */ \"./assets/js/components/floating-label.js\");\n/* harmony import */ var _country_dropdown__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./country-dropdown */ \"./assets/js/components/signup-form/country-dropdown.js\");\n/* harmony import */ var _form_validation__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./form-validation */ \"./assets/js/components/signup-form/form-validation.js\");\n/* harmony import */ var _query_params__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./query-params */ \"./assets/js/components/signup-form/query-params.js\");\n/* harmony import */ var _resend_email_confirmation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./resend-email-confirmation */ \"./assets/js/components/signup-form/resend-email-confirmation.js\");\n/* harmony import */ var _term_condition_checkbox__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./term-condition-checkbox */ \"./assets/js/components/signup-form/term-condition-checkbox.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar signUpForm = function () {\n function init() {\n _query_params__WEBPACK_IMPORTED_MODULE_9__.init();\n (0,_country_dropdown__WEBPACK_IMPORTED_MODULE_7__.initCountryDropdown)();\n (0,_form_validation__WEBPACK_IMPORTED_MODULE_8__.initFormValidation)();\n _floating_label__WEBPACK_IMPORTED_MODULE_6__.floatingLabel.init();\n _term_condition_checkbox__WEBPACK_IMPORTED_MODULE_11__.termAndConditionCheckbox.init();\n handleOnSubmit();\n (0,_resend_email_confirmation__WEBPACK_IMPORTED_MODULE_10__.handleResendEmailConfirmation)();\n }\n\n function handleOnSubmit() {\n document.getElementById(\"SignUpForm\").addEventListener('submit', /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__.default)( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee(event) {\n var reCaptchaToken, _serializeFormValue, firstName, lastName, email, password, country, _handleQueryParams$ge, utm_campaign, utm_medium, utm_source, promoCode, referredById, payloadValues, button, response;\n\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n event.preventDefault();\n reCaptchaToken = _term_condition_checkbox__WEBPACK_IMPORTED_MODULE_11__.termAndConditionCheckbox.getToken();\n\n if ((0,_form_validation__WEBPACK_IMPORTED_MODULE_8__.isFormValid)()) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 4:\n _serializeFormValue = (0,_utils_serialize_form_value__WEBPACK_IMPORTED_MODULE_3__.serializeFormValue)(this.elements), firstName = _serializeFormValue.firstName, lastName = _serializeFormValue.lastName, email = _serializeFormValue.email, password = _serializeFormValue.password, country = _serializeFormValue.country;\n _handleQueryParams$ge = _query_params__WEBPACK_IMPORTED_MODULE_9__.getAllValues(), utm_campaign = _handleQueryParams$ge.utm_campaign, utm_medium = _handleQueryParams$ge.utm_medium, utm_source = _handleQueryParams$ge.utm_source, promoCode = _handleQueryParams$ge.promoCode, referredById = _handleQueryParams$ge.referredById;\n payloadValues = {\n email: email,\n password: password,\n firstName: firstName,\n lastName: lastName,\n country: country,\n 'g-recaptcha-response': reCaptchaToken,\n promoCode: promoCode || null,\n referredById: referredById || null,\n utm_source: utm_source,\n utm_medium: utm_medium,\n utm_campaign: utm_campaign,\n revealInfoToReferrer: false,\n learnAndEarnCode: null,\n currentLanguage: \"en\"\n };\n button = document.getElementById('RegisterSubmitBtn');\n button.disabled = true;\n _context.prev = 9;\n (0,_shared_spinner__WEBPACK_IMPORTED_MODULE_2__.showSpinner)();\n _context.next = 13;\n return _api__WEBPACK_IMPORTED_MODULE_5__.api.register(payloadValues);\n\n case 13:\n response = _context.sent;\n button.disabled = false;\n signUpSuccess(email);\n _context.next = 23;\n break;\n\n case 18:\n _context.prev = 18;\n _context.t0 = _context[\"catch\"](9);\n (0,_utils_show_error_message_api__WEBPACK_IMPORTED_MODULE_4__.showApiError)(_context.t0);\n _term_condition_checkbox__WEBPACK_IMPORTED_MODULE_11__.termAndConditionCheckbox.resetCaptcha();\n button.disabled = true;\n\n case 23:\n _context.prev = 23;\n (0,_shared_spinner__WEBPACK_IMPORTED_MODULE_2__.hideSpinner)();\n return _context.finish(23);\n\n case 26:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[9, 18, 23, 26]]);\n }));\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }());\n }\n\n function signUpSuccess(email) {\n document.getElementById('SignUpFormContainer').classList.add('hidden');\n document.getElementById('ResendConfirmationEmail').textContent = email;\n document.getElementById('ResendConfirmationEmail').setAttribute('email', email);\n document.getElementById('ConfirmYourEmail').classList.remove('hidden');\n }\n\n return {\n init: init\n };\n}();\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/signup-form/index.js?"); /***/ }), /***/ "./assets/js/components/signup-form/query-params.js": /*!**********************************************************!*\ !*** ./assets/js/components/signup-form/query-params.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"setDataFromQueryParams\": () => (/* binding */ setDataFromQueryParams),\n/* harmony export */ \"getValueFromQueryParamsOrStorage\": () => (/* binding */ getValueFromQueryParamsOrStorage),\n/* harmony export */ \"getUtmInfos\": () => (/* binding */ getUtmInfos),\n/* harmony export */ \"getReferralAndPromoInfos\": () => (/* binding */ getReferralAndPromoInfos),\n/* harmony export */ \"setPromoCodeUI\": () => (/* binding */ setPromoCodeUI),\n/* harmony export */ \"init\": () => (/* binding */ init),\n/* harmony export */ \"getAllValues\": () => (/* binding */ getAllValues)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _shared_storage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/storage */ \"./assets/js/shared/storage.js\");\n/* harmony import */ var _utils_get_query_params__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/get-query-params */ \"./assets/js/utils/get-query-params.js\");\n/* harmony import */ var _shared_params_const__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/params-const */ \"./assets/js/shared/params-const.js\");\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"handleResendEmailConfirmation\": () => (/* binding */ handleResendEmailConfirmation)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_alert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/alert */ \"./assets/js/shared/alert.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../api */ \"./assets/js/components/api.js\");\n/* harmony import */ var _utils_show_error_message_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/show-error-message-api */ \"./assets/js/utils/show-error-message-api.js\");\n/* harmony import */ var _shared_spinner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../shared/spinner */ \"./assets/js/shared/spinner.js\");\n\n\n\n\n\n\nfunction handleResendEmailConfirmation() {\n document.getElementById('ConfirmYourEmailForm').addEventListener('submit', /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__.default)( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee(e) {\n var email, response;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n e.preventDefault();\n email = document.getElementById('ResendConfirmationEmail').getAttribute('email');\n _context.prev = 2;\n (0,_shared_spinner__WEBPACK_IMPORTED_MODULE_5__.showSpinner)();\n document.getElementById('ResendConfirmationEmailBtn').disabled = true;\n _context.next = 7;\n return _api__WEBPACK_IMPORTED_MODULE_3__.api.resendVerify(email);\n\n case 7:\n response = _context.sent;\n (0,_shared_alert__WEBPACK_IMPORTED_MODULE_2__.showSuccessAlert)('Verification email has been sent');\n _context.next = 14;\n break;\n\n case 11:\n _context.prev = 11;\n _context.t0 = _context[\"catch\"](2);\n (0,_utils_show_error_message_api__WEBPACK_IMPORTED_MODULE_4__.showApiError)(_context.t0);\n\n case 14:\n _context.prev = 14;\n document.getElementById('ResendConfirmationEmailBtn').disabled = false;\n (0,_shared_spinner__WEBPACK_IMPORTED_MODULE_5__.hideSpinner)();\n return _context.finish(14);\n\n case 18:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[2, 11, 14, 18]]);\n }));\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }());\n}\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/signup-form/resend-email-confirmation.js?"); /***/ }), /***/ "./assets/js/components/signup-form/term-condition-checkbox.js": /*!*********************************************************************!*\ !*** ./assets/js/components/signup-form/term-condition-checkbox.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"termAndConditionCheckbox\": () => (/* binding */ termAndConditionCheckbox)\n/* harmony export */ });\n/* harmony import */ var _form_validation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./form-validation */ \"./assets/js/components/signup-form/form-validation.js\");\n\nvar termAndConditionCheckbox = function () {\n var reCaptchaToken;\n\n function init() {\n initReCAPTCHA();\n document.getElementById('TermConditionCheckbox').addEventListener('change', function () {\n if (this.checked) {\n grecaptcha.execute();\n } else {\n reCaptchaToken = null;\n }\n });\n }\n\n function initReCAPTCHA() {\n var verifyCaptcha = function verifyCaptcha(token) {\n reCaptchaToken = token;\n (0,_form_validation__WEBPACK_IMPORTED_MODULE_0__.setSubmitButton)();\n };\n\n window.verifyCaptcha = verifyCaptcha;\n }\n\n ;\n\n function resetCaptcha() {\n reCaptchaToken = null;\n document.getElementById('TermConditionCheckbox').checked = false;\n grecaptcha.reset();\n }\n\n return {\n init: init,\n getToken: function getToken() {\n return reCaptchaToken;\n },\n resetCaptcha: resetCaptcha\n };\n}();\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/signup-form/term-condition-checkbox.js?"); /***/ }), /***/ "./assets/js/config/index.js": /*!***********************************!*\ !*** ./assets/js/config/index.js ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"appConfig\": () => (/* binding */ appConfig)\n/* harmony export */ });\nvar appConfig = {\n API_ENDPOINT: \"https://api.cakedefi.com\",\n RECAPTCHA_KEY: \"6LcDaLAeAAAAADeKbH94tsCMTFAppm-BCHNN1LAp\"\n};\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/config/index.js?"); /***/ }), /***/ "./assets/js/shared/alert.js": /*!***********************************!*\ !*** ./assets/js/shared/alert.js ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"showAlert\": () => (/* binding */ showAlert),\n/* harmony export */ \"showSuccessAlert\": () => (/* binding */ showSuccessAlert),\n/* harmony export */ \"showErrorAlert\": () => (/* binding */ showErrorAlert)\n/* harmony export */ });\nvar timeoutRef;\nvar TIME_TO_SHOW_ALERT = 5000;\nfunction showAlert(type, message) {\n hideAlert(function () {\n var alert = document.querySelector('.cake-alert');\n alert.classList.add(type);\n alert.textContent = message;\n alert.style.display = 'block';\n });\n\n if (timeoutRef) {\n clearTimeout(timeoutRef);\n }\n\n timeoutRef = setTimeout(function () {\n hideAlert();\n }, TIME_TO_SHOW_ALERT);\n}\nfunction showSuccessAlert(message) {\n showAlert('success', message);\n}\nfunction showErrorAlert(message) {\n showAlert('error', message);\n}\n\nvar hideAlert = function hideAlert(func) {\n var alert = document.querySelector('.cake-alert');\n alert.classList.remove('success');\n alert.classList.remove('error');\n alert.innerHTML = '';\n func && func();\n};\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/shared/alert.js?"); /***/ }), /***/ "./assets/js/shared/params-const.js": /*!******************************************!*\ !*** ./assets/js/shared/params-const.js ***! \******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PROMO_CODE\": () => (/* binding */ PROMO_CODE),\n/* harmony export */ \"REFERRAL_CODE\": () => (/* binding */ REFERRAL_CODE),\n/* harmony export */ \"UTM_SOURCE\": () => (/* binding */ UTM_SOURCE),\n/* harmony export */ \"UTM_MEDIUM\": () => (/* binding */ UTM_MEDIUM),\n/* harmony export */ \"UTM_CAMPAIGN\": () => (/* binding */ UTM_CAMPAIGN)\n/* harmony export */ });\nvar PROMO_CODE = 'promo';\nvar REFERRAL_CODE = 'ref';\nvar UTM_SOURCE = 'utm_source';\nvar UTM_MEDIUM = 'utm_medium';\nvar UTM_CAMPAIGN = 'utm_campaign';\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/shared/params-const.js?"); /***/ }), /***/ "./assets/js/shared/spinner.js": /*!*************************************!*\ !*** ./assets/js/shared/spinner.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"showSpinner\": () => (/* binding */ showSpinner),\n/* harmony export */ \"hideSpinner\": () => (/* binding */ hideSpinner)\n/* harmony export */ });\nfunction showSpinner() {\n document.querySelector('.global-spinner').style.display = 'block';\n}\nfunction hideSpinner() {\n document.querySelector('.global-spinner').style.display = 'none';\n}\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/shared/spinner.js?"); /***/ }), /***/ "./assets/js/shared/storage.js": /*!*************************************!*\ !*** ./assets/js/shared/storage.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SessionStorage\": () => (/* binding */ SessionStorage),\n/* harmony export */ \"storage\": () => (/* binding */ storage)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n\n\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {\n (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__.default)(this, SessionStorage);\n\n (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__.default)(this, \"map\", void 0);\n\n this.map = {};\n }\n\n (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__.default)(SessionStorage, [{\n key: \"setItem\",\n value: function setItem(key, value) {\n this.map[key] = value;\n }\n }, {\n key: \"getItem\",\n value: function getItem(key) {\n return this.map[key];\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.map = {};\n }\n }]);\n\n return SessionStorage;\n}();\n\nfunction getStorageImplementation() {\n try {\n return window.sessionStorage;\n } catch (e) {\n return new SessionStorage();\n }\n}\n\nvar storage = getStorageImplementation();\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/shared/storage.js?"); /***/ }), /***/ "./assets/js/utils/get-query-params.js": /*!*********************************************!*\ !*** ./assets/js/utils/get-query-params.js ***! \*********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getQueryParam\": () => (/* binding */ getQueryParam)\n/* harmony export */ });\nfunction getQueryParam(query) {\n try {\n var params = new URLSearchParams(window.location.search);\n return params.get(query);\n } catch (error) {\n return null;\n }\n}\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/utils/get-query-params.js?"); /***/ }), /***/ "./assets/js/utils/serialize-form-value.js": /*!*************************************************!*\ !*** ./assets/js/utils/serialize-form-value.js ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"serializeFormValue\": () => (/* binding */ serializeFormValue)\n/* harmony export */ });\nfunction serializeFormValue(elements) {\n var data = {};\n\n for (var i = 0; i { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getErrorMessage\": () => (/* binding */ getErrorMessage),\n/* harmony export */ \"showApiError\": () => (/* binding */ showApiError)\n/* harmony export */ });\n/* harmony import */ var _shared_alert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/alert */ \"./assets/js/shared/alert.js\");\n\nvar DEFAULT_ERROR = 'Unexpected error';\nfunction getErrorMessage(err) {\n try {\n var _json$message;\n\n var json = JSON.parse(err);\n return (_json$message = json.message) !== null && _json$message !== void 0 ? _json$message : DEFAULT_ERROR;\n } catch (error) {\n return DEFAULT_ERROR;\n }\n}\nfunction showApiError(err) {\n var errorMessage = getErrorMessage(err);\n (0,_shared_alert__WEBPACK_IMPORTED_MODULE_0__.showErrorAlert)(errorMessage);\n}\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/utils/show-error-message-api.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/regenerator/index.js": /*!**********************************************************!*\ !*** ./node_modules/@babel/runtime/regenerator/index.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { eval("module.exports = __webpack_require__(/*! regenerator-runtime */ \"./node_modules/regenerator-runtime/runtime.js\");\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/regenerator/index.js?"); /***/ }), /***/ "./node_modules/@cakedefi/cake-sdk/util/isValidEmail.js": /*!**************************************************************!*\ !*** ./node_modules/@cakedefi/cake-sdk/util/isValidEmail.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n\nfunction isValidEmail(email) {\n const emailRegEx = /^(([^()[\\]\\\\.,;:\\s@\"]+(\\.[^()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return emailRegEx.test(String(email).toLowerCase());\n}\n\nexports.default = isValidEmail;\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@cakedefi/cake-sdk/util/isValidEmail.js?"); /***/ }), /***/ "./node_modules/regenerator-runtime/runtime.js": /*!*****************************************************!*\ !*** ./node_modules/regenerator-runtime/runtime.js ***! \*****************************************************/ /***/ ((module) => { eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function (obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []); // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap; // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\"; // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n\n var ContinueSentinel = {}; // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {} // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n\n\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"); // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n }; // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && typeof value === \"object\" && hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function (unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n } // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator; // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n\n exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n } // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted; // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n } // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value; // Resume execution at the desired location (see delegateYield).\n\n context.next = delegate.nextLoc; // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n } // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n\n\n context.delegate = null;\n return ContinueSentinel;\n } // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n\n\n defineIteratorMethods(Gp);\n define(Gp, toStringTagSymbol, \"Generator\"); // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n\n define(Gp, iteratorSymbol, function () {\n return this;\n });\n define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse(); // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n } // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i = 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev = 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg = 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function (tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n } // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function (iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n }; // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n\n return exports;\n}( // If this script is executing as a CommonJS module, use module.exports\n// as the regeneratorRuntime namespace. Otherwise create a new empty\n// object. Either way, the resulting object will be used to initialize\n// the regeneratorRuntime variable at the top of this file.\n true ? module.exports : 0);\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/regenerator-runtime/runtime.js?"); /***/ }), /***/ "./plain-sign-up/main.js": /*!*******************************!*\ !*** ./plain-sign-up/main.js ***! \*******************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _assets_js_components_signup_form__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../assets/js/components/signup-form */ \"./assets/js/components/signup-form/index.js\");\n\n\nfunction initModal() {\n var _document$querySelect, _document$querySelect2;\n\n (_document$querySelect = document.querySelector(\".btn-open-modal\")) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.addEventListener('click', function (e) {\n var target = this.getAttribute('data-target');\n document.getElementById(target).classList.add(\"in\");\n });\n (_document$querySelect2 = document.querySelector(\".modal\")) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.addEventListener('click', function (e) {\n if (e.target !== this) return;\n this.classList.remove(\"in\");\n });\n}\n\nfunction moveFixedElementsToBody() {\n if (document.getElementById('GlobalAlert')) {\n document.body.appendChild(document.getElementById('GlobalAlert'));\n }\n\n if (document.getElementById('GlobalSpinner')) {\n document.body.appendChild(document.getElementById('GlobalSpinner'));\n }\n}\n\n(function () {\n _assets_js_components_signup_form__WEBPACK_IMPORTED_MODULE_0__.signUpForm.init();\n moveFixedElementsToBody();\n initModal();\n})();\n\n//# sourceURL=webpack://cakedefi.com/./plain-sign-up/main.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js": /*!*********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***! \*********************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _arrayLikeToArray)\n/* harmony export */ });\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _arrayWithoutHoles)\n/* harmony export */ });\n/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__.default)(arr);\n}\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js": /*!*********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js ***! \*********************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _asyncToGenerator)\n/* harmony export */ });\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js": /*!*******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***! \*******************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _classCallCheck)\n/* harmony export */ });\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/createClass.js": /*!****************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/createClass.js ***! \****************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _createClass)\n/* harmony export */ });\nfunction _defineProperties(target, props) {\n for (var i = 0; i { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _defineProperty)\n/* harmony export */ });\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/helpers/esm/defineProperty.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js": /*!********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***! \********************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _iterableToArray)\n/* harmony export */ });\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js": /*!**********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***! \**********************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _nonIterableSpread)\n/* harmony export */ });\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js": /*!**********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***! \**********************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _toConsumableArray)\n/* harmony export */ });\n/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js\");\n/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/iterableToArray.js\");\n/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\");\n/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ \"./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js\");\n\n\n\n\nfunction _toConsumableArray(arr) {\n return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__.default)(arr) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__.default)(arr) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__.default)(arr) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__.default)();\n}\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js": /*!*******************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***! \*******************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _unsupportedIterableToArray)\n/* harmony export */ });\n/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__.default)(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__.default)(o, minLen);\n}\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js?"); /***/ }), /***/ "./node_modules/@cakedefi/cake-sdk/assets/allowed-countries-en.json": /*!**************************************************************************!*\ !*** ./node_modules/@cakedefi/cake-sdk/assets/allowed-countries-en.json ***! \**************************************************************************/ /***/ ((module) => { "use strict"; eval("module.exports = JSON.parse('[{\"label\":\"Albania\",\"value\":\"AL\"},{\"label\":\"Algeria\",\"value\":\"DZ\"},{\"label\":\"Andorra\",\"value\":\"AD\"},{\"label\":\"Angola\",\"value\":\"AO\"},{\"label\":\"Anguilla\",\"value\":\"AI\"},{\"label\":\"Antigua & Barbuda\",\"value\":\"AG\"},{\"label\":\"Argentina\",\"value\":\"AR\"},{\"label\":\"Armenia\",\"value\":\"AM\"},{\"label\":\"Aruba\",\"value\":\"AW\"},{\"label\":\"Australia\",\"value\":\"AU\"},{\"label\":\"Austria\",\"value\":\"AT\"},{\"label\":\"Azerbaijan\",\"value\":\"AZ\"},{\"label\":\"Bahrain\",\"value\":\"BH\"},{\"label\":\"Barbados\",\"value\":\"BB\"},{\"label\":\"Belgium\",\"value\":\"BE\"},{\"label\":\"Belize\",\"value\":\"BZ\"},{\"label\":\"Benin\",\"value\":\"BJ\"},{\"label\":\"Bermuda\",\"value\":\"BM\"},{\"label\":\"Bhutan\",\"value\":\"BT\"},{\"label\":\"Bolivia\",\"value\":\"BO\"},{\"label\":\"Bosnia & Herzegovina\",\"value\":\"BA\"},{\"label\":\"Brazil\",\"value\":\"BR\"},{\"label\":\"British Virgin Is.\",\"value\":\"VG\"},{\"label\":\"Brunei\",\"value\":\"BN\"},{\"label\":\"Bulgaria\",\"value\":\"BG\"},{\"label\":\"Burkina Faso\",\"value\":\"BF\"},{\"label\":\"Cambodia\",\"value\":\"KH\"},{\"label\":\"Cameroon\",\"value\":\"CM\"},{\"label\":\"Canada\",\"value\":\"CA\"},{\"label\":\"Cape Verde\",\"value\":\"CV\"},{\"label\":\"Cayman Islands\",\"value\":\"KY\"},{\"label\":\"Chad\",\"value\":\"TD\"},{\"label\":\"Chile\",\"value\":\"CL\"},{\"label\":\"China\",\"value\":\"CN\"},{\"label\":\"Colombia\",\"value\":\"CO\"},{\"label\":\"Comoros\",\"value\":\"KM\"},{\"label\":\"Congo, Repub. of the\",\"value\":\"CG\"},{\"label\":\"Cook Islands\",\"value\":\"CK\"},{\"label\":\"Costa Rica\",\"value\":\"CR\"},{\"label\":\"Cote d\\'Ivoire\",\"value\":\"CI\"},{\"label\":\"Croatia\",\"value\":\"HR\"},{\"label\":\"Cyprus\",\"value\":\"CY\"},{\"label\":\"Czech Republic\",\"value\":\"CZ\"},{\"label\":\"Denmark\",\"value\":\"DK\"},{\"label\":\"Djibouti\",\"value\":\"DJ\"},{\"label\":\"Dominica\",\"value\":\"DM\"},{\"label\":\"Dominican Republic\",\"value\":\"DO\"},{\"label\":\"East Timor\",\"value\":\"TL\"},{\"label\":\"Ecuador\",\"value\":\"EC\"},{\"label\":\"Egypt\",\"value\":\"EG\"},{\"label\":\"El Salvador\",\"value\":\"SV\"},{\"label\":\"Equatorial Guinea\",\"value\":\"GQ\"},{\"label\":\"Eritrea\",\"value\":\"ER\"},{\"label\":\"Estonia\",\"value\":\"EE\"},{\"label\":\"Faroe Islands\",\"value\":\"FO\"},{\"label\":\"Fiji\",\"value\":\"FJ\"},{\"label\":\"Finland\",\"value\":\"FI\"},{\"label\":\"France\",\"value\":\"FR\"},{\"label\":\"French Guiana\",\"value\":\"GF\"},{\"label\":\"French Polynesia\",\"value\":\"PF\"},{\"label\":\"Gabon\",\"value\":\"GA\"},{\"label\":\"Gambia\",\"value\":\"GM\"},{\"label\":\"Georgia\",\"value\":\"GE\"},{\"label\":\"Germany\",\"value\":\"DE\"},{\"label\":\"Gibraltar\",\"value\":\"GI\"},{\"label\":\"Greece\",\"value\":\"GR\"},{\"label\":\"Greenland\",\"value\":\"GL\"},{\"label\":\"Grenada\",\"value\":\"GD\"},{\"label\":\"Guadeloupe\",\"value\":\"GP\"},{\"label\":\"Guatemala\",\"value\":\"GT\"},{\"label\":\"Guernsey\",\"value\":\"GG\"},{\"label\":\"Guinea\",\"value\":\"GN\"},{\"label\":\"Guinea-Bissau\",\"value\":\"GW\"},{\"label\":\"Guyana\",\"value\":\"GY\"},{\"label\":\"Haiti\",\"value\":\"HT\"},{\"label\":\"Honduras\",\"value\":\"HN\"},{\"label\":\"Hong Kong\",\"value\":\"HK\"},{\"label\":\"Hungary\",\"value\":\"HU\"},{\"label\":\"Iceland\",\"value\":\"IS\"},{\"label\":\"Indonesia\",\"value\":\"ID\"},{\"label\":\"Ireland\",\"value\":\"IE\"},{\"label\":\"Isle of Man\",\"value\":\"IM\"},{\"label\":\"Israel\",\"value\":\"IL\"},{\"label\":\"Italy\",\"value\":\"IT\"},{\"label\":\"Jamaica\",\"value\":\"JM\"},{\"label\":\"Japan\",\"value\":\"JP\"},{\"label\":\"Jersey\",\"value\":\"JE\"},{\"label\":\"Jordan\",\"value\":\"JO\"},{\"label\":\"Kazakhstan\",\"value\":\"KZ\"},{\"label\":\"Kenya\",\"value\":\"KE\"},{\"label\":\"Kiribati\",\"value\":\"KI\"},{\"label\":\"Korea, South\",\"value\":\"KR\"},{\"label\":\"Kuwait\",\"value\":\"KW\"},{\"label\":\"Kyrgyzstan\",\"value\":\"KG\"},{\"label\":\"Laos\",\"value\":\"LA\"},{\"label\":\"Latvia\",\"value\":\"LV\"},{\"label\":\"Lesotho\",\"value\":\"LS\"},{\"label\":\"Liberia\",\"value\":\"LR\"},{\"label\":\"Liechtenstein\",\"value\":\"LI\"},{\"label\":\"Lithuania\",\"value\":\"LT\"},{\"label\":\"Luxembourg\",\"value\":\"LU\"},{\"label\":\"Macau\",\"value\":\"MO\"},{\"label\":\"North Macedonia\",\"value\":\"MK\"},{\"label\":\"Madagascar\",\"value\":\"MG\"},{\"label\":\"Malawi\",\"value\":\"MW\"},{\"label\":\"Malaysia\",\"value\":\"MY\"},{\"label\":\"Maldives\",\"value\":\"MV\"},{\"label\":\"Malta\",\"value\":\"MT\"},{\"label\":\"Marshall Islands\",\"value\":\"MH\"},{\"label\":\"Martinique\",\"value\":\"MQ\"},{\"label\":\"Mauritania\",\"value\":\"MR\"},{\"label\":\"Mauritius\",\"value\":\"MU\"},{\"label\":\"Mayotte\",\"value\":\"YT\"},{\"label\":\"Mexico\",\"value\":\"MX\"},{\"label\":\"Micronesia, Fed. St.\",\"value\":\"FM\"},{\"label\":\"Moldova\",\"value\":\"MD\"},{\"label\":\"Monaco\",\"value\":\"MC\"},{\"label\":\"Mongolia\",\"value\":\"MN\"},{\"label\":\"Montserrat\",\"value\":\"MS\"},{\"label\":\"Morocco\",\"value\":\"MA\"},{\"label\":\"Mozambique\",\"value\":\"MZ\"},{\"label\":\"Myanmar\",\"value\":\"MM\"},{\"label\":\"Namibia\",\"value\":\"NA\"},{\"label\":\"Nauru\",\"value\":\"NR\"},{\"label\":\"Nepal\",\"value\":\"NP\"},{\"label\":\"Netherlands\",\"value\":\"NL\"},{\"label\":\"Netherlands Antilles\",\"value\":\"AN\"},{\"label\":\"New Caledonia\",\"value\":\"NC\"},{\"label\":\"New Zealand\",\"value\":\"NZ\"},{\"label\":\"Niger\",\"value\":\"NE\"},{\"label\":\"Nigeria\",\"value\":\"NG\"},{\"label\":\"N. Mariana Islands\",\"value\":\"MP\"},{\"label\":\"Norway\",\"value\":\"NO\"},{\"label\":\"Oman\",\"value\":\"OM\"},{\"label\":\"Palau\",\"value\":\"PW\"},{\"label\":\"Palestine\",\"value\":\"PS\"},{\"label\":\"Papua New Guinea\",\"value\":\"PG\"},{\"label\":\"Paraguay\",\"value\":\"PY\"},{\"label\":\"Peru\",\"value\":\"PE\"},{\"label\":\"Philippines\",\"value\":\"PH\"},{\"label\":\"Poland\",\"value\":\"PL\"},{\"label\":\"Portugal\",\"value\":\"PT\"},{\"label\":\"Qatar\",\"value\":\"QA\"},{\"label\":\"Reunion\",\"value\":\"RE\"},{\"label\":\"Romania\",\"value\":\"RO\"},{\"label\":\"Rwanda\",\"value\":\"RW\"},{\"label\":\"Saint Helena\",\"value\":\"SH\"},{\"label\":\"Saint Kitts & Nevis\",\"value\":\"KN\"},{\"label\":\"Saint Lucia\",\"value\":\"LC\"},{\"label\":\"St Pierre & Miquelon\",\"value\":\"PM\"},{\"label\":\"Saint Vincent and the Grenadines\",\"value\":\"VC\"},{\"label\":\"San Marino\",\"value\":\"SM\"},{\"label\":\"Sao Tome & Principe\",\"value\":\"ST\"},{\"label\":\"Senegal\",\"value\":\"SN\"},{\"label\":\"Serbia\",\"value\":\"RS\"},{\"label\":\"Seychelles\",\"value\":\"SC\"},{\"label\":\"Sierra Leone\",\"value\":\"SL\"},{\"label\":\"Singapore\",\"value\":\"SG\"},{\"label\":\"Slovakia\",\"value\":\"SK\"},{\"label\":\"Slovenia\",\"value\":\"SI\"},{\"label\":\"Solomon Islands\",\"value\":\"SB\"},{\"label\":\"South Africa\",\"value\":\"ZA\"},{\"label\":\"Spain\",\"value\":\"ES\"},{\"label\":\"Suriname\",\"value\":\"SR\"},{\"label\":\"Swaziland\",\"value\":\"SZ\"},{\"label\":\"Sweden\",\"value\":\"SE\"},{\"label\":\"Switzerland\",\"value\":\"CH\"},{\"label\":\"Taiwan\",\"value\":\"TW\"},{\"label\":\"Tajikistan\",\"value\":\"TJ\"},{\"label\":\"Tanzania\",\"value\":\"TZ\"},{\"label\":\"Thailand\",\"value\":\"TH\"},{\"label\":\"Togo\",\"value\":\"TG\"},{\"label\":\"Tonga\",\"value\":\"TO\"},{\"label\":\"Turkey\",\"value\":\"TR\"},{\"label\":\"Turkmenistan\",\"value\":\"TM\"},{\"label\":\"Turks & Caicos Is\",\"value\":\"TC\"},{\"label\":\"Tuvalu\",\"value\":\"TV\"},{\"label\":\"Uganda\",\"value\":\"UG\"},{\"label\":\"United Arab Emirates\",\"value\":\"AE\"},{\"label\":\"United Kingdom\",\"value\":\"GB\"},{\"label\":\"United States\",\"value\":\"US\"},{\"label\":\"Uruguay\",\"value\":\"UY\"},{\"label\":\"Uzbekistan\",\"value\":\"UZ\"},{\"label\":\"Vanuatu\",\"value\":\"VU\"},{\"label\":\"Wallis and Futuna\",\"value\":\"WF\"},{\"label\":\"Western Sahara\",\"value\":\"EH\"},{\"label\":\"Zambia\",\"value\":\"ZM\"}]');\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@cakedefi/cake-sdk/assets/allowed-countries-en.json?"); /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ (() => { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = (module) => { /******/ var getter = module && module.__esModule ? /******/ () => (module['default']) : /******/ () => (module); /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /************************************************************************/ /******/ /******/ // startup /******/ // Load entry module and return exports /******/ // This entry module can't be inlined because the eval devtool is used. /******/ var __webpack_exports__ = __webpack_require__("./plain-sign-up/main.js"); /******/ /******/ })() ;
- Cake DeFi
What Is Liquidity Mining?
What Is Liquidity Mining?

So, you feel like you’re ready to climb up the upper echelon of crypto investing and enter the high-risk but high-reward world of Liquidity Mining. Congratulations! By reading this article, you’re already one step closer to advancing both your merits and portfolio as we cover the “ins and outs” of this highly-disruptive Decentralized Finance (DeFi) product. Let’s begin!

KEY TAKEAWAYSDefinition of Liquidity MiningHow Does Liquidity Mining Work & How Do I Participate?What are the Advantages and Disadvantages of Liquidity Mining? Definition Of Liquidity Mining

With Liquidity Mining being a complex and technical subject, the best approach to having a good sense of its actual definition and process is by touching on a subject that most of us are already familiar with: Traditional Finance.

In Traditional Finance, market makers such as brokerage houses or firms provide trading services for investors in an effort to keep financial markets liquid. These market makers take on the risk of holding assets to provide liquidity to the market - which is why they are compensated while also earning a profit through the spread between the asset bid and offer price.

In DeFi, Liquidity Miners have the same function as market makers in that they provide liquidity in Decentralized Exchanges (DEXs).

What are DEXs and why do they need liquidity?

A DEX is a blockchain-based marketplace where peer-to-peer crypto transactions take place without the need for an intermediary. Unlike Centralized Crypto Exchanges, DEXs do not have record books - which is why Liquidity Miners supply cryptocurrencies (normally in pairs) in liquidity mining pools to enable trades and allow for transactions to take place. By doing so, Liquidity Miners are compensated with fees and Liquidity Mining rewards (usually in the form of cryptocurrencies) based on their share of the total pool liquidity.

So, what is Liquidity Mining? It is, simply, a blockchain-based investment mechanism that allows crypto investors to participate as Liquidity Miners and generate passive income or cash flow as they receive Liquidity Mining rewards and fees.

How Does Liquidity Mining Work & How Do I Participate?

Putting aside the technicalities of how Liquidity Mining pools are created and other complex or miscellaneous information, participating in Liquidity Mining is actually just a simple process. There are, however, two things to always keep in mind: 1) Liquidity Mining pools normally consist of crypto trading pairs (e.g., BTC - DFI) and 2) These pairs have a ratio that needs to be maintained and balanced (e.g., 1 BTC = 1,000 DFI)

Why is it important to keep these two things in mind? It’s because these two things determine what crypto pairs you need to have in order to participate in Liquidity Mining, and also how many of each pair you need to deposit into the Liquidity Mining pool based on the initially set ratio.

Still sounds complicated? No problem. By using Cake DeFi’s Liquidity Mining service, you don’t have to worry about the complexities that come along with Liquidity Mining and just focus on reaping the benefits and rewards of putting your cryptos to work.

How? Simply go to our Liquidity Mining page and choose from the wide variety of liquidity mining pools available. What makes our service unique? We’ve included details such as APR, Primary Token Price and Total Liquidity for transparency and which should prove to be useful when deciding on which Liquidity Mining pool to deposit crypto pairs in.

What Is Liquidity Mining?

In addition, our platform also allows participants to easily determine how many of each pair are required and your potential returns based on the DEX-market price stability.

What Is Liquidity Mining?What are the Advantages and Disadvantages of Liquidity Mining?

Similar to other DeFi products and services, Liquidity Mining has a relatively low barrier to entry. Anyone, anywhere at any time can participate in Liquidity Mining and reap the benefits thereof. Liquidity Mining also offers the potential for high yield rewards - which is, indeed, the case with the service that we offer. In fact, at the time of writing, Cake DeFi users can potentially benefit from a highly competitive APR which can go as high as 80.11%. Furthermore, our platform is highly secure and transparent. That said, Liquidity Mining is more suited for crypto investors that have high risk tolerance as there are many risks associated with it - one of which is Impermanent Loss. What is it?  It basically describes the temporary loss of funds which can potentially be experienced by Liquidity Miners due to volatility in a crypto trading pair.For more information on Impermanent Loss, you may watch this video by Cake DeFi CEO & Co-Founder Julian Hosp. All things considered, Liquidity Mining is still a better option than just HODLing and hoping that your crypto assets increase in value so you can sell them for profit once they do. Why? Because with Liquidity Mining, the potential returns are high and are almost guaranteed - which, in many ways, negate the risks involved. If you want to know more about Liquidity Mining or other ways of making money with your cryptocurrencies, you may read this article or check our blog section for other useful information on the subject. If you want to use our Liquidity Mining service but are not yet a registered Cake DeFi user, you may click here to sign up and start generating passive income with us. You will get US$30 worth of DFI tokens when you register successfully and make a deposit of US$50 or more, and allocate the amount for at least 28 days into either our Lending, Staking Freezer or Liquidity Mining Freezer service. And that’s it! Thank you for reading this article. We look forward to seeing you “bake” passive income and generate cash flow with us soon!

- Cake DeFi
Announcement Regarding Referral Eligibility For German Residents
Announcement Regarding Referral Eligibility For German Residents

We have just received notice from BaFin on 14 April 2022 that we have to suspend our affiliate and referral program for users in Germany who are referring other users in Germany. This is to comply with local regulatory requirements, as per other crypto companies such as ByBit.

With immediate effect, users in Germany will not be able to refer new users nor receive rewards from new referrals.You will still continue to receive rewards from previous referrals.If you are not based in Germany (but are blocked by this measure), you can appeal here (select Proof of Address). We will review the appeals on a case by case basis.

We at Cake DeFi are not pleased with this decision, but but we have to comply with local authorities. We are in the midst of a European license application and hope we have good news soon.

- Cake DeFi
What Is Staking?
What Is Staking?

If you have just started learning about how to make money with your cryptocurrencies or are looking at new ways to level up your crypto investment portfolio, you’ve probably come across the term “crypto staking” or “staking.”What is it, how does it work and why is it popular among crypto investors? This article provides answers to these questions and more. So, read on!

KEY TAKEAWAYSDefinition of StakingHow Does Staking Work?How Do I Participate In Staking?What Are the Advantages & Disadvantages of Staking?Definition of Staking

True to its literal meaning, staking is the act of committing your cryptocurrencies to support a blockchain network by contributing to its security and efficiency. How does staking do that? By staking their cryptos, participants help strengthen the blockchain’s ability to process and verify transactions, thus, allowing it to run smoothly and become resistant to malicious attacks.

In return, participants receive staking rewards - which is why it has become a popular source of passive income and means of generating cash flow among serious crypto investors.

How Does Staking Work?

In order to really understand how staking works, one must first be familiar with proof-of-stake. What is it? It’s a type of consensus mechanism used to validate cryptocurrency transactions. Under this system, participants can stake their cryptos for a chance of getting to validate new transactions, update the blockchain and earn a reward.

With that, it should be noted that you can only stake cryptos that use proof-of-stake consensus mechanisms such as DASH and DFI - the native cryptocurrency of the DeFiChain blockchain.

How does it actually work?

Upon committing their cryptocurrencies, staking participants instantly become validators for the network to randomly choose from to confirm blocks of transactions. That said, it is a well-known fact that the larger amount of cryptos that you commit, the higher chance you get for being chosen as the next block validator.

Each time a block is added onto the blockchain, new cryptocurrencies are minted and distributed as staking rewards to that block's validator. In most cases, the staking reward received is the blockchain’s native cryptocurrency.

What Is Staking?How Do I Participate In Staking?

Given that you already own cryptocurrencies that use proof-of-stake consensus mechanisms and that you have already thought about things such as the amount of cryptos you’d like to commit, then you may participate in staking through crypto exchanges or wallets that provide such service or option. You may also choose to become a full validator by setting up your own node and running it yourself. This approach, however, not only requires you to have a fair amount of knowledge and expertise in staking, but also meet the staking minimum as required by the blockchain - which is, normally, a substantial amount of cryptos.

Finally, you may opt for platforms that offer easy-to-use staking services such as Cake DeFi. By using our staking service, participants receive administrative support and can potentially benefit from high returns with its highly-competitive APYs. They are not required to have technical expertise or commit a huge amount of cryptocurrencies.  Moverover, we provide full transparency with our masternodes and masternode rewards. Each participant can easily track their staking activities as well.

What Is Staking?What Are the Advantages & Disadvantages of Staking?

All things considered, staking provides a better option for investors to put their cryptos to work and generate returns as opposed to just HODLing. It doesn’t really require technical expertise on cryptocurrencies or hefty investment on equipment, especially if you opt for using platforms such as Cake DeFi.

Depending on what cryptocurrencies they own and how much they stake, participants can also gain huge returns - and they can do so in a passive and environment-friendly way.

That said, participants will have to wait for those potentially huge as staking often requires a lockup or vesting period. This means that you’ll most likely not be able to access the cryptos that you’ve committed for a certain period of time. These cryptocurrencies are also still prone to the market’s volatility, and that their prices may change - even during the lockup period.

So, is staking worth trying? The answer to that question may very well depend on your risk tolerance. Also, you should be able to figure out what kind of crypto investor you consider yourself to be: are you in it for the short term or long term? If you consider yourself to be the latter, then perhaps you should give staking a try.

If you want to know more about staking or other ways of making money with your cryptocurrencies, you may read this article or check out our blog section for more information on the subject.If you want to use our staking service but are not yet a registered Cake DeFi user, you may click here to sign up and start generating passive income with us. You will get US$30 worth of DFI tokens when you register successfully and make a deposit of US$50 or more, and allocate the amount for at least 28 days into either our Lending, Staking Freezer or Liquidity Mining Freezer service.And that’s it! Thanks for reading this article. We look forward to seeing you “bake” your first crypto rewards very soon!

- Cake DeFi
Join Cake DeFi’s Easter Egg Hunt
to Unlock Bonuses!
Join Cake DeFi’s Easter Egg Hunt
to Unlock Bonuses!

CALLING ALL CAKE DEFI USERS! Take part in this year’s Easter Egg Hunt and get a chance to receive layers upon layers of referral bonuses in DFI.

How? Simple: the more people you refer, the more DFI bonuses that you and your referrals receive.

Sounds good? Here are the mechanics:

The promo will commence at 18:00 SGT (10:00 UTC) on 11 April 2022 and will run until 18:00 SGT (10:00 UTC) on 25 April 2022.During the promo period, you have the chance to get increased sign up bonuses:For every successful referral (account verified with a minimum $50 allocated for 28 days into Lending or into the 30-day Freezer), the referrer will receive $20 worth of DFI in their Freezer.The referee will receive $40 worth of DFI (and which is automatically locked in the Freezer for 180 days).Referral bonuses will be locked in the Freezer for 180 days.Referees must complete their registration, account verification and allocate a minimum of $50 for 28 days into Lending or into the 30-day Freezer during the promotional period, in order for the referrer and the referee to receive the promotional referral bonuses. The promo period is from 18:00 SGT (10:00 UTC) on 11th April, 2022 to 18:00 SGT (10:00 UTC) on 25 April, 2022.Referees who sign up or complete their sign up outside of the promotional campaign period will not enjoy the increased bonus on offer. Join Cake DeFi’s Easter Egg Hunt
to Unlock Bonuses!Referees must use their referrer’s unique referral code (as displayed on https://app.cakedefi.com/referral) in order to receive the bonus.All users also have the chance of earning up to $750 worth of DFI as added bonuses — by collecting a total of 5 Easter eggs — on top of their referral bonus. If you refer 2 people, then you get a red Easter egg and an additional bonus of $50. If you refer 5 people, then you get a green Easter egg and a bonus of $100, making it a total of $150 in bonuses. If you refer 10 people, then you get a blue Easter egg and a bonus of $200, hence your total extra bonus is $350. If you manage to refer 50 people or more, then you get the golden Easter egg and this special egg comes with a one time bonus of $400, making the total extra bonus payout a whopping $750. All these bonuses are paid out in DFI and automatically allocated to the Freezer product for 180 days.Join Cake DeFi’s Easter Egg Hunt
to Unlock Bonuses!

So, what are you waiting for? Take advantage of this once-in-a-year promo and have the best Easter holidays ever!

- Cake DeFi
Learn About Crypto & Earn $10 in Crypto!
Learn About Crypto & Earn $10 in Crypto!

Cryptocurrencies are booming and enjoying ever-increasing popularity – at the same time, there is probably no other industry that has as much need for education as the crypto space.

With our new Learn & Earn program, we offer a safe and easy way to learn more about the world of crypto and even earn in the process. This way, you can put the knowledge you've learned into practice and test out the various opportunities that crypto investments offer. And it’s completely free!

Learn & Earn Crypto: How it works

Just go to our Learn & Earn page and start a course: currently, Bitcoin or DeFiChain are available. The Bitcoin course gives you insight into the first and largest cryptocurrency and how cryptocurrencies work in general. The DeFiChain course, on the other hand, teaches you about DeFi (Decentralized Finance), how it works and what makes DeFiChain special as a blockchain.

Learn About Crypto & Earn $10 in Crypto!

Each course is divided into 5 lessons that consist of 6 parts. At the end of each lesson, there is a multiple choice quiz to test what you have learned. For each right answer, you’ll get $1. If you answer incorrectly, your mistake will be explained to you and you can try it again. It’s super fast to complete the entire course – it shouldn’t take more than 5 to 10 minutes.

Learn About Crypto & Earn $10 in Crypto!

After the first quiz, you will be prompted to sign up for Cake DeFi. Just go through the registration process, and you can continue with the remaining questions.

Learn About Crypto & Earn $10 in Crypto!

To actually begin using the $10, all you have to do is verify your identity. This process is very simple and usually takes no more than a few minutes and voilà, you have $10 in crypto in your Cake DeFi account that you can now use to get a feel for investing!

Frequently Asked Questions

In what form do I receive my rewards?You can earn $5 for the Bitcoin and another $5 for completing the DeFiChain Learn & Earn courses –– that’s a total of $10. The $5 for completing all quizzes around the Bitcoin course are paid out in BTC-DFI Liquidity Mining tokens; the $5 for completing all quizzes around the DeFiChain course are paid out in the form of DFI coins.

What can I do with my rewards?Your $10 bonus will be automatically invested into Cake DeFi's Freezer product for 1 month and will generate passive income twice a day, which you can use at any time. This is the perfect way to learn more about Cake DeFi's products. At the end of the one-month period, you can withdraw your Learn & Earn bonus at any time if you wish to.

Where can I find my rewards?Your Learn & Earn bonus is automatically invested in Cake DeFi's Freezer product for 1 month and generates passive income twice a day during this time. This means that you can find your bonus under the Freezer product and can also view your balance in your wallet.

Can I continue to earn after I have successfully completed my identity verification (KYC)?Yes, you can continue to earn even after you have successfully verified your identity (KYC). Even a successful deposit does not limit your eligibility – in fact, we encourage it! As a new customer, you will receive a $30 bonus for your first deposit of $50 or more (in one deposit), and you can earn an additional $10 via our Learn & Earn.

Happy earning (and baking)!Your Cake DeFi Team

Register for Cake DeFi directly :root{--button-bg: rgba(91,16,255,.08);--disable-button-bg: rgba(0, 0, 0, 0.2) }@media(prefers-color-scheme: dark){html:not([data-theme=light]){--button-bg: rgba(91,16,255,0.3);--disable-button-bg: rgba(255, 255, 255, 0.2) }}html[data-theme=dark]{--button-bg: rgba(91,16,255,0.3);--disable-button-bg: rgba(255, 255, 255, 0.2) }.btn,#RegisterSubmitBtn,#ResendConfirmationEmailBtn{display:inline-block;font-size:1.6rem;font-weight:500;line-height:2.4rem;text-decoration:none;margin:0;padding-right:15px;padding-left:15px;padding-bottom:7px;padding-top:7px;border-radius:4px;border:1px solid rgba(91,16,255,.08) !important;letter-spacing:0;text-align:center;background-color:var(--button-bg);color:#5b10ff;transition:all .3s ease;white-space:nowrap;box-sizing:border-box}.btn.btn-large,#RegisterSubmitBtn.btn-large,#ResendConfirmationEmailBtn.btn-large{padding-top:11px;padding-bottom:11px}.btn:hover,#RegisterSubmitBtn:hover,#ResendConfirmationEmailBtn:hover{background-color:rgba(69,0,220,.08) !important;color:#5b10ff !important;text-decoration:none !important}.btn .icon-wrapper,#RegisterSubmitBtn .icon-wrapper,#ResendConfirmationEmailBtn .icon-wrapper{display:flex;align-items:center;justify-content:space-between}.btn .icon,#RegisterSubmitBtn .icon,#ResendConfirmationEmailBtn .icon{background-position:center;background-repeat:no-repeat;width:24px;height:24px}.btn.btn-plain,#RegisterSubmitBtn.btn-plain,#ResendConfirmationEmailBtn.btn-plain{background-color:rgba(0,0,0,.08);color:#5b10ff}.btn.btn-plain:hover,#RegisterSubmitBtn.btn-plain:hover,#ResendConfirmationEmailBtn.btn-plain:hover{background-color:#eee6ff}.btn.btn-link,#RegisterSubmitBtn.btn-link,#ResendConfirmationEmailBtn.btn-link{background-color:#fff;color:#5b10ff}.btn.btn-link:hover,#RegisterSubmitBtn.btn-link:hover,#ResendConfirmationEmailBtn.btn-link:hover{background-color:#ebebeb}.btn.btn-linkedin,#RegisterSubmitBtn.btn-linkedin,#ResendConfirmationEmailBtn.btn-linkedin{background-color:#0077b5;width:auto;color:#fff}.btn.btn-linkedin:hover,#RegisterSubmitBtn.btn-linkedin:hover,#ResendConfirmationEmailBtn.btn-linkedin:hover{background-color:#005582}.btn.btn-linkedin img,#RegisterSubmitBtn.btn-linkedin img,#ResendConfirmationEmailBtn.btn-linkedin img{display:inline;position:relative;top:-3px;margin-right:8px}.btn[disabled],#RegisterSubmitBtn[disabled],#ResendConfirmationEmailBtn[disabled]{color:rgba(255,255,255,.6) !important;border:1px solid rgba(91,16,255,.08) !important;background-color:var(--disable-button-bg) !important;cursor:default !important}.btn[disabled]:hover,#RegisterSubmitBtn[disabled]:hover,#ResendConfirmationEmailBtn[disabled]:hover{text-decoration:none !important}.checkbox{display:flex;align-items:center;cursor:pointer}.checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:auto;padding:0;border:none}.checkbox input[type=checkbox]:focus+span{outline:5px auto -webkit-focus-ring-color}.checkbox input[type=checkbox]+span{margin-right:8px;border:1px solid rgba(0,0,0,.2);background:#f4f3f6;border-radius:4px;display:inline-block;width:24px;height:24px;flex-shrink:0}.checkbox input[type=checkbox]:checked+span{background-image:url('data:image/svg+xml;utf8,');background-color:#f2ebfe}.global-spinner{top:6%;width:100%;position:fixed;text-align:center;display:none;z-index:99999}.loader2{width:32px;height:32px;margin-left:24px;color:#5b10ff}.slice{animation-name:pendulum;animation-duration:1.5s;animation-iteration-count:infinite;transform-origin:50%;fill:currentColor}@keyframes pendulum{0%{transform:rotate(-50deg);animation-timing-function:ease-in-out}50%{transform:rotate(-130deg);animation-timing-function:ease-in-out}100%{transform:rotate(-50deg)}}.spinner-group{animation:rotate 1s linear infinite;width:100%;height:100%;transform-origin:50%}.spinner-group .spinner{stroke:currentColor;stroke-linecap:round;animation:dash 1.8s linear infinite;transform-origin:50%}.spinner-group .track{stroke:#ccc}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:0,120;stroke-dashoffset:0}50%{stroke-dasharray:80,120;stroke-dashoffset:-40}100%{stroke-dasharray:40,120;stroke-dashoffset:-60}}.global-alert{top:56px;position:fixed;z-index:2055}.cake-alert{display:flex;align-items:center;border-radius:4px;padding:8px 16px;text-align:center}.cake-alert.success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.cake-alert.error{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}:root{--color-gray-200: rgba(0, 0, 0, 0.2);--color-gray-300: rgba(0, 0, 0, 0.3);--color-gray-400: rgba(0, 0, 0, 0.4);--color-gray-600: rgba(0, 0, 0, 0.6)}@media(prefers-color-scheme: dark){html:not([data-theme=light]){--color-gray-200: #ccc;--color-gray-300: #ccc;--color-gray-400: #ccc;--color-gray-600: #ccc}}html[data-theme=dark]{--color-gray-200: #ccc;--color-gray-300: #ccc;--color-gray-400: #ccc;--color-gray-600: #ccc}.focus-label,.float-container .float-control-container .float-control:focus~label,.float-container .float-control-container .float-control:focus:not(:placeholder-shown)~label,.float-container .float-control-container .float-control:disabled:not(:placeholder-shown)~label,.float-container .float-control-container .float-control:valid~label{font-size:1.2rem;font-weight:500;line-height:1.6rem;padding-top:3px}.float-container .password-toggle{top:0px;right:0px;border:0px;cursor:pointer;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-sizing:border-box;align-items:center;padding-left:16px;padding-right:16px;background-color:rgba(0,0,0,0);appearance:none}.float-container .password-toggle svg{fill:var(--color-gray-600);width:2.4rem;height:2.4rem}.float-container label.error{color:red;display:block;margin-top:8px;min-height:20px;line-height:20px;letter-spacing:.25px;font-size:1.2rem;text-align:left}.float-container .float-control-container{display:flex;position:relative;font-size:1.6rem}.float-container .float-control-container.readonly{box-shadow:0 0 0 1px var(--color-gray-200);border:1px solid rgba(0,0,0,0);border-radius:4px;padding:12px 16px;line-height:2.4rem;background:#fff}.float-container .float-control-container label{cursor:text;color:var(--color-gray-600);display:block;font-size:1.6rem;line-height:2.4rem;top:0;left:0;margin-bottom:0;padding:12px 16px;border:1px solid rgba(0,0,0,0);pointer-events:none;position:absolute;transition:all .1s ease-in-out;width:100%;z-index:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.float-container .float-control-container .float-control-select-arrow{height:20px;position:absolute;top:15px;right:10px;width:20px}.float-container .float-control-container .float-control-select-arrow b{border-color:#888 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.float-container .float-control-container .float-control{flex:1;box-shadow:0 0 0 1px var(--color-gray-200);border:1px solid rgba(0,0,0,0);border-radius:4px;padding:12px 16px;margin-bottom:0;font-size:1.6rem;line-height:2.4rem;transition:all .1s ease-in-out;-webkit-appearance:none;min-width:0}.float-container .float-control-container .float-control::placeholder{color:rgba(0,0,0,0)}.float-container .float-control-container .float-control:disabled:valid~label{color:var(--color-gray-300)}.float-container .float-control-container .float-control:disabled::placeholder{color:rgba(0,0,0,0)}.float-container .float-control-container .float-control:disabled:not(:placeholder-shown),.float-container .float-control-container .float-control:valid{padding:18px 16px 6px 16px}.float-container .float-control-container .float-control:focus:not(:placeholder-shown),.float-container .float-control-container .float-control:valid{padding:18px 16px 6px 16px}.float-container .float-control-container .float-control:focus:not(:placeholder-shown)::placeholder,.float-container .float-control-container .float-control:valid::placeholder{color:rgba(0,0,0,0)}.float-container .float-control-container .float-control:focus{outline:none !important;padding:18px 16px 6px 16px}.float-container .float-control-container .float-control:focus::placeholder{color:var(--color-gray-400)}.float-container .float-control-container.focus .float-control{box-shadow:0 0 0 2px #5b10ff}.float-container .float-control-container.focus label{color:#5b10ff}.float-container .float-control-container.error .float-control{box-shadow:0 0 0 1px red}.float-container .float-control-container.error.focus .float-control{box-shadow:0 0 0 2px red}.float-container .float-control-container.error label{color:red}.dropdown-help-text{font-weight:500;color:var(--color-gray-600)}.modal{position:fixed;width:100%;height:100%;top:0;left:0;margin-top:0 !important;z-index:-1;opacity:0;background-color:#000;background:rgba(0,0,0,.4);transition:all .3s cubic-bezier(0.36, 0.66, 0.04, 1);overflow:auto}.modal.in{opacity:1;z-index:1}.modal.in .animated-from-top,.modal.in .animated-from-bottom{transform:translateY(0)}.modal-content{position:relative;max-width:992px;width:calc(100% - 32px);margin:32px auto;padding:2em;border-radius:4px;background:#fff;box-shadow:0 5px 15px rgba(0,0,0,.5);transition:all .3s cubic-bezier(0.36, 0.66, 0.04, 1)}.animated-from-top{transform:translateY(-200%)}.animated-from-bottom{transform:translateY(200%)}.mt-3{margin-top:12px}.mb-6{margin-bottom:24px}.my-6{margin-top:24px;margin-bottom:24px}.flex{display:flex}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex-grow:1}.text-black-60{color:rgba(0,0,0,.6)}.hidden{display:none !important}.uppercase{text-transform:uppercase}.l-content .float-control-select-arrow{display:none}@media(min-width: 1024px){.sign-up-name{display:grid;gap:16px;grid-template-columns:repeat(2, minmax(0, 1fr))}}/*# sourceMappingURL=main.css.map */ Confirm Your Email Address

A confirmation email has been sent to . Click on the confirmation link in the email to activate your account.

Resend confirmation email First name Last name Email Password Country of residence Cake DeFi is only available for listed countries Promo or referral code (optional)

I agree with the Cake Terms and Conditions

Sign up /* * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "./assets/js/components/api.js": /*!*************************************!*\ !*** ./assets/js/components/api.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"api\": () => (/* binding */ api)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../config */ \"./assets/js/config/index.js\");\n\n\n\nvar baseURL = _config__WEBPACK_IMPORTED_MODULE_2__.appConfig.API_ENDPOINT;\n\nvar fetcher = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__.default)( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee(input) {\n var options,\n response,\n error,\n _args = arguments;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};\n _context.next = 3;\n return fetch(input, options);\n\n case 3:\n response = _context.sent;\n\n if (response.ok) {\n _context.next = 9;\n break;\n }\n\n _context.next = 7;\n return response.text();\n\n case 7:\n error = _context.sent;\n throw error;\n\n case 9:\n return _context.abrupt(\"return\", response.json());\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function fetcher(_x) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar api = function () {\n function fetchLandingPageData() {\n return fetcher(\"\".concat(baseURL, \"/landing-page\"));\n }\n\n function register(payload) {\n return fetcher(\"\".concat(baseURL, \"/register\"), {\n headers: {\n 'Content-Type': 'application/json'\n },\n method: 'POST',\n body: JSON.stringify(payload)\n });\n }\n\n function resendVerify(email) {\n return fetcher(\"\".concat(baseURL, \"/verify\"), {\n method: 'POST',\n body: email\n });\n }\n\n return {\n fetchLandingPageData: fetchLandingPageData,\n register: register,\n resendVerify: resendVerify\n };\n}();\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/api.js?"); /***/ }), /***/ "./assets/js/components/floating-label.js": /*!************************************************!*\ !*** ./assets/js/components/floating-label.js ***! \************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"floatingLabel\": () => (/* binding */ floatingLabel)\n/* harmony export */ });\nvar floatingLabel = function () {\n var init = function init() {\n document.querySelectorAll('.float-control').forEach(function (control) {\n control.addEventListener('focus', function () {\n this.parentNode.classList.add('focus');\n });\n control.addEventListener('blur', function () {\n this.parentNode.classList.remove('focus');\n });\n });\n initPasswordToggle();\n };\n\n var initPasswordToggle = function initPasswordToggle() {\n document.querySelector('#PasswordOn').addEventListener('click', function () {\n this.classList.add('hidden');\n document.querySelector('#PasswordOff').classList.remove('hidden');\n this.closest('.float-control-container').querySelector('input').setAttribute('type', 'text');\n });\n document.querySelector('#PasswordOff').addEventListener('click', function () {\n this.classList.add('hidden');\n document.querySelector('#PasswordOn').classList.remove('hidden');\n this.closest('.float-control-container').querySelector('input').setAttribute('type', 'password');\n });\n };\n\n return {\n init: init\n };\n}();\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/floating-label.js?"); /***/ }), /***/ "./assets/js/components/signup-form/country-dropdown.js": /*!**************************************************************!*\ !*** ./assets/js/components/signup-form/country-dropdown.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"initCountryDropdown\": () => (/* binding */ initCountryDropdown)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _cakedefi_cake_sdk_assets_allowed_countries_en_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @cakedefi/cake-sdk/assets/allowed-countries-en.json */ \"./node_modules/@cakedefi/cake-sdk/assets/allowed-countries-en.json\");\n\n\nfunction initCountryDropdown() {\n var options = [{\n label: \"\",\n value: \"\"\n }].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__.default)(_cakedefi_cake_sdk_assets_allowed_countries_en_json__WEBPACK_IMPORTED_MODULE_1__)).map(function (country) {\n return \"\").concat(country.label, \"\");\n });\n document.getElementById('CountrySelect').insertAdjacentHTML('beforeend', options);\n}\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/signup-form/country-dropdown.js?"); /***/ }), /***/ "./assets/js/components/signup-form/form-validation.js": /*!*************************************************************!*\ !*** ./assets/js/components/signup-form/form-validation.js ***! \*************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isValidPromoCode\": () => (/* binding */ isValidPromoCode),\n/* harmony export */ \"initFormValidation\": () => (/* binding */ initFormValidation),\n/* harmony export */ \"setSubmitButton\": () => (/* binding */ setSubmitButton),\n/* harmony export */ \"isFormValid\": () => (/* binding */ isFormValid)\n/* harmony export */ });\n/* harmony import */ var _cakedefi_cake_sdk_util_isValidEmail__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @cakedefi/cake-sdk/util/isValidEmail */ \"./node_modules/@cakedefi/cake-sdk/util/isValidEmail.js\");\n/* harmony import */ var _term_condition_checkbox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./term-condition-checkbox */ \"./assets/js/components/signup-form/term-condition-checkbox.js\");\n/* harmony import */ var _utils_serialize_form_value__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/serialize-form-value */ \"./assets/js/utils/serialize-form-value.js\");\n\n\n\nvar MIN_PASSWORD_LENGTH = 12;\nvar MAX_PASSWORD_LENGTH = 128;\nvar MIN_NAME_LENGTH = 1;\nvar MAX_NAME_LENGTH = 30;\nfunction isValidPromoCode(value) {\n return new RegExp(/^[A-Z0-9]{6}$/).test(value);\n}\nvar validationMap = {\n firstName: {\n validate: function validate(value) {\n return value.length >= MIN_NAME_LENGTH && value.length = MIN_NAME_LENGTH && value.length = MIN_PASSWORD_LENGTH && value.length <= MAX_PASSWORD_LENGTH;\n },\n errorMsg: \"Password length must be at least 12 characters.\"\n },\n country: {\n validate: function validate(value) {\n return !!value;\n },\n errorMsg: \"Country is required.\"\n }\n};\nfunction initFormValidation() {\n ['firstName', 'lastName', 'email', 'password', 'country'].forEach(function (formField) {\n function onKeyUpValidation() {\n var formValue = (0,_utils_serialize_form_value__WEBPACK_IMPORTED_MODULE_2__.serializeFormValue)(document.getElementById(\"SignUpForm\").elements);\n var fieldValue = formValue[formField];\n var isValid = validationMap[formField].validate(fieldValue);\n var errorMsg = isValid ? '' : validationMap[formField].errorMsg;\n var floatContainer = this.closest(\".float-container\");\n var floatControlContainer = this.closest(\".float-control-container\");\n\n if (errorMsg) {\n floatControlContainer.classList.add(\"error\");\n\n if (!floatContainer.querySelector('label.error')) {\n floatContainer.insertAdjacentHTML('beforeend', \"\".concat(errorMsg, \"\"));\n }\n } else {\n var _floatContainer$query;\n\n floatControlContainer.classList.remove(\"error\");\n (_floatContainer$query = floatContainer.querySelector('label.error')) === null || _floatContainer$query === void 0 ? void 0 : _floatContainer$query.remove();\n }\n\n setSubmitButton();\n }\n\n ['keyup', 'change'].forEach(function (evt) {\n document.querySelector(\"#SignUpForm [name=\\\"\".concat(formField, \"\\\"]\")).addEventListener(evt, onKeyUpValidation);\n });\n });\n}\nfunction setSubmitButton() {\n document.getElementById('RegisterSubmitBtn').disabled = !isFormValid();\n}\nfunction isFormValid() {\n var reCaptchaToken = _term_condition_checkbox__WEBPACK_IMPORTED_MODULE_1__.termAndConditionCheckbox.getToken();\n\n if (!reCaptchaToken) {\n return false;\n }\n\n var formValue = (0,_utils_serialize_form_value__WEBPACK_IMPORTED_MODULE_2__.serializeFormValue)(document.getElementById(\"SignUpForm\").elements);\n var isValid = Object.keys(validationMap).every(function (key) {\n var fieldValue = formValue[key];\n\n if (!validationMap[key]) {\n return true;\n }\n\n return validationMap[key].validate(fieldValue);\n });\n return isValid;\n}\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/signup-form/form-validation.js?"); /***/ }), /***/ "./assets/js/components/signup-form/index.js": /*!***************************************************!*\ !*** ./assets/js/components/signup-form/index.js ***! \***************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"signUpForm\": () => (/* binding */ signUpForm)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_spinner__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/spinner */ \"./assets/js/shared/spinner.js\");\n/* harmony import */ var _utils_serialize_form_value__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/serialize-form-value */ \"./assets/js/utils/serialize-form-value.js\");\n/* harmony import */ var _utils_show_error_message_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/show-error-message-api */ \"./assets/js/utils/show-error-message-api.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../api */ \"./assets/js/components/api.js\");\n/* harmony import */ var _floating_label__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../floating-label */ \"./assets/js/components/floating-label.js\");\n/* harmony import */ var _country_dropdown__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./country-dropdown */ \"./assets/js/components/signup-form/country-dropdown.js\");\n/* harmony import */ var _form_validation__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./form-validation */ \"./assets/js/components/signup-form/form-validation.js\");\n/* harmony import */ var _query_params__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./query-params */ \"./assets/js/components/signup-form/query-params.js\");\n/* harmony import */ var _resend_email_confirmation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./resend-email-confirmation */ \"./assets/js/components/signup-form/resend-email-confirmation.js\");\n/* harmony import */ var _term_condition_checkbox__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./term-condition-checkbox */ \"./assets/js/components/signup-form/term-condition-checkbox.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar signUpForm = function () {\n function init() {\n _query_params__WEBPACK_IMPORTED_MODULE_9__.init();\n (0,_country_dropdown__WEBPACK_IMPORTED_MODULE_7__.initCountryDropdown)();\n (0,_form_validation__WEBPACK_IMPORTED_MODULE_8__.initFormValidation)();\n _floating_label__WEBPACK_IMPORTED_MODULE_6__.floatingLabel.init();\n _term_condition_checkbox__WEBPACK_IMPORTED_MODULE_11__.termAndConditionCheckbox.init();\n handleOnSubmit();\n (0,_resend_email_confirmation__WEBPACK_IMPORTED_MODULE_10__.handleResendEmailConfirmation)();\n }\n\n function handleOnSubmit() {\n document.getElementById(\"SignUpForm\").addEventListener('submit', /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__.default)( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee(event) {\n var reCaptchaToken, _serializeFormValue, firstName, lastName, email, password, country, _handleQueryParams$ge, utm_campaign, utm_medium, utm_source, promoCode, referredById, payloadValues, button, response;\n\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n event.preventDefault();\n reCaptchaToken = _term_condition_checkbox__WEBPACK_IMPORTED_MODULE_11__.termAndConditionCheckbox.getToken();\n\n if ((0,_form_validation__WEBPACK_IMPORTED_MODULE_8__.isFormValid)()) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 4:\n _serializeFormValue = (0,_utils_serialize_form_value__WEBPACK_IMPORTED_MODULE_3__.serializeFormValue)(this.elements), firstName = _serializeFormValue.firstName, lastName = _serializeFormValue.lastName, email = _serializeFormValue.email, password = _serializeFormValue.password, country = _serializeFormValue.country;\n _handleQueryParams$ge = _query_params__WEBPACK_IMPORTED_MODULE_9__.getAllValues(), utm_campaign = _handleQueryParams$ge.utm_campaign, utm_medium = _handleQueryParams$ge.utm_medium, utm_source = _handleQueryParams$ge.utm_source, promoCode = _handleQueryParams$ge.promoCode, referredById = _handleQueryParams$ge.referredById;\n payloadValues = {\n email: email,\n password: password,\n firstName: firstName,\n lastName: lastName,\n country: country,\n 'g-recaptcha-response': reCaptchaToken,\n promoCode: promoCode || null,\n referredById: referredById || null,\n utm_source: utm_source,\n utm_medium: utm_medium,\n utm_campaign: utm_campaign,\n revealInfoToReferrer: false,\n learnAndEarnCode: null,\n currentLanguage: \"en\"\n };\n button = document.getElementById('RegisterSubmitBtn');\n button.disabled = true;\n _context.prev = 9;\n (0,_shared_spinner__WEBPACK_IMPORTED_MODULE_2__.showSpinner)();\n _context.next = 13;\n return _api__WEBPACK_IMPORTED_MODULE_5__.api.register(payloadValues);\n\n case 13:\n response = _context.sent;\n button.disabled = false;\n signUpSuccess(email);\n _context.next = 23;\n break;\n\n case 18:\n _context.prev = 18;\n _context.t0 = _context[\"catch\"](9);\n (0,_utils_show_error_message_api__WEBPACK_IMPORTED_MODULE_4__.showApiError)(_context.t0);\n _term_condition_checkbox__WEBPACK_IMPORTED_MODULE_11__.termAndConditionCheckbox.resetCaptcha();\n button.disabled = true;\n\n case 23:\n _context.prev = 23;\n (0,_shared_spinner__WEBPACK_IMPORTED_MODULE_2__.hideSpinner)();\n return _context.finish(23);\n\n case 26:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[9, 18, 23, 26]]);\n }));\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }());\n }\n\n function signUpSuccess(email) {\n document.getElementById('SignUpFormContainer').classList.add('hidden');\n document.getElementById('ResendConfirmationEmail').textContent = email;\n document.getElementById('ResendConfirmationEmail').setAttribute('email', email);\n document.getElementById('ConfirmYourEmail').classList.remove('hidden');\n }\n\n return {\n init: init\n };\n}();\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/signup-form/index.js?"); /***/ }), /***/ "./assets/js/components/signup-form/query-params.js": /*!**********************************************************!*\ !*** ./assets/js/components/signup-form/query-params.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"setDataFromQueryParams\": () => (/* binding */ setDataFromQueryParams),\n/* harmony export */ \"getValueFromQueryParamsOrStorage\": () => (/* binding */ getValueFromQueryParamsOrStorage),\n/* harmony export */ \"getUtmInfos\": () => (/* binding */ getUtmInfos),\n/* harmony export */ \"getReferralAndPromoInfos\": () => (/* binding */ getReferralAndPromoInfos),\n/* harmony export */ \"setPromoCodeUI\": () => (/* binding */ setPromoCodeUI),\n/* harmony export */ \"init\": () => (/* binding */ init),\n/* harmony export */ \"getAllValues\": () => (/* binding */ getAllValues)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _shared_storage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/storage */ \"./assets/js/shared/storage.js\");\n/* harmony import */ var _utils_get_query_params__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/get-query-params */ \"./assets/js/utils/get-query-params.js\");\n/* harmony import */ var _shared_params_const__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/params-const */ \"./assets/js/shared/params-const.js\");\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"handleResendEmailConfirmation\": () => (/* binding */ handleResendEmailConfirmation)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_alert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/alert */ \"./assets/js/shared/alert.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../api */ \"./assets/js/components/api.js\");\n/* harmony import */ var _utils_show_error_message_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/show-error-message-api */ \"./assets/js/utils/show-error-message-api.js\");\n/* harmony import */ var _shared_spinner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../shared/spinner */ \"./assets/js/shared/spinner.js\");\n\n\n\n\n\n\nfunction handleResendEmailConfirmation() {\n document.getElementById('ConfirmYourEmailForm').addEventListener('submit', /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__.default)( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee(e) {\n var email, response;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n e.preventDefault();\n email = document.getElementById('ResendConfirmationEmail').getAttribute('email');\n _context.prev = 2;\n (0,_shared_spinner__WEBPACK_IMPORTED_MODULE_5__.showSpinner)();\n document.getElementById('ResendConfirmationEmailBtn').disabled = true;\n _context.next = 7;\n return _api__WEBPACK_IMPORTED_MODULE_3__.api.resendVerify(email);\n\n case 7:\n response = _context.sent;\n (0,_shared_alert__WEBPACK_IMPORTED_MODULE_2__.showSuccessAlert)('Verification email has been sent');\n _context.next = 14;\n break;\n\n case 11:\n _context.prev = 11;\n _context.t0 = _context[\"catch\"](2);\n (0,_utils_show_error_message_api__WEBPACK_IMPORTED_MODULE_4__.showApiError)(_context.t0);\n\n case 14:\n _context.prev = 14;\n document.getElementById('ResendConfirmationEmailBtn').disabled = false;\n (0,_shared_spinner__WEBPACK_IMPORTED_MODULE_5__.hideSpinner)();\n return _context.finish(14);\n\n case 18:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[2, 11, 14, 18]]);\n }));\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }());\n}\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/signup-form/resend-email-confirmation.js?"); /***/ }), /***/ "./assets/js/components/signup-form/term-condition-checkbox.js": /*!*********************************************************************!*\ !*** ./assets/js/components/signup-form/term-condition-checkbox.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"termAndConditionCheckbox\": () => (/* binding */ termAndConditionCheckbox)\n/* harmony export */ });\n/* harmony import */ var _form_validation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./form-validation */ \"./assets/js/components/signup-form/form-validation.js\");\n\nvar termAndConditionCheckbox = function () {\n var reCaptchaToken;\n\n function init() {\n initReCAPTCHA();\n document.getElementById('TermConditionCheckbox').addEventListener('change', function () {\n if (this.checked) {\n grecaptcha.execute();\n } else {\n reCaptchaToken = null;\n }\n });\n }\n\n function initReCAPTCHA() {\n var verifyCaptcha = function verifyCaptcha(token) {\n reCaptchaToken = token;\n (0,_form_validation__WEBPACK_IMPORTED_MODULE_0__.setSubmitButton)();\n };\n\n window.verifyCaptcha = verifyCaptcha;\n }\n\n ;\n\n function resetCaptcha() {\n reCaptchaToken = null;\n document.getElementById('TermConditionCheckbox').checked = false;\n grecaptcha.reset();\n }\n\n return {\n init: init,\n getToken: function getToken() {\n return reCaptchaToken;\n },\n resetCaptcha: resetCaptcha\n };\n}();\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/components/signup-form/term-condition-checkbox.js?"); /***/ }), /***/ "./assets/js/config/index.js": /*!***********************************!*\ !*** ./assets/js/config/index.js ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"appConfig\": () => (/* binding */ appConfig)\n/* harmony export */ });\nvar appConfig = {\n API_ENDPOINT: \"https://api.cakedefi.com\",\n RECAPTCHA_KEY: \"6LcDaLAeAAAAADeKbH94tsCMTFAppm-BCHNN1LAp\"\n};\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/config/index.js?"); /***/ }), /***/ "./assets/js/shared/alert.js": /*!***********************************!*\ !*** ./assets/js/shared/alert.js ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"showAlert\": () => (/* binding */ showAlert),\n/* harmony export */ \"showSuccessAlert\": () => (/* binding */ showSuccessAlert),\n/* harmony export */ \"showErrorAlert\": () => (/* binding */ showErrorAlert)\n/* harmony export */ });\nvar timeoutRef;\nvar TIME_TO_SHOW_ALERT = 5000;\nfunction showAlert(type, message) {\n hideAlert(function () {\n var alert = document.querySelector('.cake-alert');\n alert.classList.add(type);\n alert.textContent = message;\n alert.style.display = 'block';\n });\n\n if (timeoutRef) {\n clearTimeout(timeoutRef);\n }\n\n timeoutRef = setTimeout(function () {\n hideAlert();\n }, TIME_TO_SHOW_ALERT);\n}\nfunction showSuccessAlert(message) {\n showAlert('success', message);\n}\nfunction showErrorAlert(message) {\n showAlert('error', message);\n}\n\nvar hideAlert = function hideAlert(func) {\n var alert = document.querySelector('.cake-alert');\n alert.classList.remove('success');\n alert.classList.remove('error');\n alert.innerHTML = '';\n func && func();\n};\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/shared/alert.js?"); /***/ }), /***/ "./assets/js/shared/params-const.js": /*!******************************************!*\ !*** ./assets/js/shared/params-const.js ***! \******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PROMO_CODE\": () => (/* binding */ PROMO_CODE),\n/* harmony export */ \"REFERRAL_CODE\": () => (/* binding */ REFERRAL_CODE),\n/* harmony export */ \"UTM_SOURCE\": () => (/* binding */ UTM_SOURCE),\n/* harmony export */ \"UTM_MEDIUM\": () => (/* binding */ UTM_MEDIUM),\n/* harmony export */ \"UTM_CAMPAIGN\": () => (/* binding */ UTM_CAMPAIGN)\n/* harmony export */ });\nvar PROMO_CODE = 'promo';\nvar REFERRAL_CODE = 'ref';\nvar UTM_SOURCE = 'utm_source';\nvar UTM_MEDIUM = 'utm_medium';\nvar UTM_CAMPAIGN = 'utm_campaign';\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/shared/params-const.js?"); /***/ }), /***/ "./assets/js/shared/spinner.js": /*!*************************************!*\ !*** ./assets/js/shared/spinner.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"showSpinner\": () => (/* binding */ showSpinner),\n/* harmony export */ \"hideSpinner\": () => (/* binding */ hideSpinner)\n/* harmony export */ });\nfunction showSpinner() {\n document.querySelector('.global-spinner').style.display = 'block';\n}\nfunction hideSpinner() {\n document.querySelector('.global-spinner').style.display = 'none';\n}\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/shared/spinner.js?"); /***/ }), /***/ "./assets/js/shared/storage.js": /*!*************************************!*\ !*** ./assets/js/shared/storage.js ***! \*************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SessionStorage\": () => (/* binding */ SessionStorage),\n/* harmony export */ \"storage\": () => (/* binding */ storage)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n\n\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {\n (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__.default)(this, SessionStorage);\n\n (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__.default)(this, \"map\", void 0);\n\n this.map = {};\n }\n\n (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__.default)(SessionStorage, [{\n key: \"setItem\",\n value: function setItem(key, value) {\n this.map[key] = value;\n }\n }, {\n key: \"getItem\",\n value: function getItem(key) {\n return this.map[key];\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.map = {};\n }\n }]);\n\n return SessionStorage;\n}();\n\nfunction getStorageImplementation() {\n try {\n return window.sessionStorage;\n } catch (e) {\n return new SessionStorage();\n }\n}\n\nvar storage = getStorageImplementation();\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/shared/storage.js?"); /***/ }), /***/ "./assets/js/utils/get-query-params.js": /*!*********************************************!*\ !*** ./assets/js/utils/get-query-params.js ***! \*********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getQueryParam\": () => (/* binding */ getQueryParam)\n/* harmony export */ });\nfunction getQueryParam(query) {\n try {\n var params = new URLSearchParams(window.location.search);\n return params.get(query);\n } catch (error) {\n return null;\n }\n}\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/utils/get-query-params.js?"); /***/ }), /***/ "./assets/js/utils/serialize-form-value.js": /*!*************************************************!*\ !*** ./assets/js/utils/serialize-form-value.js ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"serializeFormValue\": () => (/* binding */ serializeFormValue)\n/* harmony export */ });\nfunction serializeFormValue(elements) {\n var data = {};\n\n for (var i = 0; i { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getErrorMessage\": () => (/* binding */ getErrorMessage),\n/* harmony export */ \"showApiError\": () => (/* binding */ showApiError)\n/* harmony export */ });\n/* harmony import */ var _shared_alert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/alert */ \"./assets/js/shared/alert.js\");\n\nvar DEFAULT_ERROR = 'Unexpected error';\nfunction getErrorMessage(err) {\n try {\n var _json$message;\n\n var json = JSON.parse(err);\n return (_json$message = json.message) !== null && _json$message !== void 0 ? _json$message : DEFAULT_ERROR;\n } catch (error) {\n return DEFAULT_ERROR;\n }\n}\nfunction showApiError(err) {\n var errorMessage = getErrorMessage(err);\n (0,_shared_alert__WEBPACK_IMPORTED_MODULE_0__.showErrorAlert)(errorMessage);\n}\n\n//# sourceURL=webpack://cakedefi.com/./assets/js/utils/show-error-message-api.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/regenerator/index.js": /*!**********************************************************!*\ !*** ./node_modules/@babel/runtime/regenerator/index.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { eval("module.exports = __webpack_require__(/*! regenerator-runtime */ \"./node_modules/regenerator-runtime/runtime.js\");\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@babel/runtime/regenerator/index.js?"); /***/ }), /***/ "./node_modules/@cakedefi/cake-sdk/util/isValidEmail.js": /*!**************************************************************!*\ !*** ./node_modules/@cakedefi/cake-sdk/util/isValidEmail.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n\nfunction isValidEmail(email) {\n const emailRegEx = /^(([^()[\\]\\\\.,;:\\s@\"]+(\\.[^()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return emailRegEx.test(String(email).toLowerCase());\n}\n\nexports.default = isValidEmail;\n\n//# sourceURL=webpack://cakedefi.com/./node_modules/@cakedefi/cake-sdk/util/isValidEmail.js?"); /***/ }), /***/ "./node_modules/regenerator-runtime/runtime.js": /*!*****************************************************!*\ !*** ./node_modules/regenerator-runtime/runtime.js ***! \*****************************************************/ /***/ ((module) => { eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function (obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []); // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap; // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\"; // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n\n var ContinueSentinel = {}; // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {} // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n\n\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"); // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n }; // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && typeof value === \"object\" && hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function (unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n } // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator; // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n\n exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n } // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted; // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n } // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value; // Resume execution at the desired location (see delegateYield).\n\n context.next = delegate.nextLoc; // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n } // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n\n\n context.delegate = null;\n return ContinueSentinel;\n } // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n\n\n defineIteratorMethods(Gp);\n define(Gp, toStringTagSymbol, \"Generator\"); // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n\n define(Gp, iteratorSymbol, function () {\n return this;\n });\n define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse(); // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n } // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the