project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5

Animal Impact Agents

Using collaborative agents and blockchain transparency to give more unwanted pets a home, and make sure less animals are born without one

Animal Impact Agents

Created At

Agentic Ethereum

Winner of

Coinbase

Coinbase Developer Platform - AgentKit Pool Prize

Prize Pool

Nillion

Nillion - Best Use of Nillion SecretVault for AI Agents

Project Description

The project aims to help reduce animal homelessness across a region, long term. It solves three aspects specifically:

  • putting funding toward a balance of long term initiatives to reduce the number of animals born without a home or abandoned, and also short term needs i.e. shelter upkeep, while ensuring it's transparent, but that sensitive details are protected

  • increasing adoptions for animals currently in shelters by aggregating the animals available and making those available to an agent responsible for helping people find the right one for them

  • increasing donations by giving every shelter an agent that can promote it through social media and through chat interfaces


For the adoption flow you have to run locally because of the FS issues on Vercel

This project is intended to reach production, and will start with Poland, specifically Lodz, where one of the team members lives. 10% of any prizes won will be committed to the initial fund in the smart contract. The demo version is populated with demo data, and the contract implementation is not finished.


Resources: Deck: https://www.canva.com/design/DAGeiCrCFYE/LYrA5t6njEfVpEICmXEtdw/edit

Designs: https://www.figma.com/design/SmAt9Ip1axKZ5CKuczotPb/Agentic-Ethereum?node-id=13-397&t=ka76GmhxZzQLbkYo-1

Architecture overview: https://www.loom.com/share/75344fa6ff1e41a1838c5f39de922594

Architecture diagram: https://www.figma.com/design/SmAt9Ip1axKZ5CKuczotPb/Agentic-Ethereum?node-id=55-1210&t=5oyxghznIsojMBC9-1

How it's Made

Data is stored in Nillion Secret Vault for both donors and shelters, with sensitive fields encrypted, the project would not be possible without this, as we need be able to store this data, then do computations on it, without exposing it.

There are three kinds of agent live in the app today, all use a combination of Langchain + Agentkit with CDP and custom tools.

  1. Intake agent (https://agentic-ethereum-five.vercel.app/join)
  • responsible for onboarding a new shelter, creating it in Nillion, and registering a new shelter agent with the agent manager.
  • After a new shelter hits the DB, we manually run our browser use agent (https://github.com/matthew1809/agentic-ethereum-browser-agent) to fetch the details about animals for that shelter, this is something we plan to automate in future.
  1. Shelter agent (https://agentic-ethereum-five.vercel.app/shelters)
  • responsible for chatting about the shelter to anyone to promote adoptions etc. It can accept donations to its own wallet, and can also handle administration with the shelter admin i.e. tweeting for them etc.
  1. Coordination agent (https://agentic-ethereum-five.vercel.app/adopt)
  • responsible for coordinating between the shelter agents and a user to recommend animals to adopt

The funding happens through our smart contract (README: https://github.com/matthew1809/agentic-ethereum/blob/main/contracts/README.md)

  • Deployed on Base Sepolia and holds the logic for donating directly to shelters through their agent wallets
  • In the future, it will handle recurring donations, and donating to initiatives i.e. neutering programmes and so on

Hacky mentions:

  • we did not get to implement the smart allocation of funds, but the logic in the contract is there
  • we use dummy data for now as we didn't have time to scrape the actual shelters yet
  • we assume each shelter is legit but in reality we want to work with local government to generate a ZK proof for this

Usage notes:

  • When doing the adopt flow there is a long delay while the agent queries each shelter, do not exit, it's working
  • There is a delay on page load due to compiling with Dynamic, I didn't have time to fix it
background image mobile

Join the mailing list

Get the latest news and updates