Form cover
Page 1 of 1

Week 3 Session 5 Quest

This session takes builders from environment setup to live on-chain interaction. Using Foundry, you will scaffold a payments project, write a real Payment Splitter and Escrow contract in Solidity, deploy both to the Fuji testnet using the Avalanche CLI, and execute live cast transactions against your deployed contracts.

Name

Email

Required only if you might need a response.

Do you have your github account created https://github.com/?

Do you have your github account created https://github.com/?

If yes,Drop us link to your GitHub acc.

The payments flow

Look at the PayLink dApp flow from last night's session.

List the 5 steps of the PayLink payment flow
in the correct order, then answer:

"Why does USDC move directly from customer
to merchant instead of passing through
an intermediary?"

(Hint: Think about the PayLink contract's role)

BUILD MockUSDC.sol" target="_blank">MockUSDC.sol

Using Foundry, write and deploy MockUSDC.sol on Avalanche Fuji Testnet. Your contract must have: → ERC-20 standard structure → A mint() function → Decimals set to 6 Submit: → Your GitHub Gist or repo link → Deployed contract address on Fuji → Screenshot from testnet.snowtrace.io

WRITE THE createInvoice() FUNCTION

Inside PayLink.sol, write the createInvoice() function that: → Accepts an invoice amount and payment link → Stores the invoice in a mapping → Emits an InvoiceCreated event → Follows checks-effects-interactions pattern Submit your code via GitHub. Key concepts to apply: • invoice struct • mapping + events • approve + transferFrom logic

TRADITIONAL vs GASLESS FLOW

From last night's Gasless Payments session,
explain in your own words:

1. What is the problem with the traditional
payment flow for African users?
(Hint: What does the user need for
approve() AND payInvoice()?)

2. How does the Permit + Relayer flow
solve this problem step by step?

3. In one sentence why does this matter
for onboarding market vendors in Nairobi
who have never held AVAX?

DEPLOY TO FUJI

Run the full deployment script from last night. Using Foundry CLI, deploy both MockUSDC and PayLink contracts to Fuji Testnet. Command to run: forge script script/DeployPayLink.s.sol:DeployPayLink \ --rpc-url $FUJI_RPC_URL \ --private-key $PRIVATE_KEY \ --broadcast Submit: → MockUSDC contract address → PayLink contract address → Transaction hash from Fuji explorer → Screenshot of forge test -vv passing

Avalanche Academy (Certification)

Complete the 'Smart Contracts on Avalanche' course on Avalanche Academy and earn your official certificate. Everything you built tonight Foundry, Solidity, Fuji deployment maps directly to the Academy content. This is your chance to get a globally-recognised credential that proves your Avalanche builder status to the world.

What to submit:

Visit: https://academy.avax.network and log in (or create a free account). Search for the course 'Smart Contracts on Avalanche' and complete all modules here https://docs.avax.network/academy/blockchain/solidity-foundry Download your certificate as a PDF and upload it to Plug and Play as your Quest 5 submission. Upload your Avalanche Academy Certificate showing the course as completed.

💡 Note: This certification counts toward your certified builder status, which is reported directly to the Avalanche Foundation. Do not skip it!

Post & Tag (social activity)

Build in public from day one. Write ONE post on X (or LinkedIn) about the Sessions . something you learned, something that surprised you, something you’re going to build. Tag us so we can amplify it.
Feel free to use this poster to show you are attending the mini hack;https://drive.google.com/file/d/1lEZbDm9xDqxOGVBF6VWHcBHQrWzRQBta/view?usp=drivesdk
Must tag: @AvaxAfrica @FOEG_Labs @BCentreNBO @lavenderesther1 @KenyaTechEvents @the_sylus @code_mwangi
Must include: #Team1Kenya #MiniHack #BuildOnAvalanche

Attach Link to the post here.

Reflection

What’s the one thing from the sessions that’s still sitting with you?
⏱️ DEADLINE — THURSDAY JUN 18 @ 6PM EAT

All 5 quests must be submitted before
the next session.