Neynar Documentation

Documentation Index

Fetch the complete documentation index at: /llms.txt

Use this file to discover all available pages before exploring further.

Fetching an addresses’ connected fid with Neynar’s APIsNeynar’s Parquet FilesNeynar’s Indexer Service or Neynar’s Hosted Database is easy, but until now that data wasn’t accessible to smart contracts on any L2s. Now, on the Base Mainnet and Sepolia testnet, smart contracts can query the fid linked to any ETH address.

The Contract

Chain Address Deploy Transaction
Base Mainnet 0xdB1eCF22d195dF9e03688C33707b19C68BdEd142 0xc61c054a4bc269d4263bd10933a664585ac8878eab1e1afe460220fb18e718ca
Base Sepolia 0x3906b52ac27bae8bc5cc8e4e10a99665b78e35ac 0x8db23c7bca5cc571cde724fd258ae4d7bf842c3a1b2cf495300bf819ebaea0ce

The Interface

The V4 interface is quite simple:

Solidity

interface IVerificationsV4Reader {
    function getFid(address verifier) external view returns (uint256 fid);
    function getFidWithEvent(address verifier) external returns (uint256 fid);
    function getFids(address[] calldata verifiers) external view returns (uint256[] memory fid);
}

If the getFid call returns 0 there is no verification for that address. If you can spare the gas and would like us to know that you are using our contract, please use getFidWithEvent. A simple example of a HelloWorld contract:

Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;

interface IVerificationsV4Reader {
    function getFid(address verifier) external view returns (uint256 fid);
    function getFidWithEvent(address verifier) external returns (uint256 fid);
    function getFids(address[] calldata verifiers) external view returns (uint256[] memory fid);
}

contract HelloWorld {
    IVerificationsV4Reader immutable verifications;

constructor(IVerificationsV4Reader _verifications) {
       verifications = _verifications;
    }

function requireVerification() public view returns (uint256) {
        uint256 fid = verifications.getFid(msg.sender);

if (fid == 0) {
            revert("!fid");
        }

return fid;
    }
}

The Future

This experiment will see what we can unlock by bringing more Farcaster data on-chain. If you build something using this, please reach out. We want to hear what you’re building and see how we can make it easier.