Center's Pivot & The Crystal Merchant
- I’m shutting down Center, the crypto devtools business I worked on for the last 4 years, and pivoting to something new.
- Infrastructure businesses make make sense in 1) a growing industry, 2) when you are closer to the transaction (charging basis points).
- We’re now pursuing better opportunities.
Here are some things I’ve learned so far:
The Crystal Merchant: Market an API business by making a consumer product
In The Alchemist, Santiago (the protagonist) meets a crystal merchant in the desert. His business wasn’t doing great and he decided to open a tea house, where tea was served in the same beautiful crystal. He eventually exceeded his sales quota.
This is how I think of “how to market an API product.” APIs are abstract and can be arcane to buyers. The way to sell an API is by showing it, the way to show it is by having a great consumer product.
This is how we got most of our customers: a consumer website called center.app. (TODO screenshots)
The Crystal Merchant: Write your story. Pursue your legend.
I used to think that was all there was to the story, but there’s more to it than that. Per Gemini:
In The Alchemist, the crystal merchant acts as a crucial foil to Santiago, representing a life stalled by fear and complacency.
While he takes in Santiago and helps him, he represents the danger of refusing to pursue one’s Personal Legend, choosing safety over his dream of a pilgrimage to Mecca.
The merchant represents the choice to be content with a monotonous life, highlighting the contrast with Santiago’s active, daring quest.
Why join the navy if you want to be a pirate?
0 xor 2 yachts: The Ideal Pricing Strategy
One time I was having a long pricing negotiation with one of our biggest customers. We couldn’t think of the “right” pricing strategy and the term “I want there to be 0 xor 2 yachts” – i.e if you win, I win. If you lose, there’s no risk to you.
(This is a reference to the famous book “where are the customer’s yachts” - I think it’s about the business of investing on behalf of clients, and the punchline is “your investment management business is doing so well that we’re on your yacht, but where are the customer’s yachts?”)
- low risk for the customer
- if/when the customer succeeds and “buys a yacht,” so do you because you’ve provided a lot of value to them.
Scaling, Linearity, Vending Machines
When a company announces “we grew our engineering headcount by 10%,” the company’s stock price does not go up 10%. Now imagine an x/y graph.
When people asked me “what kind of engineering team do you want to build” I’d answer with that x/y graph, where x = number of engineers, and y = velocity. We should be able to keep this up, to a certain point.
- X=number of engineers, Y=velocity
- X=capital invested, Y=revenue
It’s quite hard to do this, but I think it’s possible. A lot of this reflection is from an age before December 2025, so “well now AI” changes a lot of things.
Raad-only Data & Crypto Infra without taking bps on a transaction is not a great market
I used to think “you can’t outwork a shit market” was almost like a “oh yeah, i’ll show you” type of challenge, but I don’t think I’ll make that mistake again.
This is why it’s a mistake:
“I’m so smart that I can succeed in a shitty market” isn’t brazen. It’s a category error. It’s like saying “my eyes are so brown that I can run a four-minute mile.”
- You could be the smartest person in the world,
- if you spend your career solving the problem,
- sorry, you’re a dumbass for picking the wrong problem
- maybe “i’m the smartest person in the world” was your ego trying to be seen.
How to fly the plane or where to fly the plane
“I want to succeed by building readonly crypto devtools” isn’t enough degrees of freedom.
https://omarish.com/degrees-of-freedom
If customers scrape your data, you don’t have bad customers - you have a bad business model
That’s not a violation of the TOS. They are not “a bad person” for doing that. Your business model just sucks.
https://omarish.com/conviction-pyramid
We were working with a big decentralized exchange that was evaluating our NFT rendering API for a huge initiative they were close to launching.
Our point-person at that dex wanted “premium API trial” = unlimited, “let’s see how much traffic you can handle.” And of course, I wanted to show them “how great we were.” So I gave him an unmetered API key and it was Friday and that was that.
Around 10am on Sunday morning we were at an open house and our realtor was saying something and suddenly I got a bunch of alerts/pages. Some crazy amount of API requests were coming in.
It was said customer.
The guy didn’t even have the decency to throttle the API requests.
For a while I was upset, but I think that if you get mad at people for scraping your API, yes, it’s not nice for customers to do that, but what it really means is that you’re in a readonly data API business and that you should pivot.
You can solve the “please don’t scape our data API” problem using:
rate-limit.ts- Your terms of service
- Lawyers
- talking to the project founders on telegram
But these are all band-aids covering the fact that you are in a bad business. There are a lot of valuable business built on data but that does not mean that selling data alone is valuable.
Then they ghosted us. Of course it’s never just disappearing, getting ghosted by a big company sounds like an infinite loop of “oh we’re jammed and offloading this to Q7 planning” but three nice things:
- it was a good lesson about data businesses,
- despite them hitting our API with no rate limits, we autoscaled beautifully (<3 kubernetes)
- I put up their logo in our customers section. “[customer] integrated with Center so quickly that they completed a full integration before even signing the contract”
Your biggest customer never wants to know they are your biggest customer
Would you want to keep your money in a bank where you are the biggest depositor?
Don’t run from risk. Pick if you insure or self-insure.
Big thank you to Patrick Jabal on this one.
This was a really big lesson. When looking at risks I was afraid of, my first instinct was to cover my eyes.
But we’re always taking on risk, and it’s not a question of “can I face this risk” - it’s a matter of “do I want to insure or self-insure against this risk.”
How starting a startup is supposed to feel
It’s supposed to feel like the metrics are going up.
Infrastructure in Nascent Markets
The bullish metaphor people like to use is “selling pickaxes in front of a goldmine” and that sounds glamorous as long as the goldmine is working.
This part doesn’t sound that catchy and doesn’t rhyme but
- if your customer is a NFT collection, who’s upside is a zillion dollar NFT collection release, and their downside is we’ll just make another one
- and your upside is $2k/month in SaaS fees and your downside is their credit risk
It’s much better to find something where you charge even just a tiny amount on volume.
Next.js and the surrounding ecosystem
I don’t know why but I never used rails or django during this company. The technical road was windy. It started with a fastapi server and ended with a huge monorepo.
You know what – there’s one thing I wanted to flag. I don’t know if I’m sharing this in a “oh look at how cool my scars look” sort of way, but I’ll just say this.
If it’s 3:30pm on Sunday and you’re in your office debugging some issue issue related to next.js auth, the issue isn’t actually next.js auth. It could be a lot of other things. I just have this memory of missing a lot of weekends with my (then) two-year-old daughter. I missed a lot of her life because 1) I worked too long on the wrong problems, and 2) I used next.js for a while.
Velocity Matters
Always be shipping.
Be nice to yourself. No honor in succeeding without the right tools.
Things started to stop get bad one afternoon when I was pretty fed up and exhausted and went to home depot and bought a spool of ethernet cable, a crimp, and just crimped my own ethernet cables. I don’t know exactly why this was the day, but I remember it vividly.
Don’t optimize for not failing
We’re technically profitable right now in that I was very conservative with our runway. So we’re profitable, but venture investors do not take risk so they can get a 4% return and a “slightly profitable” company. Your job is to take outsized risks.
Think of it this way: if investors wanted a certain 8% annualized rate of return, they would have invested in VTI.
Responsibility and Trust
If you’re going to be the one responsible for when things don’t go to plan, then you have to give yourself the tools needed and you have to trust your instinct while you’re trying to build the thing.
if you’re going to be accountable if things don’t go well, then you have to give yourself the grace and trust yourself enough to make decisions that might sound crazy.
“Good problems”
For a while there were a couple of risks to the company that I’d classify under “if that were to happen it would be a good problem.”
One of those was a cloud storage bucket called center-thumbnails-prod and it did exactly what you think it did. Eventually it grew to be 0.5 PB and needless to say that got expensive and difficult.
https://omarish.com/the-way-to-do-the-thing
The way to do the thing is to do the thing.
Building Moats on Open Source Data
I was tempted to write “you can’t build a moat on open source data” but I don’t really care to make that statement. Rather, “I couldn’t build a moat on open source data.”
A couple ways to work around this: so let’s say you’re pitching your product, “we’ll aggregate all the data from all the EVM blockchains”
That alone isn’t a defensible moat. But, there’s interesting opportunity when you have the capability to gather all open source data, without thinking about it. Like, assume you had infinite structured access to an entire data set, now what’s something cool you can try and build in a weekend?
Get a -local.com domain
Eventually you’ll run into some issue with copy-to-clipboard and it’s a lot of mental overhead for your engineering team to remember what runs on localhost:8000 versus 8080 versus 80801 etc and your envvars will blow up.
Just get <yourcompany>-local.com, point it to 127.0.0.1, run nginx and your own trusted cert authority if you need to. It’ll take a few minutes or a few thousand tokens or whatever, but every future engineer will thank you when they can test the OAuth flow on their localhost.
If the story suddenly stops sounding right
4 years went by in an instant. I’m 37 now.
If something stops feeling right, stop digging for a minute and take a break. Take a few days. You’ll figure the right answer, you might already know it.
Now, back to work.