What Actually Broke During Our Live KYA Workshop
Updated October 2, 2026: final figures. 39 people registered and 19 attended (our team's count). 13 demo attestations were issued on the night of the workshop and 5 more on October 2, to the first 5 respondents of an open follow-up form that wasn't limited to attendees: 18 in total, all on Fuji testnet through a demo flow without identity verification. Prizes: 150 USDC paid on Avalanche C-Chain mainnet in 11 transfers. 6 prizes of 15 USDC were drawn live among those who completed the on-chain exercise, and were paid on September 25. Several of those winners had already left the call, so we opened a form for the first 5 people to fill it in and post their attestation on X. They were paid 5 prizes on October 2 (2 of 15 and 3 of 10 USDC).
Updated September 30, 2026: clarified that the workshop attestations were issued through a demo flow on Fuji testnet, without identity verification.
On September 24, KUMPLY ran a live, hands-on KYA workshop with Team1 LatAm, the one we announced here a few days before. The clean version of what happened is already public. 39 people registered and 19 attended, by our team's count. On the night of the workshop, 13 Tier 5 (Agent/KYA) demo attestations were issued on Fuji testnet. 5 more were issued on October 2, to the first 5 respondents of an open follow-up form that wasn't limited to attendees. All 18 are demo attestations with no identity verification behind them, each with a confirmed transaction hash. It is not customer traction yet.
It's also not the whole story. A session planned for 75 minutes (it ran closer to two hours), with attendees deploying a contract live, through Remix, through their own MetaMask, on a testnet most of them had never touched, hits real friction. None of it is in the recap. It should be, because a workshop write-up that only says "it went great" doesn't help whoever runs the next one. Here's what actually went wrong, in the order it happened.
Remix renamed the exact button we told everyone to click
Our own instructions, written days earlier, told attendees to connect their wallet in Remix's Deploy & Run panel via the option labeled "Injected Provider - MetaMask." By the night of the workshop, that label was gone. Remix now calls it "Browser Extension." Nobody changed our instructions between writing them and the session, Remix changed its own UI underneath us, with no version note or deprecation warning we'd seen. More than one attendee sat looking at a dropdown for an option that no longer existed by that name, and paused instead of clicking through.
The lesson isn't "check Remix more often." It's that a live workshop shouldn't tell people to look for a specific label at all, it should tell them what the option does ("the one that connects to your already-installed wallet extension, not a QR code") so a rename doesn't strand anyone mid-session.
The WalletConnect trap, sitting right next to it
That same dropdown has a second entry: WalletConnect. It looks like a reasonable click if you're used to a generic "Connect Wallet" button and MetaMask isn't the first word you're scanning for. It isn't the same thing. WalletConnect doesn't grab the MetaMask extension already open in the same browser tab, it opens a QR code and waits for a phone to scan it. More than one attendee clicked it by accident, then sat looking at a QR code with no phone out, wondering why their wallet wasn't connecting. It took someone flagging it out loud, mid-session, before the room understood the two options do genuinely different things and only one of them was the one we meant.
"Main (1)" is not Fuji
Once Browser Extension was picked correctly, Remix's environment selector shows whatever network the connected MetaMask is actually pointed at, labeled by chain ID, not by name. For at least one attendee that read "Main (1)": chain ID 1, Ethereum mainnet, not Avalanche Fuji. MetaMask simply hadn't been switched over to Fuji before opening Remix, and Remix doesn't stop you or warn you, it just shows the number and assumes you noticed. Nothing catastrophic happened here (a deploy attempt against mainnet with no mainnet AVAX just fails), but it's the kind of mismatch that, in a different session with different balances, silently sends a real transaction to the wrong chain instead of failing loudly. The fix has to happen in MetaMask itself, not in Remix: switch the network first, then connect.
The error that looked like a broken deploy, and wasn't
Right after one attendee's deploy transaction went out, Remix's own console threw an error mentioning "reading result," the kind of message that reads exactly like a failed deploy to someone watching it happen in real time. It wasn't one. Pulling up the contract address on Snowtrace, live, in the same minute, showed the transaction already confirmed and the contract already deployed. The error was Remix's UI failing to parse or render the receipt it got back, not the chain rejecting anything. That's a genuinely bad moment to sit through in a room full of people who'd just spent real testnet gas and are watching a red error appear the second they click deploy. The actual fix wasn't in Remix at all, it was checking the block explorer before trusting the IDE's own error message.
Why the real source of truth ended up being a commit, not a Gist
The workshop contract, WorkshopKYA.sol, was first published as a public Gist so attendees could copy-paste it into Remix with nothing to install. That's convenient, and also the wrong thing to depend on for something time-sensitive: a Gist can be edited at any point after the link goes out, and nothing about the URL itself guarantees the content behind it stays the same between the day you send it and the day of the event. Days before the 24th, the workshop script and the deck were switched to a raw GitHub link pinned to an exact commit, github.com/kumplyprotocol/Kumply at commit f86eeb6, not main, so nothing served would change even if the repo kept moving before the event. The original Gist stayed up as a same-day fallback in case the GitHub link had any problem, and only that: a backup, not the primary link.
Why this is the post, not just the recap
Every one of these is small on its own, a renamed button, a wrong click, a network dropdown, a scary-looking console line, a link swapped for a safer one. None of them stopped the workshop, and 13 demo attestations were still issued that night, with 5 more following on October 2. But none of them show up in an announcement post either, and a guide that only says a live crypto workshop "went well" leaves out exactly the friction the next person running one will hit first. If you're planning something similar: check what your tooling's UI actually says the night before, not the week before; call out the wrong-click traps by name before someone finds them; and never trust a link you don't control the content of for anything that has to still be correct on the day.