Security Measures
Security is core to AfriLance. Escrow contracts include non-reentrancy guards to prevent attack vectors, role-based access controls (e.g., only client can approve, freelancer submit), and time-locks for fund withdrawals to avoid rush disputes. Funds are held in the contract until release, with no admin access; pure decentralization. On-chain verification ensures transparency, and AI pre-screens disputes to reduce malicious claims. The platform undergoes regular audits, and BNB Chain's robust network adds layer-1 security. Users are protected from scams through verified profiles and escrow-only payments.
Category
Feature Name
Description
Type
Functions
deposit
Allows depositing the agreed stablecoin amount into the escrow
Non-payable
Functions
payFee
Pays the required BNB fee to start the job (payable)
Payable
Functions
start
Marks the job as started, setting the deadline
Non-payable
Functions
submit
Freelancer submits proof of work (proofHash as string)
Non-payable
Functions
requestRevision
Client requests revision (messageHash as string)
Non-payable
Functions
approve
Client approves the work, releasing funds to freelancer
Non-payable
Functions
dispute
Raises a dispute for oracle resolution
Non-payable
Functions
resolve
Oracle resolves dispute, specifying winner
Non-payable
View Functions
client
Returns the client's address
View
View Functions
freelancer
Returns the freelancer's address
View
View Functions
oracle
Returns the oracle's address
View
View Functions
settlementToken
Returns the stablecoin token address (USDT/USDC)
View
View Functions
state
Returns the current escrow state (uint8)
View
Events
Deposited
Emitted when funds are deposited (depositor indexed, amount)
Event
Events
FeePaid
Emitted when fee is paid (payer indexed, feeAmount)
Event
Events
Started
Emitted when job starts (deadline)
Event
Events
Submitted
Emitted on work submission (proofHash)
Event
Events
Revised
Emitted on revision request (messageHash)
Event
Events
Approved
Emitted on approval (freelancer indexed, deposit, bonus)
Event
Events
Disputed
Emitted on dispute (by indexed)
Event
Events
Resolved
Emitted on resolution (winner indexed, amount)
Event
These features enable secure, role-based escrow management with on-chain transparency and bot-triggered notifications for each event. The contract is designed with safeguards like role restrictions and state transitions to prevent unauthorized actions.
Last updated
