shield-checkSecurity 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