---
# System prepended metadata

title: Oyster Twitter agent

---

# Oyster twitter agent 

In this blog, we will walk through the process of setting up a Twitter account inside an Oyster enclave. 

## Components 

1. **Oyster KMS** – Responsible for fetching a cryptographic key used to generate passwords for both the email and Twitter accounts. 
2. **Browser-Use Agent** – A LLM agent running inside the enclave to interact with Twitter, handle password resets, and send tweets securely using the password. 
3. **10minutemail** - A service that provides disposable email that self-destructed just after ten minutes.

## Tweet Generation Flow 

1. Utilizing https://temp-mail.org/en/10minutemail, the operator establishes a temporary email account.
2. With this temporary email, the operator proceeds to create a new Twitter account.
3. Access to https://developer.x.com/en/portal/dashboard is then initiated by the operator to complete the developer application process.
4. Within the oyster enclave, the agent (browser-use) performs a password reset for the Twitter account.
5. Following the reset, authentication into the Developer Portal is completed by the agent using the newly established credentials.
6. All required authentication tokens are subsequently regenerated by the agent through the developer portal interface.
7. Content is then published by the agent through implementation of the Tweepy library (https://www.tweepy.org/).

## Screens that need to be handled by browser-use agent

### Reset twitter password screens

![image](https://hackmd.io/_uploads/rkGZpxyskx.png)

![image](https://hackmd.io/_uploads/H16Mpe1j1x.png)

![image](https://hackmd.io/_uploads/H1l4TxJikl.png)

![image](https://hackmd.io/_uploads/HJ6SAeyoke.png)

![image](https://hackmd.io/_uploads/B1Iv0gyoJl.png)

![image](https://hackmd.io/_uploads/ByhuCeys1e.png)




### Fetching access token from twitter developer portal

![image](https://hackmd.io/_uploads/BJZzJWJo1x.png)

![image](https://hackmd.io/_uploads/rkxO1-ysyx.png)

![image](https://hackmd.io/_uploads/Sy1Rybkj1g.png)

![image](https://hackmd.io/_uploads/HkFGgWyskl.png)

![image](https://hackmd.io/_uploads/HyVEebks1l.png)

![image](https://hackmd.io/_uploads/SyuW-Wkiyx.jpg)

![image](https://hackmd.io/_uploads/BkPc-byo1g.jpg)




