Treasure reduces subgraph sync times by 50%
2 Days
Resync time v.s. 4-7 days with The Graph80%
Reduction in data lag0
Time to reveal in-game assetsThis case study was originally published by Satsuma. Satsuma was acquired by Alchemy in September, 2023. Satsuma's subgraph solution is now Alchemy Subgraphs.
Summary: Blockchain Gaming Case Study
Customer: Treasure is a decentralized gaming ecosystem on Arbitrum connected through the MAGIC token and composable NFTs.
Problem: Treasure developers were seeing slow and uncertain syncing times, as well as frequent data lag.
Solution: Switching to Satsuma cut Treasure's indexing times from 4-7 days down to 2 days, and reduced data lag by 80%.
Impact: Treasure developers waste less time waiting for indexing, ship features faster, and users experience faster website load times.
Discord communications between Treasure engineers and their players.
This case study is an interview with rappzula, a Full-stack Engineer at Treasure.
Can you give me a brief overview of what Treasure does?
Treasure is a decentralized gaming ecosystem with a community of builders creating games on the Arbitrum blockchain connected through the MAGIC token and composable NFTs.
What is your role at Treasure?
I’m a full-stack engineer, focusing mainly on front-end and subgraph development.
What are your near-term priorities? What products are you building right now?
Last year we released an automated market maker for our ecosystem tokens called MagicSwap, and we’re currently focused on building it up to support NFT pools. A lot more on this effort can be found on our blog.
What were the problems you were facing before Satsuma?
We faced a ton of uncertainty around our subgraphs, particularly around syncing times - both full resyncs and just keeping up with the block head. Some of our subgraphs would take 4-7 days to fully resync, and it was a bit of a dice roll to know whether or not it was going to take even longer.
How did those problems impact Treasure?
For us, uncertainty around subgraph syncing times meant uncertainty about feature development and releases. If you are working on a new feature and you don’t know how many days it will take to resync your data source, it’s difficult to estimate release dates and be able to promise features to the community.
This also meant we’d often cut corners or implement hacky solutions to avoid the need for full resyncs, and in the end we would not be delivering the exact product we wanted to build.
Why didn’t other subgraph solutions work for Treasure?
We wanted to stick to the subgraph technology for a few reasons, including its open source nature and its strict adherence to on-chain event processing. Many of our current products are built with subgraph-powered backends and switching to a new technology or homegrown APIs would have required too much developer resources focused on somewhat tedious tasks, instead of allowing us to keep working on what we love.
Why did you choose to switch to Satsuma?
1. Ease of transition
Satsuma works out-of-the-box with the dozens of subgraphs we had already built, and after going through a trial period, we saw that no development work would be required to rebuild them.
2. Managed service
We did not want to be in the business of running graph nodes and keeping developers on-call to troubleshoot and fix issues when downtime occurs. Satsuma’s managed service allows us to not worry about these details, and continue to focus on building our products.
3. The team
Jonathan, Dan and team have been a pleasure to work with not just as a vendor, but as technology partners as well. They are always accessible and willing to help us with whatever questions we throw at them.
How has using Satsuma impacted Treasure?
We have spent a lot less time waiting for subgraphs to sync, debugging issues, and troubleshooting downtime, which means we’ve been able to spend more time building our products.
That alone is a huge win for us as developers, and the positive reviews from our community noticing faster sync times and snappier products is just an added bonus!
We’re also pleased to have Dan and Jonathan as technology partners as we all collectively try to keep improving and build the most performant blockchain indexers.
What is your favorite feature on Satsuma?
The metrics and performance insights are a couple of my favorite features on Satsuma because they really help us figure out where there are bottlenecks in our syncing processes, and I just see a lot of potential with these features being able to continue evolve and make sure that we’re building the most performant services possible.
Related products
Speedy indexing for custom GraphQL APIs
Ship faster with a custom API for your onchain data. Never worry about subgraph downtime or lag again.
Code preview
cd <SUBGRAPH_DIRECTORY>
graph deploy <SUBGRAPH_NAME> \
--version-label <VERSION_NAME> \
--node https://subgraphs.alchemy.com/api/subgraphs/deploy \
--deploy-key <DEPLOY_KEY>
--ipfs https://ipfs.satsuma.xyz
Instant L1 interoperability
Scale your decentralized applications at low costs on Arbitrum using Alchemy’s leading blockchain developer platform.
Code preview
const { Network, Alchemy } = require("alchemy-sdk");
// Optional Config object, but defaults to demo api-key and eth-mainnet.
const settings = {
apiKey: "demo", // Replace with your Alchemy API Key.
network: Network.ARB_MAINNET, // Replace with your network.
};
const alchemy = new Alchemy(settings);
async function main() {
const latestBlock = await alchemy.core.getBlockNumber();
console.log("The latest block number is", latestBlock);
}
main();
Web3 gaming made easy
Build games faster and onboard more players with your gaming toolbox.