Ever wanted to own an NBA highlight? Now you can.

Dapper Labs, a blockchain company, has partnered with the NBA to make digital collectibles of in-game highlights a reality.


September 4, 2020

Ray Allen’s corner 3-pointer in Game 6 of the 2013 Finals is considered one of the NBA’s greatest shots ever.

Imagine if you could own it.

Well, Dapper Labs (a blockchain company) recently teamed up with the NBA to make ownership of in-game highlights a reality. How? Via a platform called NBA Top Shot.

Sports collectibles are big business

We’ve heard of multimillion-dollar baseball cards and autographed jerseys. But Dapper CEO, Roham Gharegozlou, tells The Hustle that he believes digital sports collectibles are the next frontier.

His platform (which we were given beta access to) offers users ownership of video clips like a “Jayson Tatum jump shot” or a “Zion Williamson block.”

These digital highlights come in “card packs” that start at $9. Each pack contains a different set of highlights that you can trade on the platform. Only one of each highlight is released, creating scarcity.

According to Gharegozlou, “cardboard cards are hard to authenticate, grade and move,” while these digital assets can be “sold at any time, don’t have to be evaluated and can have additional functionality over time.”

The team behind Dapper scored a previous hit with Cryptokittes 

Pre-blockchain, the creation of digital collectibles was a challenge.

Launched in 2017 at the height of Bitcoin mania, Cryptokittes (a game in which users buy, sell, and collect virtual cats) became the busiest address on the Ethereum platform — and demonstrated, for the first time, how the blockchain could power a digital collectibles market.

Generally, digital goods are easy to copy (think MP3s) and have no reproduction costs. As a result, it’s difficult to: 1) claim ownership over them, and 2) create value through scarcity.

Because a blockchain is a decentralized immutable record, a digital asset can actually be assigned ownership to a single entity. In industry parlance, this creates what is known as a non-fungible token (NFT). 

NBA Top Shot is built on a proprietary blockchain called Flow

Gharegozlou tells us Flow was created because existing blockchains (including Ethereum) are geared towards transactions rather than providing functionality for games, apps, and digital assets.

With $50m+ in funding, Dapper is moving into other digital collectibles categories.

Just this week, they partnered with Warner Music Group to launch a limited edition Cryptokittes with the English music band Muse. Up next: a collaboration with Dr. Seuss Enterprises.

***

UPDATE: December 21st, 2020

***

What’s the most valuable NBA highlight? 

The 2020-21 NBA season is kicking off today.

Back in September, we wrote about NBA Top Shot, a blockchain platform that sells NBA-licensed digital collectibles of basketball highlights.

Founded by Dapper Labs — the team behind the viral CryptoKitties craze — NBA Top Shot is currently sitting at the intersection of 2 extremely hot trends: crypto assets and sports cards.

In anticipation of the new NBA season, we caught up with Dapper’s CEO  Roham Gharegozlou to get an update on the platform:

***

$5m+ has been spent on NBA Top Shot, making it the world’s biggest sports blockchain product. Of the revenue, ~65% is direct sales of highlight packs (95k+ packs sold) and ~35% is marketplace volume from secondary market trading.

Gharegozlou expects the secondary market to become a larger part of the business down the line as each highlight is traded a number of times.

The best-performing highlights on NBA Top Shot’s secondary platform have been from a random dude named Lebron. The Lakers forward (and recent NBA Finals MVP) is the subject of 8 of the 10 most valuable highlights, including the most valuable one — here he is eviscerating a Kings player, currently trades at $7300.

Other players that have commanded high marketplace volume (money spent buying and selling highlights include: Luka Doncic, Anthony Davis, Zion Williamson and Jimmy Butler)

The platform is targeting digitally savvy collectors and has seen adoption across all age groups. Further, a community is growing around the product with a dedicated Discord channel (4.5k+ members).

***

We asked if it would be possible to purchase non-game highlights (since the NBA is infinitely amusing).

While NBA Top Shot does have editorial discretion over highlight selection, the criteria for inclusion is for “highest quality athletic plays.”

If that ever changes, I’d pay $100k for whatever it is that JR Smith is doing here:

This image has an empty alt attribute; its file name is JR-Smith-1.gif
 
 

Join 1.5m+ professionals getting The Hustle daily news brief

Business and tech news in 5 minutes or less

100% free, no ads or spam, unsubscribe anytime

Psst

How'd Bezos build a billion dollar empire?

In 1994, Jeff Bezos discovered a shocking stat: Internet usage grew 2,300% per year.

Data shows where markets are headed.

And that’s why we built Trends — to show you up-and-coming market opportunities about to explode. Interested?

[email-submission-form redirect-to-home="true" button-text="Join Free" include-trends-opt-in="true" id="main-signup-form" fail-url="" success-url="https://thehustle.co/signup" default-source="thehustleco" default-campaign="home"]
<script type="text/javascript"> var onloadCallback = function() { grecaptcha.render('verify-your-humanity', { 'sitekey' : '6LdddrcZAAAAALyttpvOqiwQGwq5BNhgDz4tMQGE' }); }; function getCookieValue(a) { var b = document.cookie.match('(^|[^;]+)\\s*' + a + '\\s*=\\s*([^;]+)'); return b ? atob(decodeURIComponent(b.pop())) : ''; } function setHiddenFieldValue(wrappingDiv, searchParams, className, utmName, cookieName, defaultValue) { var el = wrappingDiv.getElementsByClassName(className)[0]; var existingVal = el.getAttribute('value'); var newVal = searchParams.get(utmName) || getCookieValue(cookieName); if ((existingVal == null || existingVal == '' || existingVal == defaultValue) && (newVal != null && newVal != '')) { el.setAttribute('value', newVal); } } function setHiddenFieldValueFromUtm( wrappingDiv, searchParams, className, utmName, defaultValue ) { var el = wrappingDiv.getElementsByClassName(className)[0]; if (el != null) { var existingVal = el.getAttribute("value"); var newVal = searchParams.get(utmName); if (newVal != null && newVal != "") { el.setAttribute("value", newVal); } } } function initForm() { var wrappingDivs = document.getElementsByClassName('email-submission'); wrappingDivs.forEach(wrappingDiv => { var sp = new URLSearchParams(window.location.search); setHiddenFieldValue(wrappingDiv, sp, 'funnel-source', 'utm_source', 'funnel_source', 'thehustleco'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-campaign', 'utm_campaign', 'funnel_campaign', 'home'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-medium', 'utm_medium', 'funnel_medium', ''); setHiddenFieldValue(wrappingDiv, sp, 'funnel-referral', 'ref', 'funnel_referral', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-a', 'a', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-c', 'c', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-o', 'o', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-oc', 'oc', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-e', 'e', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-f', 'f', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-r', 'r', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-t', 't', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s1', 's1', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s2', 's2', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s3', 's3', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s4', 's4', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s5', 's5', ''); var error_message = getCookieValue('funnel_error_message'); if (error_message && error_message.trim() != '') { var error = wrappingDiv.getElementsByClassName('funnel-error')[0]; var prev_email = getCookieValue('funnel_email'); error_message = prev_email + " is not valid. Please try again"; error.innerHTML = error_message; error.style = ''; } }); if (false) { initCaptchaFormV2(); } } function initCaptchaFormV2() { var v3RecaptchaResponseEl = document.getElementById('recaptcha-response-v3'); v3RecaptchaResponseEl.parentNode.removeChild(v3RecaptchaResponseEl); var wrappingDiv = document.getElementById('main-signup-form'); var subForm = wrappingDiv.getElementsByClassName('email-submission')[0]; var captchaVersion = document.createElement('input'); captchaVersion.class = 'g-recaptcha hidden-input'; captchaVersion.type = 'hidden'; captchaVersion.name = 'g-recaptcha-response-v2'; captchaVersion.value = 'true'; subForm.appendChild(captchaVersion); var captchaEl = document.createElement('div'); captchaEl.id = 'verify-your-humanity'; subForm.appendChild(captchaEl); var captchaApiScriptEl = document.createElement('script'); captchaApiScriptEl.src = 'https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit'; captchaApiScriptEl.async = true; captchaApiScriptEl.defer = true; document.head.appendChild(captchaApiScriptEl); } function appendCheckboxes() { var optInDivs = document.querySelectorAll('.trends-opt-in'); optInDivs.forEach(el => { if (el.getElementsByClassName('trends-opt-in-checkbox').length < 1) { var checkbox = document.createElement('input'); checkbox.setAttribute('class', 'trends-opt-in-checkbox'); checkbox.setAttribute('type', 'checkbox'); checkbox.setAttribute('name', 'trends_opt_in'); var label = document.createElement('label'); label.setAttribute('class', 'trends-opt-in-text'); label.textContent = "Yes, I'd like to receive updates on market opportunities before they explode from Trends by The Hustle"; el.appendChild(checkbox); el.appendChild(label); checkbox.click(); } }) } window.addEventListener('DOMContentLoaded', (event) => { var funnel_email_cookie = getCookieValue('funnel_email'); if ( (true) && (funnel_email_cookie != null && funnel_email_cookie != '') ) { window.location.replace('/home'); } initForm(); if (true) { appendCheckboxes(); } }); </script> <div class="email-signup" id=main-signup-form> <div class="funnel-error" style="display:none;"></div> <form class="email-submission" action="https://cms.thehustle.co/api/v1/contacts/wordpress_create" method="post"> <input class="funnel-source hidden-input" type="hidden" name="source" value="daily"> <input class="funnel-campaign hidden-input" type="hidden" name="campaign" value="CHANGE ME"> <input class="funnel-medium hidden-input" type="hidden" name="medium"> <input class="funnel-referral hidden-input" type="hidden" name="referral_code"> <input class="funnel-fail-url hidden-input" type="hidden" name="fail_url" value=""> <input class="funnel-a hidden-input" type="hidden" name="a" value=""> <input class="funnel-c hidden-input" type="hidden" name="c" value=""> <input class="funnel-o hidden-input" type="hidden" name="o" value=""> <input class="funnel-oc hidden-input" type="hidden" name="oc" value=""> <input class="funnel-e hidden-input" type="hidden" name="e" value=""> <input class="funnel-f hidden-input" type="hidden" name="f" value=""> <input class="funnel-r hidden-input" type="hidden" name="r" value=""> <input class="funnel-t hidden-input" type="hidden" name="t" value=""> <input class="funnel-s1 hidden-input" type="hidden" name="s1" value=""> <input class="funnel-s2 hidden-input" type="hidden" name="s2" value=""> <input class="funnel-s3 hidden-input" type="hidden" name="s3" value=""> <input class="funnel-s4 hidden-input" type="hidden" name="s4" value=""> <input class="funnel-s5 hidden-input" type="hidden" name="s5" value=""> <input class="funnel-success-url hidden-input" type="hidden" name="success_url" value="https://thehustle.co/signup"> <input id="recaptcha-response-v3" class="g-recaptcha hidden-input" type="hidden" name="g-recaptcha-response" value=""> <input class="signup-email" type="email" name="email" placeholder="Your email address" required> <input class="email-submit" type="submit" value="Join Free"> <div class="trends-opt-in"></div> <div submit-success> <template type="amp-mustache"> <p class="c-message c-message--success">Thank you for subscribing.</p> </template> </div> <div submit-error> <template type="amp-mustache"> <p class="c-message c-message--failed">Your submission failed. Please try again!</p> </template> </div> </form> </div>