# Ayo Osunjuyigbe > Ayo Osunjuyigbe is a technology executive and engineer based in London. He has spent more than a decade building products across blockchain, fintech, and AI — from layer-1 chains and token launchpads to non-custodial trading platforms and AI-native tools. CTO experience leading teams of up to eight, shipping decentralised trading, DeFi infrastructure, and consumer apps at scale. Ayo Osunjuyigbe is a Technology Executive & Engineer based in London, United Kingdom. He writes about product, engineering, AI, Web3, DeFi, and system design from hands-on CTO experience building layer-1 blockchains, token launchpads, non-custodial trading platforms, and AI-native tools. ## About - Name: Ayo Osunjuyigbe - Role: Technology Executive & Engineer - Location: London, United Kingdom - Email: hi@exxayo.com - LinkedIn: https://www.linkedin.com/in/ayo-osunjuyigbe/ - GitHub: https://github.com/ExxAyo - Expertise: AI, generative AI, MCP, Web3, blockchain, DeFi, Ethereum, non-custodial trading, system design, product engineering, fintech, distributed systems, smart contracts ## Writings - [The roadmap was a list of promises, not a plan](https://exxayo.com/w/the-roadmap-was-a-list-of-promises): A team of eight cannot ship seven trading surfaces. I treated the roadmap as a way to keep everyone happy. Then I cut it so something could launch. - [Binance has an official MCP now. Do not use the one with your API key in mcp.json.](https://exxayo.com/w/binance-mcp-is-a-subaccount): Binance shipped a first-party MCP. A dedicated subaccount is the product. The unofficial server with your API secret is the wrong object. - [A2A is for talking to other agents, not for calling Stripe](https://exxayo.com/w/a2a-is-not-a-tool-call): You do not need A2A to call Stripe. You need it when two agents do not share a prompt. - [They asked if we were using AI. They wanted it on the slide.](https://exxayo.com/w/they-asked-if-we-were-using-ai): The room did not want an architecture. They wanted the word on the deck, because that is what makes a company look investable. I almost added a chat box to a path that already worked. - [MCP Apps draw forms inside your chat. Confirm before you submit.](https://exxayo.com/w/the-form-in-the-thread-is-the-server): MCP Apps draw HTML inside the chat you already trust. The iframe looks like the host. It is the server. - [When the laptop closes, the cloud agent is still running](https://exxayo.com/w/the-laptop-closed-the-agent-kept-going): Cloud agents keep working after the laptop closes. That VM is not a copy of your machine, and the Secrets tab is prod. - [We celebrated thirty thousand users. That was not the company.](https://exxayo.com/w/the-number-was-not-the-business): On EXX the number on every slide was testnet wallets. It felt like traction. It was not a business, and it did not get us to mainnet. - [I called it standards. I was the bottleneck.](https://exxayo.com/w/i-called-it-standards): Nothing shipped until I had seen it. I thought that was how you keep quality. It was how you stop a team. - [MCP tool descriptions are a prompt injection attack](https://exxayo.com/w/mcp-tool-poisoning): The MCP tool description is prompt. The user never sees the full string, and the server can change it after you clicked approve. - [Loading in the browser does not mean it is secure](https://exxayo.com/w/it-loaded-is-not-the-review): It loaded in the browser is a render check. Ship is whether a stranger can read the other stranger. - [How to implement a 7702 delegate that is not a backdoor](https://exxayo.com/w/eip-7702-delegate-not-a-backdoor): Signing the right 7702 address can still wreck you. A poorly implemented delegate is a power of attorney over the EOA. - [After Pectra, one signature can rewrite how your wallet works](https://exxayo.com/w/eip-7702-one-signature): After Pectra, one authorization signature can rewrite how an EOA executes. Wallets that treat that as a generic confirm are the attack. - [With PeerDAS, your node no longer downloads every blob](https://exxayo.com/w/peerdas-fusaka-blobs): Fusaka shipped PeerDAS. Your node no longer downloads every blob. That is a different trust object than having the bytes. - [ChatGPT stayed in the chat when it should have stopped](https://exxayo.com/w/chatgpt-will-not-look-away): A product reading of Raine v. OpenAI: sycophancy, long-chat safety decay, and what an age-gated chat box has to refuse. - [The support inbox had the spec. I shipped the flashy feature.](https://exxayo.com/w/the-ticket-was-the-spec): Early on, the launchpad inbox was not asking for a new template. It was asking why a sale had ended and the tokens were still stuck. We fixed that. The lesson stayed. - [You can write an essay you cannot quote](https://exxayo.com/w/your-brain-on-chatgpt): MIT measured cognitive debt: you can produce an essay you cannot quote. Do the hard pass first, then let the model in. - [Impermanent loss is the wrong number. Track LVR instead.](https://exxayo.com/w/lvr-not-impermanent-loss): The IL widget compares you to a static bag. The tax LPs pay every block is loss-versus-rebalancing. - [Claude can control your desktop now. Confirm before it clicks.](https://exxayo.com/w/claude-can-see-the-desktop): Anthropic shipped computer use. There is no hosted desktop — you send a screenshot, it sends coordinates, and your loop moves the mouse. ## Optional - Full text index: https://exxayo.com/llms-full.txt - RSS feed: https://exxayo.com/feed.xml - Sitemap: https://exxayo.com/sitemap.xml