Signatures
How do I generate an EIP-712 signature?
See the contract reference docs for documentation on each EIP-712 signature, including Typescript code examples. If you’re using Typescript/JS, the@farcaster/hub-web package includes tools for generating and working with EIP-712 signatures. To ensure you’re using the correct addresses and typehashes, we recommend importing the ABIs and EIP-712 types from the contracts module or using the provided Eip712Signer helper.
See the “Working with EIP-712 signatures” example app in the hub monorepo for a reference that demonstrates each signature and contract call.
How can I debug an invalid EIP-712 signature?
To help debug EIP-712 signing, every contract that uses EIP-712 signatures exposes its domain separator and typehashes as constants along with a hashTypedDataV4 helper view. If you’re constructing signatures in Solidity or another low level language, you can use these to help debug.Reference
Where is the full contract source code?
The contracts repo is on Github here.Where do I get contract ABIs?
Find contract ABIs and deployment addresses here.Where can I find audit reports?
Past audit reports are linked from the contracts repo.Are the Farcaster contracts deployed to a testnet?
No. Consider using network forking to test or develop against the OP mainnet contracts.Data
How do I find a user’s custody address?
Call thecustodyOf function on the IdRegistry.
How do I find a user’s recovery address?
Call therecoveryOf function on the IdRegistry.
How do I find an account’s fid?
Call theidOf function on the IdRegistry.
How do I look up the account keys for my fid?
Call thekeysOf function on the KeyRegistry.

