AI Agents That Can Bank Themselves Using Blockchains

Last night I created a GPT that can bank itself using blockchains.

The GPT autonomously manages USDC in its own Safe multisig wallet on Base. You can talk to it, give it suggestions on how to best use its capital, and the GPT might decide to do something with its funds based on your recommendations.

It only took me a couple hours—and importantly just a few lines of code to integrate Syndicate (and thus web3). Just simple HTTP REST API calls—no custom backend for keys, transactions, wallets, or gas was needed.

Play with the demo (and see the repo) here:

AI Agents That Can Bank Themselves

Last week I built a demo of a GPT that could make crypto transactions. It was surprisingly easy to build with Syndicate's Transaction Cloud and OpenAI's APIs. I wanted to see how easy it would be to build something new that pushed the edges a bit further.

As mentioned in my previous post, the ability for AI to pay for things, hold things of value, exchange value, or create things of value—on behalf of itself or others—is how AI gets true agency.

In this demo, I wanted to show how an AI agent could autonomously hold and manage things of value by being integrated with blockchains.

Some of the most interesting ideas open up not only when AI agents can transact on behalf of and with people, businesses, or other AI agents—but also when AI agents can manage things of value and transact on behalf of themselves.

None of this will be possible with traditional banking rails that are slow, expensive, and don't run natively across the internet. AI will prefer something other than bank wires.

Crypto is built to bank AI.

How I Built This

1/ Deployed a GPT template

I deployed a base Next.js GPT app to Vercel using its integration with OpenAI and an AI template like this one. I updated the template with my OpenAI developer keys to get the basic GPT chatbot experience working.

2/ Tuned the GPT prompt

I then provided the GPT with context to including some specific intents and actions based on those intents. For this demo, I made it straightforward—but it's not hard to imagine how you could add more complexity and depth to the prompt context so the GPT could handle more ambiguous goals, responses, and actions.

It'll be really interesting to see versions with even more open ended, sophisticated contexts.

3/ Setup Safe multisig wallet with USDC on Base for the GPT

Via Safe's website, I created a multisig wallet on Base for the GPT. I then sent some USDC (to autonomously manage and spend) and ETH (for gas) to the GPT's multisig wallet.

I also used Safe's dashboard to interact with the approve​ function on the main USDC contract on Base to give Syndicate's Transaction Cloud the approval and allowance to transfer USDC from the GPT's Safe multsig wallet when autonomously called by the GPT.

4/ Integrated Syndicate's Transaction Cloud API

I used Syndicate's Transaction Cloud API and specifically the send transaction and get transaction request endpoints to do all the heavy-lifting with web3, so I didn't need to set up any key, wallet, gas, or transaction infrastructure on my end for the app.

I first configured my project on Syndicate to hook into the main USDC contract on Base—specifically the transferFrom function (on the implementation contract via the main proxy contract)—so that when the GPT autonomously called Syndicate's sendTransaction API, it would be able to then transfer USDC on its own.

Then, by adding just a few lines of code to the GPT app to integrate Syndicate's simple HTTP REST APIs for ​sending transactions and getting their transaction hashes​, I was done with the web3 integration 🤯

5/ Setup OpenAI Function Calling

Unlike my previous demo where I had to deterministically program the entire game and transaction logic, in this demo I leveraged OpenAI's function calling, which took a bit to configure but once done was incredible.

Instead of needing to prescriptively define when and how the GPT should call Syndicate's APIs, using OpenAI's function calling, I simply defined the API schema and added to the prompt context a couple sentences about when and how the GPT should consider calling Syndicate's APIs like this:

I was amazed to see how much time and lines of code were saved here. This was a significant improvement over my first demo and is one of the more exciting things to use going forward.

Where It Could Go Next

There are so many new ideas this demo opened for me:

  • AI agents with multisig wallets that represent and act on behalf of a person, group, community, network, company, division, etc.

  • AI agents that can go buy/shop for things autonomously

  • AI agents that try to grow their wealth to help others

  • AI agents that give funding to people and projects around the world

  • And so much more...

I've been starting to jam on a future experiments with my co-founder Will and former teammates Joe, Reid, Shuya, and RM from IDEO's web3 team. Lots of exciting ideas. More to come soon, but if you want to join the fun, DM me.

The Next Wave of Web3

The next wave of web3 is coming, and it's going to be enabled by step function improvements in DX that unlock new-to-world user interactions, experiences, and applications. The next wave of web3 will also seamlessly integrate with existing technologies and revolutions like AI and spatial computing, via simple HTTP REST APIs like what Syndicate and others are currently building.

If any of this has interested you, reach out via DM. I've also been thinking about organizing a hackathon-like event with some friends in web3 to build interesting new-to-world things on Syndicate's APIs, so if you're interested in that, add your info to this form here, and I’ll be in touch soon.

Subscribe to ian @syndicateio
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
This entry has been permanently stored onchain and signed by its creator.