Roadblock and strategy change

Scalp Empire
ScalpEmpire
6 min readApr 9, 2023

--

Unfortunately our plan to expand into Polygon and Ethereum has hit the great wall of centralisation, so focus is back on Solana and possibly other emerging chains.

Status of NFTs on EVM chains

In the past week since we made the initial announcement we learned about ERC721 and ERC1155 contracts, started indexing collections, looked for a way to properly organise our presale, and started processing on-chain activity by finding and parsing relevant transactions. And this is where we hit our roadblock.

Most marketplaces use the open source Seaport contract developed by OpenSea. This is great as source code allows developers easier access to understanding the inner workings of the contract, contribute with fixes/improvements and easily integrate it in their apps. But of course, it all comes with a “catch”, all too-good-to-be-true offers do, right ?

In order to optimise gas costs on Ethereum, orders (in simple terms listings) are NOT published on-chain. Only completed transactions (sales) are. This means that in order to obtain the listings (past and in realtime) we’d have to always rely on marketplaces APIs, which you need to get access to (if they even decide to give you access). This is the same type of web2 centralisation issue we’ve seen on Solana with MagicEden where competing aggregators like Hyperspace and Tensor were denied access to the buy transactions that require co-signature.

For the tech curious ones, there’s a more detailed explanation at the end.

Without access to independent on-chain realtime listings there is no point in building Scalp Empire on EVM. Besides, competition is already there offering the same services for free (for now at least) and we can’t compete with them:

OpenSea just launched their Pro version which is exactly what Scalp Empire planned to offer. There is no way we can compete with a multi-million dollar corporation offering the same services for free.

Dew.gg is also a (surprisingly very) similar platform currently in BETA, ask in discord for invite links if you want to give it a try, which you should.

It’s really sad and personally depressing as things were going so well in terms of development but unfortunately it is what it is. We are too small to afford this uphill battle so it’s best to focus on improving our existing offer.

So what’s next for Scalp Empire ?

We’re gonna focus improving our Solana app and also keep an eye out for other emerging chains (such as SUI). Besides bug fixes and improvements that we continue to do daily, here are a few things to look forward to in the coming weeks:

Faster activity detection

We are in contact with a couple of RPC providers to find a cost effective solution to streaming on-chain activity instead of us having to query for the changes like we do now. This should greatly improve the sniping success ratio since listings are detected faster.

Portfolio improvements

Lots of you have asked about multiple wallet support and activity history in the portfolio section so this is what we’re going to build next. We are also working on PnL tracking over time.

Collection offers tracking

Single sided buy only pools (aka collection offers) are increasing in popularity and tracking them should give better visibility on the gap between the floor price and offer price creating more trade opportunities.

Offline auto-buy

Last but not least, many of you asked for the possibility to run your auto-buy orders while your PC is off. This has several advantages as auto-buy tasks would run in the cloud and no longer depend on your internet connection, PC, location in the world, which means success rate will also improve.

But there’s also the caveat of entrusting your funds to an app that can potentially misbehave due to bugs and other unforeseen events. We are treating this with a lot of attention from both a security and an operational point of view and looking to build as many failsafes as needed in order to minimise the risks for you and your assets.

This is for the tech savvy people, I know there are few of you that like to enrich their knowledge about the inner workings of blockchain apps. Still, I’m trying to simplify things for the sake of easier understanding of the bigger picture.

How does Seaport actually work ?

When you list an item with Seaport, you create and sign an order, which represents the tokens that are exchanged and extra conditions that have to be met in order for the Seaport contract to execute (fulfil) the offer of items.

In its simple terms, an order has 4 main components:
- What you want to offer (sell)
- What you want to receive in return (price)
- Extra conditions (like attributes for for example)
- Approval to the Seaport contract to manage the items you offer so it can later fulfil the order.

You can offer or ask to receive any kind of tokens, so an order can work both as a sell order and buy order (think collection offers).

The offer itself and approval transactions are not sent on-chain, but kept on the marketplace side for when someone decides to accept your offer. Then, the fulfilment functions of the contract are called using the previously signed data.

Example 1 (listing):
- You offer your DeGod #1234
- You want 10 wETH for it
- Approve Seaport to transfer your DeGod #1234

Example 2 (collection offer):
- You offer 5 wETH
- You want to get a DeGod
- You want your DeGod to have background:Heaven
- Approve Seaport to spend 5 wETH

So the Seaport program in itself allows for a lot of flexibility (and this is just scratching the surface of what it can do) but there are also some caveats:

  • You can very well create an order, forget about it, even move the assets out of the original wallet, but that order will still be valid (since the data was already signed). As soon as assets are back in the original wallet, the offer can still be fulfilled. This has happened a lot in the past on Ethereum and people sold underpriced NFTs because they transferred or staked them and as soon as they were back in the wallet ... poof, gone.
  • Orders contain signatures that allow the Seaport program to spend/send your items (NFTs, tokens). Altho highly unlikely since Seaport is very mature, there is always the risk of a bug allowing an attacker to bypass the restrictions inside the contract to fulfil a broken order.
  • Last but not least, centralisation is the antithesis of web3. Big corporations want to protect their dominant position by restricting and controlling access to crucial data that should be publicly available (such as listings in case of OpenSea and requiring co-signed transactions in case of MagicEden purchases). Why ? Because corporations are greedy and don’t want aggregators becoming marketplaces and cutting into their 2% fees.

To me personally, now that I know more about the inner workings, NFTs on EVM chains are just a hack, a workaround built to represent an asset class that the chain was not designed for. And the main issue comes from the slow TPS (Transactions Per Second) of the chain itself leading to high cost of transactions. So workarounds were needed, which solve the transaction cost issues off-chain. L2 side-chains (like Polygon) try to solve this issue, but make for a bad user experience since their interface layer is exactly the same as the L1 they try to scale.

With enough time and effort you could build a race car out of a tractor, but is it really what you want to do ?

Solana, Aptos, SUI and other chains try to solve this issue by either lowering transaction and on-chain data storage costs or by offering NFT asset class as a built in paradigm. While not perfect, it does not require developers months/years to specialise in operating such assets on the respective chain and make for a smoother high volume trading experience.

--

--