Bot Signaling

Authorised apps can flag suspicious addresses such as bots, and scammers to help the VeBetter and other apps identify and protect against bad actors.

If a user is flagged incorrectly, VeBetter or selected apps can reset their signal count to clear their record.

Endpoints

  • VeBetterPassport (Mainnet Address): 0x35a267671d8EDD607B2056A9a13E7ba7CF53c8b3

Other apps and smart contracts can interact with the Bot Signaling module through these key functions in the VeBetterPassport contract:

  interface IVeBetterPassport {
    ...
    function signalingThreshold() external view returns (uint256);
    function signaledCounter(address _user) external view returns (uint256);
    function appSignalsCounter(bytes32 _app, address _user) external view returns (uint256);
    function appTotalSignalsCounter(bytes32 app) external view returns (uint256);
    function signalUserWithReason(address _user, string memory reason) external;
    function resetUserSignalsByAppWithReason(address user, string memory reason) external;
    ...
  }

How Bot Signaling Works

  • Checking Signals:

    • You can query signal counts for users through the following methods:

      • signaledCounter: Returns the total number of times a user has been signaled across all applications

      • appSignalsCounter: Returns the number of times a user has been signaled by a specific application

    • Apps are free to decide how they interpret this number.

  • Threshold for Personhood:

    • When using the isPerson function, a user's flagged count is compared to a set threshold.

    • If an address has been flagged more than the threshold amount, it will fail the personhood check.

      • You can check the current threshold amount by calling signalingThreshold

Snippet

The following is a snippet of how to signal addresses by using the VeChain SDK.

Permission Request

If you need access to bot signaling functions, please reach out to us.

If you are the app admins, you can self-assign the required roles using the following functions:

  • Granting or revoking SIGNALER_ROLE:

Note: App admins are responsible for managing their team's permissions correctly.

Last updated

Was this helpful?