Winning is the part everyone posts about. The two months after — the part where a cash prize actually turns into money in your account — is the part nobody writes down anywhere. I looked for a guide before my first win and didn't find one, so this is me being the guide I needed.

For context, this is based on winning DEV's GitHub Finish-Up-A-Thon Challenge with ShelfTalk, a college project I revived using GitHub Copilot. Prize was $300 USD, a DEV++ membership, and an exclusive badge. If you want the receipts instead of just my word for it:

This is the full pipeline for a DEV Challenge win with an MLH-administered cash prize, from the announcement post to the money actually landing. If you're a first-time winner, bookmark this — you'll want it in about a week.

Table of Contents


TL;DR pipeline: Winner post goes up → 2 emails (badge + mention) → DEV++ subscription (~1 day later) → MLH/DEV email asking for your legal name, phone, country, state (~1-2 days later, first win only) → Ramp invite → add bank details + W-8BEN if you're not a US citizen → invoice appears → (India only) FEMA form when your bank flags the incoming remittance → money, roughly two months after the winner post.

Step 1: The winner post goes up — stop refreshing

You don't need to sit there hitting refresh. When results are in, you get two separate emails: one confirming you got the winner badge, and one saying you were mentioned in the actual results post, sent out by whoever tag-moderated the challenge.

Email confirming the DEV Challenge winner badge
Email #1 — the winner badge confirmation

Email confirming a mention in the winners announcement post
Email #2 — you've been mentioned in the results post

Step 2: A day later, you're subscribed to DEV++

No action needed here — it just shows up as part of the prize.

DEV++ subscription confirmation email
The DEV++ membership confirmation, no action required

Step 3: If this is your first win, MLH and DEV need your details

About 1-2 days after the announcement, if this is your first DEV Challenge win, you'll get an email jointly from the DEV team and MLH's accounting team. They're setting up your Ramp account for the cash prize and need:

  • Your legal first and last name
  • Phone number
  • Current country of residence
  • State or province (if you're in the US or Canada)

Joint email from DEV and MLH accounting requesting winner details
The joint DEV + MLH accounting email kicking off the Ramp setup

One habit worth building right here, because you'll need it again in Step 5: reply-all on this thread for any question going forward. Multiple people from both teams are on it, and reply-all is what actually gets you an answer instead of a message sitting unread in one inbox.

Step 4: The Ramp invite

Once your details are in, you get an invite to Ramp. This is where you:

  • Add your account details
  • Add them to receivables
  • Fill out a tax form — if you're not a US citizen, this is the W-8BEN

Ramp invite email
The Ramp invite that lands after your details are submitted

Blank W-8BEN tax form
The W-8BEN — required if you're not a US citizen


Fields I actually filled on the W-8BEN: 1, 2, 3, 6a (PAN number), 8, and the signature + date at the very end. Everything else I left blank.

Step 5: Bank details — the part that ate my week

This is the part nobody walks you through, and it's the one place I actually lost time. I asked the MLH team directly where to enter my SWIFT code — more than once — and never got a straight answer. The Ramp UI itself didn't have an obvious field labeled "SWIFT code" either, which made it worse: I wasn't missing an answer, I was missing where the question even went.

I'd also gone in assuming I couldn't receive the money in USD directly into my account, so I filled everything out around that assumption. It was wrong, and untangling it afterward cost me more time than the original problem did.

In the end I spent about an hour going back and forth with Ramp's own help bot, one question at a time, until I found where the SWIFT/BIC field actually lived and got the currency set correctly to USD.

Ramp bank details form with currency set to USD
Currency set to USD, with the SWIFT/BIC field finally in view

That hour with the help bot, start to finish:

Ramp help bot conversation, part 1
Ramp help bot — 1 of 6

Ramp help bot conversation, part 2
Ramp help bot — 2 of 6

Ramp help bot conversation, part 3
Ramp help bot — 3 of 6

Ramp help bot conversation, part 4
Ramp help bot — 4 of 6

Ramp help bot conversation, part 5
Ramp help bot — 5 of 6

Ramp help bot conversation, part 6, where the SWIFT/BIC field is finally located
Ramp help bot — 6 of 6, the field turns up

Step 6: The invoice appears

Once everything's filled in correctly, an invoice gets generated on your end — the actual receivable, created against your bank details.

Generated invoice in Ramp
The invoice, generated automatically once your bank details are accepted

If you're in India: FEMA enters the chat

For Indian winners specifically, the remittance doesn't land directly — it first reaches the nodal/central branch of your bank in your city. You'll get an email from your bank saying they've received a foreign remittance from MLH, and at that point you need to act fast: your bank has the right to reject the remittance, and the next step is filling out a FEMA form with the details of the transaction, along with your Aadhaar card and PAN card, signed.

The suggestion I got was to physically visit the central branch matching the SWIFT code's city and fill the form out there. That's fine if your schedule allows it — mine didn't. I got the bank's email on a Thursday, the following Saturday was a bank holiday, and as a college student I couldn't exactly walk into a branch on a weekday either. So instead, we asked the branch manager directly if they could email us the form and let us send the details back that way — and that worked.

If you're in the same spot, don't assume an in-person visit is the only option. Ask.

Bank email notifying of incoming foreign remittance from MLH
The bank's notice of an incoming foreign remittance — this is your cue to move fast

Blank FEMA form, personal details redacted
The FEMA form your bank requires before releasing the remittance

Don't sit on that email. The window to respond isn't long, and a rejected remittance means starting the transfer process over.


The actual timeline

Start to finish, budget around two months from the winner post to money actually reaching your account. Nothing about that length means something's broken — it's just the real shape of the pipeline: DEV/MLH verification, Ramp setup, bank processing, and, for international winners, your own bank's compliance checks stacked on top.

If you're going through this right now

I'm not an accountant and this isn't tax or legal advice — I'm one winner describing exactly what happened to me, so your bank, country, or MLH's process could vary slightly. If you're stuck at any of these steps, drop it in the comments; I'll answer what I can. And if you're stuck on MLH or DEV's end specifically, reply-all really is the fastest way to get their actual attention.

Winning was the fun part. This was the part I wish someone had written down first.