It’s a grim moment for the opening of this year’s NFT.NYC.
Amy Castor, June 21, 2022
The fourth annual NFT.NYC conference kicked off today with 1,500 speakers putting their shiny new NFT collectibles up for display. 
The speakers are going on stage at a time when crypto markets are crashing hard—Bitcoin and Ether have both lost more than 70 percent of their value since November. Media headlines are filled with stories of crypto firms unraveling. The NFT market is also feeling the pain. All told, it’s a grim time to be peddling NFTs. New NFT projects aren’t seeing anywhere near the momentum they did a year—or even a few months—ago. 
Japanese artist Takashi Murakami recently apologized to his fans on Twitter after the prices of his flower NFTs, released in May, took a nosedive.  
Francis Kim, an Australian-based entrepreneur behind the NFT project AI-Zuki, is experiencing similar struggles. “I launched my collection like two days ago. I’ve not seen my millions yet,” he half-jokingly told Artnet News. “Bad timing maybe.” 
He spent $5,000 to generate his digital art collection and the return so far has been zero. Kim, who made news earlier this year after losing an eye-watering amount of money on crypto margin trades, is not attending NFT.NYC because of the travel costs.
“I feel like a victim in every story,” he said.  
It is difficult to get a clear picture of precisely what is going on in the NFT market since most of the data on trades comes from the NFT marketplaces themselves. The three main gauges of market performance include platform volume, floor prices on blue-chip NFT projects, and market sentiment—none of which look good right now.  
NFT.NYC 2022. Photo by Ben Davis.
Although OpenSea still holds the position of being the busiest NFT marketplace, its average selling price, the number of traders, and sales volume are all down. On May 20, the platform had a daily trade volume of $43 million; on Tuesday, daily trades were less than half of that—17 million.
Coinbase spent $600 million on its new NFT marketplace, which was supposed to inject the ailing crypto exchange with new growth, but it hasn’t taken off as planned. After attracting $75,000 in trading volume when it swung open its doors to the public on May 4, activity has dwindled, with a volume of just $19,000 on June 20, according to Dune. Recently, the firm said it would cut a fifth of its staff amid the market downturn. 
So-called “blue-chip” NFT collections are also troubled. Bored Ape Yacht Club, one of the most popular ethereum NFT projects, with more than $2.2 billion worth of trading volume to date, has seen a drop off amid the market upset. The cheapest available Bored Ape NFT is down more than 13 percent over the past 30 days, at a current price of 80 ETH ($91,000), per NFT Floor Price.  
ApeCoin, the token of the Bored Ape Yacht Club ecosystem and its future Otherside game, has lost 85 percent of its value. After reaching a high of $27.57 on April 28, right before the Bored Ape Yacht Club launched its Otherside land sale, it’s now trading at a dismal $4.48, according to CoinGecko. 
Similarly, CryptoPunks hasn’t been immune to the crash. Its floor price is 67 ETH ($76,000), down 33 percent in the last 30 days, according to NFT Floor Price. And, Meebits, which was launched in 2021 by Larva Labs, the same firm that created CryptoPunks, is down 5 percent in the last 30 days, at a floor price of 4.8 ETH ($5,472). 
All three of these “decentralized” collections, representing the top NFT collectibles, are now overseen by Yuga Labs. 
Market sentiment is dropping as the voices of NFT critics grow louder in the bear market. Microsoft co-founder Bill Gates said the other day that NFTs are “100 percent based on greater fool theory,” and then added, sarcastically, “Obviously, expensive digital images of monkeys are going to improve the world immensely,”
Adam McBride, who documents the early history of NFTs, keeps a long-term perspective in mind as the wider cryptocurrency market crashes hard. “I’ve said since the middle of last year we would come to an ‘NFTs are BS’ moment at some time during a bear market,” he told Artnet News. “Who knows how low we can go. But I definitely have a number where I’m going to buy a couple of CryptoPunks.”
Meanwhile, people who bought at the top aren’t faring well. Someone who purchased a Bored Ape in early May is down by 70 to 80 percent in dollar terms, said Kim. “NFT.NYC is probably gonna be a huge cry fest.”

By Sarah Cascone, 15 hours ago
By Olive Allen, 16 hours ago
©2022 Artnet Worldwide Corporation. All Rights Reserved.var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0),
h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0),
pagetype = document.querySelector(‘meta[property=”og:type”]’).getAttribute(“content”),
pagetypeurl = document.URL,
pagetypeforce = pagetypeurl.substr(pagetypeurl.length – 3);
isnewsletter = pagetypeurl.includes(“?page_1”);
w = pagetype + 20 * Math.round(w / 20), h = pagetype + 20 * Math.round(h / 20), googletag.cmd.push(function() {
googletag.pubads().setTargeting(“width”, w), googletag.pubads().setTargeting(“height”, h), 1 == isnewsletter && googletag.pubads().setTargeting(“isfirstpage”, [‘Y’, pagetypeforce] )
(function defernl() {
if (window.jQuery) {
if (jQuery(window).width() > 619) {
setTimeout(function() {

var cookieSettings = {
recentlyShown: {
expiration_minutes: 5
signedUp: {
expiration_days: 14
closedSignupBar: {
expiration_days: 5

var generalSettings = {
loadFontAwesome: false

if (!window.jQuery) loadJQuery();
var $ = window.jQuery;

function addCss(fileName) {
var head = document.head
, link = document.createElement(‘link’);

link.type = ‘text/css’;
link.rel = ‘stylesheet’;
link.href = fileName;


function appendNewsletterSignup() {
var signup =

+ ‘



var paywallPagesRegex = /^/subscribe|subscribe-confirm|my-account(/|$)/;

function initNewsletterSignup() {
// don’t show it on paywall-related pages where the user might be in the process
// of subscribing, or managing their account
if (paywallPagesRegex.test(window.location.pathname)) {

// Append ouibounce to page
var ouibounceScript = ”;

// Add animation css

if (generalSettings.loadFontAwesome) {

// Check if ouibounce exist before calling ouibounce
var initOuibounce = setInterval(function() {
if (typeof ouibounce !== ‘undefined’) {

var $modal = $(‘#ouibounce-modal’);
SignupForm.init($modal.find(‘form’), function onSuccess() {
//hide form fields and show thank-you message

setNewsletterCookie(‘signedUp’, 1);

//after successful signup, hide the signup bar after 5 seconds
setTimeout(function() {
}, 5000);

// Handler for close signup button
$(‘body’).on( ‘click’, ‘.close-signup’, function(){
setNewsletterCookie(‘closedSignupBar’, 1);

ouibounceAPIaccess = ouibounce(
$modal[0], {
aggressive: true,
sensitivity: 50,
callback: function() {

}, 100);

function slideInModal(upOrDown) {
.removeClass(‘slideOutDown slideOutUp’)
.addClass( ‘slideIn’ + upOrDown );

setNewsletterCookie(‘recentlyShown’, 1);

function setNewsletterCookie(cookieName, value) {
var settings = cookieSettings[cookieName];
var expirationMinutes = settings.expiration_minutes;
if (!expirationMinutes) {
expirationMinutes = daysToMinutes(settings.expiration_days);
setCookie(cookieName, value, expirationMinutes);

function daysToMinutes(numDays) {
return numDays * 24 * 60;

* Generic setCookie() method, used by setNewsletterCookie().
* There is probably no need to call this directly – use setNewsletterCookie().
function setCookie(cname, cvalue, expMinutes, prefix) {
//default prefix is ‘artnet_newsletter_’
if (prefix == undefined) {
prefix = ‘artnet_newsletter_’;
var d = new Date();
d.setTime(d.getTime() + (expMinutes*60*1000));
var expires = “expires=”+d.toUTCString();

//console.log(prefix + cname + “=” + cvalue + “;” + expires + “;path=/”);
document.cookie = prefix + cname + “=” + cvalue + “;” + expires + “;path=/”;

function getCookie(cname, prefix) {
//default prefix is ‘artnet_newsletter_’
if (prefix == undefined) {
prefix = ‘artnet_newsletter_’;
var name = prefix + cname + “=”;
var ca = document.cookie.split(‘;’);
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') {
c = c.substring(1);
if (c.indexOf(name) == 0) {
return c.substring(name.length,c.length);
return "";

function closeSignupBar() {
var $modal = $('#ouibounce-modal');
$modal.addClass( $modal.hasClass('slideInUp') ? 'slideOutDown': 'slideOutUp' );

function loadJQuery() {
var script = document.createElement('script');
script.src = "";
script.integrity = "sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=";
script.crossorigin = "anonymous";

function checkCookies() {
//if any of these cookies are found, we don't show the modal.
var cookieNames = ['recentlyShown', 'signedUp', 'closedSignupBar','signup_cookie'];
var i = cookieNames.length,
found = false;
while (i–) {
if (getCookie(cookieNames[i]).length) {
found = true;

if (!found) {

var SignupForm = {
regex: {
email: /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/

// Init – Anything you want to happen onLoad (usually event bindings)
// ——————————————————————-
init: function (formElement, onSuccess) {
var ctx = this;
if (!onSuccess) {
throw Error('onSuccess callback is required');

var $form = $(formElement);

var $email = $form.find('.signup-email');
var valid = ctx.validate( $form, $email);
// Hide the errors
// Submit the form
ctx.submit($form, onSuccess);
} else {
// Focus on the email input box
// Show email validation error and hide other errors

// ===================================================================

// Signup validation
// ——————————————————————-
validate: function( $form, $email ){
var ctx = this;
// Does the email match our regex?
return $email.val() );

// Signup submission
// ——————————————————————-
submit: function($form, onSuccess) {
var ctx = this;
type: $form.attr('method'),
url: $form.attr('action'),
data: JSON.stringify( $form.serializeFormJSON() ),
// dataType: 'json',
contentType: 'application/json; charset=UTF-8',
crossDomain: true,
timeout: 10000
.done(function(data, textStatus, jqXHR) {
.fail(function(jqXHR, textStatus){
// Show signup failure error and hide other errors

// Extends jQuery with a function to serialize to JSON
// ——————————————————————-
customSerializer: function(){
$.fn.serializeFormJSON = function () {
var o = {};
var a = this.serializeArray();
$.each(a, function () {
if (o[]) {
if (!o[].push) {
o[] = [o[]];
o[].push(this.value || '');
} else {
o[] = this.value || '';
return o;

//show automatically after delay
var $modal = $('#ouibounce-modal');
//if there are cookies indicating that we shouldn't show the signup bar, then the modal won't have been added to the page
//and we can just return here.
if (!$modal.length) {
//don't run this function if the user has already triggered the modal by leaving the viewport
if ($modal.hasClass('slideInDown')) return;

//position at bottom of screen
top: 'auto',
bottom: 0


},20000); //20 seconds

$(function() {

}, 7500);
} else {
setTimeout(function() { defernl() }, 250);

artnet and our partners use cookies to provide features on our sites and applications to improve your online experience, including for analysis of site usage, traffic measurement, and for advertising and content management. See our Privacy Policy for more information about cookies. By continuing to use our sites and applications, you agree to our use of cookies.