---
title: "Create and Use Farcaster Signers"
section: posts
tags: ["farcaster", "development", "tutorial"]
created: 2025-04-24T18:18:00Z
updated: 2025-05-24T16:58:00Z
cid: bafkreifyh355rhjzaz4yjsgtz5oofdziuxqnjuoi5w4kaw5t6qak7r3kgu
html: https://iammatthias.com/posts/1745543922514-create-and-use-farcaster-signers
---

# Create and Use Farcaster Signers

I got nerdsniped on Farcaster today.

![](https://blobs.farfield.systems/blobs/bafkreicidbwpjqrhcs4iswygur4bczh4yo3oimze2qlmkpsnvg4zyg3h7i)

[@keccers.eth](https://warpcast.com/keccers.eth) was talking about the `Sent from coinbasewallet` tag. You usually only see these on third-party clients, which is why [@artlu](https://warpcast.com/artlu) having his own stands out on the timeline.

My curiosity was piqued, I started poking around, and soon I had landed somewhere between

![](https://blobs.farfield.systems/blobs/bafkreiawud2ld6km55n52d44rygzlbzhodewlqkfpzhk33plj6rbqstmqi)

and

![](https://blobs.farfield.systems/blobs/bafkreibptrhbsl5ostryapgb7u62m5mp5qyitaeodgthmrycigbbf3dzrq)

Nerdsniped. [@stevedylandev.eth](https://warpcast.com/stevedylandev.eth) joined the conversation with the resources he'd already built.

- Cast Keys: https://github.com/stevedylandev/cast-keys
- Mast-cli: https://github.com/stevedylandev/mast-cli

He even posted a video on Youtube as a walkthrough for the process: https://www.youtube.com/watch?v=rPr8A9Ntp1E

### How to post with your own **"sent from …​"** tag

1. **Clone Cast Keys and configure it**

    ```bash
    git clone https://github.com/stevedylandev/cast-keys
    cd cast-keys
    npm install                       # install deps for Cast Keys
    cp .env.v.sample .env.local
    ```

    Edit `.env.local`:

    ```text
    DEVELOPER_FID=<FID that should appear in "sent from …">
    DEVELOPER_MNEMONIC=<that handle's 12-word phrase>
    ```

2. **Start Cast Keys and create a signer**

    ```bash
    npm run dev
    ```

    Open `http://localhost:3000`, click **Create Signer**, scan the QR in Warpcast, pay the Warps, and copy the **private key** (omit the leading `0x`).

3. **Install the Mast CLI**

    **Script (one-liner)**

    ```bash
    curl -fsSL https://stevedylan.dev/mast.sh | bash
    ```

    **Homebrew**

    ```bash
    brew install stevedylandev/mast-cli/mast-cli
    ```

4. **Authorise Mast with your signer**

    ```bash
    mast auth
    # 1 – enter your personal FID
    # 2 – paste the private key
    ```

5. **Post from the terminal**

    ```bash
    mast new
    # type the message → Enter
    # optional: up to two URLs → Enter
    # optional: channel → Enter
    ```

6. **Revoke a signer when necessary**
    Warpcast → Settings → Advanced → Manage Connected Apps → select the key → **Delete** (no cost).

**Why run Cast Keys locally?**
The hosted tool at **castkeys.xyz** always uses @castkeys' credentials, so every post shows **"sent from castkeys."** Running it yourself puts your name on the marquee and keeps the keys in your own hands.

---

It works. I can cast with a custom signer. Next step: a vanity account.

![](https://blobs.farfield.systems/blobs/bafkreihjpccgclqopmo4tscdip4h6llemkarjlqvrce64you3y27nljt2q)

---

## Related

- [llm-fid.fun](https://iammatthias.com/open-source/1746490719151-llm-fid-txt.md)
- [Farfield](https://iammatthias.com/posts/1779066375000-farfield.md): Five small Go services, single binaries, content-addressed records, running on my homelab. The new backend for the site.
- [llm-txt.fun](https://iammatthias.com/open-source/1767381212267-llm-txt-fun.md): LLM-TXT provides tools to generate files from Farcaster, Bluesky, RSS feeds, and Git repos, building on my earlier llm-fid project.
- [Whats the $POINTS?](https://iammatthias.com/posts/1764868806838-whats-the-points.md): $POINTS was deployed on December 13th, 2023 and made a lot of people very angry
- [Breaking the AI in Parallax](https://iammatthias.com/posts/1746765173152-breaking-the-ai-in-parallax.md): I used simple jailbreaks to extract information that Parallax's AI mystery-game characters were not supposed to reveal.
