A Platform for Web3 Bots
The decentralized web is inexhaustibly and unrelentingly connected. It was designed to provide an open architecture to build the next iteration of the internet, one that was more permanent, more accessible, and less discriminatory to its users. It has no concept of nationality, race, ethnicity, sex, class, gender, age, or political correctness. Hell, it has no concept of a “bedtime”.
At the core of this hyper-connected, decentralized new world are high-value full-stack applications, which use smart contracts at their core to enact self-executing rules and policies that guide complex economic decision-making outside of the blockchain’s sand-boxed execution environment. But smart contracts aren’t where we live. We live in the real world, and in the real world, we want things like nice interfaces that display up-to-date, relevant information. We want reliable automation for tasks we don’t have the time to watch or handle. We want to build rich, sophisticated applications leveraging these policies at the core to drive an entire ecosystem of economic behaviors.
We want to build great products.
Supporting Great Products
We recently launched cHaOSneT, our testnet-as-a-service (with a twist):
https://mirror.xyz/apeworx.eth/mIKYEt54RgNs7R12Np1vEyp8z5HuBKBdCjCWqrnNfe8
As with all great products, we needed great infrastructure to support it. This infrastructure would need to be robust in times of stress, safe from exogenous and indigenous security threats, and have a set of finely crafted rules that it would follow when you’re not there to guide it out of harm’s way.
Silverback is a fundamental part of what makes this product great, because it allows us to support deployments of large amounts of automated behavior which makes our chaosnets feel just like the real mainnet environment. It allows us to quickly and easily provision, monitor, and manage our deployments so we spend less time on maintenance and more time delivering new and innovative bots that automate the types of behavior our users want to see.
Without Silverback, we wouldn’t be able to scale up cHaOSneT to a world-class product. But what are the specific things it solves to make our engineers’ lives easier?
Reliable and Robust Infrastructure
We aren’t all experts at infrastructure management or operations. Most of us want something that Just Works and don’t want to think about what’s running underneath. Containers? Message queues? Archive nodes? Websockets? I just want to write a simple script!
Here’s a Silverback bot that handles $USDC Transfer
events:
from ape_tokens import tokens from silverback import SilverBackApp app = SilverBackApp() USDC = tokens["USDC"] @app.on_(USDC.Transfer) def exec_event1(log): # Do something with `log.amount` ...
How simple is that? There’s no worrying about what node we’re running on, if we’re about to run out of API credits soon, what happens if we have an error in our code sometimes? It. Just. Works.
Safe and Secure Private Keys
The secret to operating anything important at scale is to protect yourself from… yourself. Nowhere else in Crypto is this any more evident than private key management. You cannot go a single week without learning about how someone got hacked and lost their private key. Basically, it’s not something you want to fuck up.
Thanks to Ape’s extensible plugin architecture, we can provide a seamless experience for your bots using managed key infrastructure that’s way more solid and battle-tested than what most people would develop themselves. It also allows us to support many more advanced types of managed key services, that will be released alongside the full Silverback platform release. You no longer have to worry about your private keys leaking as these secrets will be encrypted at rest, and only accessible via dedicated account plugins that the platform provides.
And besides that, we’ve made it so damn easy to use:
from ape import chain, project from silverback import SilverBackApp app = SilverBackApp() @app.on_(chain.blocks) def exec_event1(block): # Deploy a `Token` contract every 1,000th block if block.number % 1000 == 0: app.signer.deploy(project.Token)
That was a major goal with the product, to make it as easy as possible to do the safe thing well, so it can be a product you can trust with 5, 6, 7 figures… or more.
Event- and Policy-Driven Risk Management
It can be really stressful to trust so much with a robot. But what choice do you have? You have to sleep sometime, and the chain never sleeps. Thankfully, Silverback’s risk management engine is there for you.
Perhaps the most important thing when creating truly trustworthy automation is that you can trust it to follow the guardrails you give it when things don’t go the way you want them to. Silverback bots will generate a set of metrics that can be externally monitored for deviations which should trigger a shutdown of your bot, as well as let you define your own programmatic logic which should stop processing immediately and trigger your shutdown procedures:
from ape import chain from ape_tokens import tokens from silverback import SilverBackApp app = SilverBackApp() USDC = tokens["USDC"] INITIAL_BALANCE = USDC.balanceOf(app.signer) @app.on_(chain.blocks) def exec_event1(block): ... if USDC.balanceOf(app.signer) < INITIAL_BALANCE: # Trigger a shutdown, and raise an alarm raise CircuitBreaker("We've lost too much money!")
Also, through the Silverback platform’s metrics and logging features, you will be able to monitor the performance of your bot in order to identify longer-term trends like gas usage, transaction failure rate, and more.
Where Is Silverback Today?
You might be thinking “This all sounds great, how can I sign up?” and unfortunately we are only at the beginning stages of this journey. Silverback is a very innovative platform, and cHaOSneT is the first large-scale use of that platform, so we are still finding a ton of things about how it works and what types of features it will need to be most useful for production use cases. Thankfully, chaosnets are a fairly low-risk way for us to identify any problems with this architecture in the short term, and will ironically be a great test bed for back-testing your own production bots before they’re ready for prime-time on mainnet.
However, that’s not to say we don’t have something for you today. Our community was extremely excited to learn more about how they can build their own bots, so we wanted to speed up the timeline of releasing our open source bot-building library and SDK for the Silverback platform. You can check it out here:
https://github.com/ApeWorX/silverback
You can use the library today for building a bot and run it using silverback run
against any network, yes even production (you degen you). But to take advantage of the full power of the Silverback platform, you will have to wait a few more months until we release more details on the design and features that the platform will launch with.
For now… good luck and good hunting.
- ApeWorX
For the latest on all things Ape follow us on: apeworx.io | Discord | Twitter | Bluesky
![highlight](/api/highlight?text=Introducing%20Silverback&author=ApeWorX%20LTD&url=%40apeworx&avatarUrl=https%3A%2F%2Fstorage.googleapis.com%2Fpapyrus_images%2Fd936b0f50f075bd29e32274b2a6a475f.jpg&featuredImageUrl=&size=512)
![ApeWorX LTD logo](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fpapyrus_images%2Fd936b0f50f075bd29e32274b2a6a475f.jpg&w=384&q=75)