
Documentation
Everything you need to know about Avocado Fund — the decentralised USDC yield vault and identity-gated lending protocol on Arbitrum.
Overview
Avocado Fund is a decentralized USDC lending protocol on Arbitrum where lenders earn yield from borrower interest and borrowers build on-chain credit through repayment history. Deposit USDC into an ERC-4626 vault, receive avUSDC, and earn sustainable yield without token emissions, lockups, or custody risk. Verify with Persona, build your AVO Score, and unlock no collateral credit up to $10,000.
The core difference
Avocado is not an emissions-driven yield protocol. Lender returns are generated from interest paid by verified borrowers, making yield directly tied to real lending activity rather than token subsidies.
Earn Passive Yield
Deposit USDC and earn competitive APY as borrowers pay interest. Withdraw any time within available liquidity.
On-Chain Reputation
Identity verification confirms a real human. AVO Score (0–100) grows with on-time repayments. All tracked transparently on the blockchain.
ERC-4626 Compatible
The vault follows the ERC-4626 tokenised vault standard, making it composable with the broader DeFi ecosystem.
Non-Custodial
Smart contracts hold all funds. The protocol team cannot move user assets. All code is open source.
How It Works
The system has two smart contracts: AvocadoVault (ERC-4626 deposit/yield) and AvocadoLending (credit lines). They work together so that lender capital flows to borrowers and interest flows back.
Lenders
deposit USDC
AvocadoVault
ERC-4626
AvocadoLending
credit lines
Borrowers
AVO Score verified
Interest paid by borrowers → distributed back to lenders as yield
Lenders supply USDC
Any wallet can deposit USDC into the AvocadoVault. The vault mints avUSDC shares proportional to the deposit. These shares appreciate over time as borrower interest accrues.
Capital is deployed to lending
The vault allocates USDC to the AvocadoLending contract. Utilisation is tracked on-chain and displayed in real-time. A cap of $5,000,000 limits total exposure.
Borrowers verify their identity
Borrowers open the Borrow page and complete identity verification (government ID + selfie + sanctions check), and receive a credit limit tied to their verified identity (see the Identity section below for how verification currently works).
Borrowers draw and repay USDC
Verified borrowers draw up to their credit limit. Interest accrues per second. Repayments reduce the principal and release the credit line for future use.
Lenders withdraw any time
Lenders burn their avUSDC shares to redeem USDC + accrued interest. Withdrawals are limited by available (non-deployed) liquidity.
Why lender capital is protected
Every borrower completes Persona KYC and biometric verification
Credit starts small and increases only through repayment history
Borrowing capacity is governed by the AVO Score
Every loan, repayment, and default is recorded publicly on-chain
Lender funds remain non-custodial inside the ERC-4626 vault
The protocol has completed four Omniscia audit rounds with zero critical findings
The Vault (AvocadoVault)
The vault is a standard ERC-4626 tokenised vault. Depositors receive avUSDC shares that represent their proportional claim on all assets inside the vault — including interest earned.
Share price starts at 1.000000 and increases as interest accrues. Depositing 100 USDC when share price is 1.05 gives you ~95.24 avUSDC. Redeeming those shares later at 1.10 returns 104.76 USDC.
Key vault functions
deposit(assets, receiver)Deposit USDC, receive avUSDC shareswithdraw(assets, receiver, owner)Burn shares, receive USDCredeem(shares, receiver, owner)Burn exact shares, receive USDCconvertToAssets(shares)Preview USDC value of sharestotalAssets()Total USDC owned by vaultsharePrice()Current price per avUSDC share × 1e6Lending & Borrowing
The AvocadoLending contract manages credit lines for identity-verified borrowers. Each verified human gets exactly one credit line — enforced off-chain via a PII-derived nullifier hash stored at verification time.
Up to $10,000 USDC
Credit limit
per verified human
12% APR fixed
Interest rate
accrues per second
None required
Collateral
Identity verification is the collateral
Unsecured does not mean unverified. Every borrower completes identity verification through Persona, builds an on-chain AVO Score through repayment behavior, and progresses through credit tiers before reaching higher borrowing limits.
Interest rate model
Avocado Fund uses a fixed 12% APR on all borrowings. Interest accrues per second on the outstanding principal. Lender yield from that 12% scales with vault utilisation — the more capital deployed, the higher the effective lender APY.
Loans not repaid within 30 days are considered overdue. The admin may mark overdue accounts as defaulted on-chain. A default immediately sets your AVO Score to 0 and drops your credit tier. On-time repayments are the primary way to grow your AVO Score and unlock higher credit limits.
AVO Score — How It's Calculated
Your credit limit is determined by your AVO Score (0–100) — a composite of 7 pillars. Identity verification is required to access any credit (disabled state returned without it). A sanctions hit or active default forces score to 0.
AVO Score — Credit Tier Gates
All four conditions must be met simultaneously to unlock each tier. A repayment only counts as qualified when it was paid on time, the loan principal met that tier's minimum, and the loan was held for that tier's minimum hold time — late payments and same-day micro-loans never advance your tier. Full Tier 5 ($10,000) requires identity verification approved status; a completed-but-unapproved inquiry is capped at Tier 3 ($750).
Only on-time repayments count toward the repayment gate — late payments (after 30 days) do not advance your tier. Max credit of $10,000 is unlocked after 365 days of on-time repayment history.
Identity Verification
Current status: borrowers are verified through a manually-reviewed flow (ID + selfie, reviewed by our team within 2-24 hours). The active verification screen always tells you which process is in use before you submit anything.
Each borrower submits a government-issued ID and a liveness-checked selfie, which is screened against sanctions / PEP / adverse media watchlists as part of manual review.
Open the verification flow
On the Borrow page, click "Verify your identity". Today this opens our manual review form; the flow will switch to an inline hosted widget once the provider migration completes.
Capture ID + selfie
Upload a government-issued ID (passport, driver's licence, or national ID) and complete a short liveness-checked selfie.
Sanctions & PEP screen
Submitted identities are screened against global sanctions, PEP, and adverse media lists as part of review. A hit blocks approval.
Nullifier recorded
Once verification is approved, we derive two nullifiers: one per inquiry (replay / idempotency) and one from PII (sybil resistance across wallets). Both are stored locally against your wallet address.
Credit line activated
Verification unlocks borrowing immediately. Your credit limit is determined by your AVO Score on first use and grows as you repay.
During the temporary manual flow, Avocado receives the submitted ID and selfie for review. In a hosted provider flow, the provider holds the raw documents under its own retention policy and Avocado stores only the inquiry id and a salted PII hash. See our Privacy Policy for full details.
Yield & APY
All yield is real — it comes from borrower interest, not token inflation or subsidies. APY is variable and reflects real-time utilisation of the vault.
APY calculation
grossInterest = borrowedAssets × borrowAPR × (seconds / 31536000)
netInterest = grossInterest × (1 − performanceFeeBps / 10000)
lenderAPY = netInterest / totalAssets × 100
Interest accrues per second. The share price increases continuously as borrowers repay. There is no staking or claiming — your avUSDC shares automatically appreciate.
APY is variable. If utilisation drops (more repayments, fewer new borrows) the displayed APY will decrease. Historical APY charts are available on the Analytics page.
For a detailed risk analysis, see the Risk Framework page.
AVO Token
The AVO token is not yet live. At launch, only AvocadoVault (lend → avUSDC) and AvocadoLending (borrow) are deployed. All yield currently comes from real borrower interest paid into the vault.
AVO is the governance and incentive token of Avocado Fund. Total supply is capped at 1 billion tokens. Initial distribution covers team, advisors, treasury, and community incentives. Team and advisor allocations are locked in the on-chain TokenVesting contract with standard cliff + linear-vest schedules.
Token Vesting
Vesting schedules will be created on-chain at TGE. Until then, the TokenVesting contract address is a placeholder.
The TokenVesting contract holds team and advisor AVO allocations and releases them on a per-beneficiary cliff + linear vest schedule (founders: 12-month cliff, 24-month linear vest; advisors: 6-month cliff, 18-month linear vest). Beneficiaries call release() to claim whatever has vested at the current block time. Schedules marked as revocable can be revoked by the owner multisig (e.g. on a departure) — vested tokens still go to the beneficiary; unvested tokens return to the treasury.
For Lenders
Supply USDC to earn passive yield. No lock-up period, no liquidation risk. Your position is represented by avUSDC shares.
Connect your wallet
Connect an Arbitrum-compatible wallet (MetaMask, Coinbase Wallet, Rainbow, etc.) using the Connect Wallet button in the top navigation.
Get USDC on Arbitrum
Bridge USDC to Arbitrum using the Arbitrum Bridge or Coinbase. The vault accepts native USDC on Arbitrum.
Approve and deposit
Enter an amount on the Vault page → Supply tab. First-time depositors will need to approve the vault contract to spend USDC. The approval and deposit can happen in one flow.
Monitor your position
Your avUSDC balance and USDC value are shown in real-time on the Vault page. Analytics shows historical APY and vault health.
Withdraw any time
Switch to the Withdraw tab, enter an amount (up to your maxWithdraw), and confirm. You receive USDC + accrued interest immediately.
Withdrawals are limited by available liquidity (non-deployed assets). If utilisation is very high, some of your position may be temporarily illiquid until borrowers repay. The maxWithdraw value shown in the app reflects this in real time.
For Borrowers
Borrow USDC without collateral after an identity verification check. Designed for real humans with real use cases — not bots or sybil attacks.
Prepare your documents
Have a government-issued ID ready (passport, driver's licence, or national ID).
Connect your wallet
Connect the wallet you want to receive USDC into. This wallet will be linked to your identity verification — use a dedicated wallet for borrowing.
Verify on the Borrow page
Go to Borrow → Verify tab. Follow the prompts to submit your ID and a short selfie. Sanctions screening is run as part of review.
Draw your credit line
Once verified, the Borrow tab activates. Enter an amount up to your credit limit and confirm. USDC is sent to your wallet immediately.
Repay within 30 days to protect your AVO Score
Use the Repay tab to repay part or all of your balance. Repay within 30 days for an on-time mark — this advances your AVO Score and unlocks higher tiers. Interest accrues per second at 12% APR until fully repaid.
Build history to unlock higher credit
Each on-time repayment increases your AVO Score. Account age is tracked automatically. Once you hold a score ≥ 78 with 12 qualified repayments, $8,000 lifetime USDC repaid, and your account aged ≥ 365 days, you reach Tier 5 Elite — the maximum $10,000 credit limit.
30-day repayment window: Loans aged over 30 days are considered overdue. The admin may call defaultLoan() on-chain for overdue accounts. Default consequences: 1 default → Tier 1 cap ($50), 2 defaults → Tier 0 cap ($25), 3+ defaults → account locked. Only on-time repayments count toward tier advancement — late payments do not.
Default consequences
Security
Non-custodial
All USDC is held by the smart contracts. The protocol deployer has no ability to withdraw user funds.
Open source contracts
All contract code is publicly available on GitHub. Verify every function yourself before interacting.
Vault cap
Deposits are capped at $5M to limit protocol exposure during early operation. The cap may increase post-audit.
Reentrancy protection
All state-mutating functions use OpenZeppelin's ReentrancyGuard to prevent reentrancy attacks.
Sybil resistance
PII-derived nullifier hashes (from identity verification data) prevent the same human from opening multiple credit lines, even with multiple wallets.
Performance fee
A 10% performance fee on interest is the only revenue mechanism. There are no hidden fees or dilution.
Smart contracts have been reviewed by Omniscia. Omniscia is updating the public report to reference the latest reviewed GitHub commit. Both contracts are live on Arbitrum One. View audit status → Only deposit amounts you are comfortable with. The vault cap limits total protocol exposure.
Frequently Asked Questions
Is Avocado Fund audited?
Yes. A formal external review was completed by Omniscia. The canonical public report is being updated to reference the latest reviewed GitHub commit. Both contracts are live on Arbitrum One. View audit status. Only deposit what you can afford to risk.
What chain is this on?
Avocado Fund is deployed on Arbitrum — an Ethereum L2 rollup. Gas fees are very low (typically under $0.01). You need ETH on Arbitrum for gas and USDC on Arbitrum to supply.
Can I lose money as a lender?
Yes — in theory. If borrowers default and the total bad debt exceeds available reserves, lender funds could be at risk. The vault cap, credit limits, and identity gating are all designed to minimise this risk. Lending to uncollateralised borrowers always carries some credit risk. For a complete risk analysis, see the Risk Framework page.
Why does my maxWithdraw show less than my balance?
Your maxWithdraw is capped by available (non-deployed) liquidity. If the vault is highly utilised, some of your balance is lent out. As borrowers repay, your withdrawable amount increases. Check the utilisation rate on the Analytics page.
How does identity verification work technically?
Submissions go through a manually-reviewed flow (ID + selfie, reviewed within 2-24 hours). On approval, we derive a salted PII hash (for cross-wallet sybil defence) plus an inquiry nullifier, both recorded locally against your wallet.
Can I have multiple credit lines with different wallets?
No. A PII-derived nullifier hash (salted, one-way) is computed from your identity verification and stored in a dedicated namespace. Attempting to verify with the same real identity on a different wallet collides on that hash and is rejected.
When is my loan due?
Loans have a 30-day soft deadline. Interest accrues per second at 12% APR — there is no automatic force-liquidation, but loans unpaid beyond 30 days are flagged as overdue. The admin may then call defaultLoan()on-chain. Repaying before 30 days counts as “on-time” and grows your AVO Score.
What is the AVO Score?
AVO Score (0–100) is your on-chain reputation. It is calculated from: identity verification (up to 15 pts), on-time repayment history (up to 30 pts), account age (up to 10 pts), repayment volume (up to 10 pts), and credit utilization (3–10 pts based on debt-to-limit ratio — zero outstanding debt earns full 10 pts). Your score determines your credit tier. Max credit ($10,000) requires score ≥ 78, 12 qualified on-time repayments, $8,000 lifetime USDC repaid, and 365 days of account age.
What happens if I don't repay within 30 days?
Interest keeps compounding, increasing your debt. If the admin marks the loan as defaulted: 1 default → credit capped at Tier 1 ($50); 2 defaults → credit capped at Tier 0 ($25); 3+ defaults → account locked out entirely (admin must re-enable). Late repayments (after 30 days) do not count toward tier advancement — only on-time repayments build your AVO Score.
How do I increase my credit limit?
Repay loans on time, build account age, and complete identity verification. Your AVO Score auto-updates after each repayment. The full progression: after KYC → $50 (Tier 1); 2 qualified repayments + 30 days → $250 (Tier 2); 4 qualified repayments + 60 days → $750 (Tier 3); 6 qualified repayments + 120 days → $3,000 (Tier 4); 12 qualified repayments + 365 days → $10,000 (Tier 5).
What is the performance fee and where does it go?
10% of all interest earned is taken as a performance fee, sent to the protocol treasury address at the time interest is collected. The remaining 90% accrues to lenders via share price appreciation.
Is there a token?
Yes — AVO is the native token (ERC-20, 1B max supply cap). Team and advisor allocations are locked in the on-chain TokenVesting contract (cliff + linear vest). At launch, AVO is not yet live; it will be activated in a future update. avUSDC is a separate yield-bearing receipt token representing your vault deposit. All vault yield is sourced from real borrower interest.
How do I get support?
Open an issue on GitHub or reach out via the community channels linked in the footer. For security disclosures, please use responsible disclosure by emailing the security contact in the repository.
Ready to start?
Supply USDC to earn yield, or verify your identity to access a credit line.