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.
Community Dashboard: Signal Admin Dashboard
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 applicationsappSignalsCounter: 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
isPersonfunction, 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?