POST
/
v1
/
submitMessage
Submit signed message
curl --request POST \
  --url https://hub-api.neynar.com/v1/submitMessage \
  --header 'Content-Type: application/octet-stream' \
  --header 'x-api-key: <api-key>'
{
  "data": {
    "type": "MESSAGE_TYPE_CAST_ADD",
    "fid": 2,
    "timestamp": 48994466,
    "network": "FARCASTER_NETWORK_MAINNET",
    "castAddBody": {
      "embedsDeprecated": [
        "<string>"
      ],
      "mentions": [
        2
      ],
      "parentCastId": {
        "fid": "<any>",
        "hash": "<any>"
      },
      "parentUrl": "chain://eip155:1/erc721:0x39d89b649ffa044383333d297e325d42d31329b2",
      "text": "<string>",
      "mentionsPositions": [
        123
      ],
      "embeds": [
        {
          "castId": {
            "fid": "<any>",
            "hash": "<any>"
          }
        }
      ]
    }
  },
  "hash": "0xd2b1ddc6c88e865a33cb1a565e0058d757042974",
  "hashScheme": "HASH_SCHEME_BLAKE3",
  "signature": "aSDinaTvuI8gbWludGxpZnk=",
  "signatureScheme": "SIGNATURE_SCHEME_ED25519",
  "signer": "<string>"
}

Authorizations

x-api-key
string
header
default:NEYNAR_API_DOCS
required

API key to authorize requests

Body

application/octet-stream · file

A Message is a delta operation on the Farcaster network. The message protobuf is an envelope that wraps a MessageData object and contains a hash and signature which can verify its authenticity.

The body is of type file.

Response

A successful response.

A Message is a delta operation on the Farcaster network that represents a state change. Messages are the fundamental unit of data in Farcaster and can represent various actions like:

  • Creating or removing casts (posts)
  • Adding or removing reactions
  • Following or unfollowing users
  • Updating profile data
  • Verifying Ethereum addresses

Each message contains:

  • A MessageData object with the actual content
  • A hash of the content for integrity verification
  • A cryptographic signature to prove authenticity
  • The signer's public key for verification

Messages are immutable once created and form an append-only log of all user actions on the network.

data
object
required

Represents a new cast (post) being created in the Farcaster network. A cast can include text content, mentions of other users, embedded URLs, and references to parent posts for replies. Common properties shared by all Farcaster message types. These properties provide essential metadata about the message's origin, timing, and network context.

hash
string
required
Example:

"0xd2b1ddc6c88e865a33cb1a565e0058d757042974"

hashScheme
enum<string>
default:HASH_SCHEME_BLAKE3
required

Type of hashing scheme used to produce a digest of MessageData. - HASH_SCHEME_BLAKE3: Default scheme for hashing MessageData

Available options:
HASH_SCHEME_BLAKE3
signature
string<byte>
required
signatureScheme
enum<string>
default:SIGNATURE_SCHEME_ED25519
required

Type of signature scheme used to sign the Message hash

  • SIGNATURE_SCHEME_ED25519: Ed25519 signature (default)
  • SIGNATURE_SCHEME_EIP712: ECDSA signature using EIP-712 scheme
Available options:
SIGNATURE_SCHEME_ED25519,
SIGNATURE_SCHEME_EIP712
signer
string
required