This is the longer, plain-language explanation of From Us To You. It is for people who find the idea interesting and want to understand the experience, the odds, the risks, and the contract before taking part. You do not need to be a crypto expert to read it.
It is not financial, legal, or tax advice. Winning is never guaranteed. Only participate with money you can comfortably give away, and never treat the app as income, savings, or an investment.
1. The idea, in one breath
Most days, your contribution helps someone else. On a lucky day, the pool helps you.
That is the whole idea.
People who can comfortably spare $1 or 10 cents put those amounts together in a daily pool. One person receives the pool when there are up to 10 participants. From 11 participants onward, 10 people split it equally. As more people take part, thousands of small contributions can become real economic relief: a bill paid, rent covered, or simply a little room to breathe.
This is not presented as a charitable donation or a tax-deductible payment. It is a direct contribution to a pool of participants, with a fair chance that you will be one of the people receiving it. The honest way to think about your entry is as money you are content to give away. If your wallet is selected, you receive the pool or a share of it.
From Us To You is for people who find that exchange worthwhile. It does not need everyone. It needs people with the disposable income to participate responsibly, who like the idea of small acts becoming useful at scale, and who care enough about transparency to check how it works.
There is no ad machine behind this. The project grows when people who understand the idea tell someone else who might appreciate it. More participants make each pool larger. When people you know join too, a winning day can feel closer to home without changing the fact that everyone's individual odds are determined by the size of the pool.
2. How it works, in one paragraph
You choose the $1 or 10-cent pool and the days you want. The contract collects those contributions into daily pools. After a day closes, anyone can request Chainlink VRF randomness through the contract. That randomness determines one or 10 unique winners, and the pool is paid to them. No one at From Us To You chooses the result. The entries, draw, and payouts all leave public records on Base.
One rule matters above all the others: if the website and the blockchain ever disagree, pause and trust the blockchain record. That includes claims made by us.
Current deployment details to check
The official website and this document should agree on the deployment details. If they do not, pause and verify through official channels before signing anything.
At the time this file was generated, the app repository was configured with:
| Item | Value |
|---|---|
| Official website | https://fromustoyou.org |
| Network | Base Sepolia testnet |
| Daily pool contract | 0xA8Fe1500B269FDb765BC3ab0D6B79E9fc1bc33a9 |
| Mock USDC token for this deployment | 0x544C723d40537FB18a58CE6C5B5c7F6B1aA3c369 |
Base Sepolia is a test network. If From Us To You moves to a mainnet deployment, this section must be updated before this document is published to the public. A real money deployment should clearly show the correct mainnet network, contract address, and USDC token address.
3. Why this runs on Base
We chose Base, an Ethereum layer-2 network, for two practical reasons:
- Its transaction fees are usually low enough to make small contributions practical.
- Chainlink VRF is available there. It supplies reliable randomness that can be verified on-chain, so the developer does not choose the winners.
That combination matters here. Low costs make a 10-cent or $1 pool possible, and verifiable randomness lets participants check that the draw followed the public process. Network fees and conditions can still change.
4. What you actually do as a participant
The intended routine is deliberately uneventful:
- Open the From Us To You website.
- Connect your crypto wallet.
- Set a USDC allowance for the contract. Approval is permission, not a payment.
- Pick a tier: $1.00 or $0.10.
- Select the days you want. Many people will choose 30 at once.
- Confirm the transaction in your wallet.
- Wait for the daily pool to close.
- Check the result in a few seconds, then get on with your day.
Your USDC stays in your wallet until you choose to join a pool. Approval is permission. Joining is the payment. Those are two separate steps, and the app treats them that way.
One transaction can join many future pools, with up to 60 selected days at a time in the current interface. Join a month, check once a day, close the app, and move on. There is no feed, streak, strategy, or reason to keep the app open.
On a phone, open fromustoyou.org inside your wallet app's built-in browser. Coinbase Wallet, MetaMask, and Rainbow all include one. Switching from a regular mobile browser to a wallet and back can lose the connection or interrupt signing. The wallet's own browser keeps the website and signing flow together.
5. The two tiers: a dollar, or a dime
The amounts are small on purpose. This is meant for people who can take part without putting pressure on their budget, not for anyone trying to spend their way into better odds.
| Tier | Goes into prize pool | Participation fee | Total USDC cost per day |
|---|---|---|---|
| $1.00 tier | 1.00 USDC | 0.01 USDC | 1.01 USDC |
| $0.10 tier | 0.10 USDC | 0.001 USDC | 0.101 USDC |
You also pay the network gas fee. Gas goes to the blockchain network, not to From Us To You.
The contribution and fee are separate. Every $1 or 10-cent contribution goes into the pool. The additional 1% is the participation fee. We intend to use that fee for two purposes:
- Build version 2 of the smart contract: scale to millions of participants, complete an independent professional audit, reduce operational dependence on any one person, and explore a sustainable way to subsidize a 1-cent pool.
- Develop other public-purpose applications that look for sustainable ways to help society, rather than treating revenue as the only goal.
The fee has a permanent $2,000,000 lifetime cap enforced by the contract. Once the cap is reached, the contract stops collecting it. The uses above are a public commitment; the contract limits how much can be collected, but it does not decide how withdrawn development fees are spent.
6. One wallet, one entry per day
Each wallet address can join only one pool per day.
That means:
- You cannot join both the $1.00 tier and the $0.10 tier on the same day from the same wallet.
- You cannot enter the same day multiple times from the same wallet.
- Once a future entry is confirmed on-chain, there is no normal cancel button. Refund paths exist only for specific contract recovery conditions.
That limit is part of the project's character. The app is meant to make one small daily contribution feel sufficient, not pressure people to keep spending for more entries. Someone can still use more than one wallet, which section 17 addresses honestly, but every entry must be paid for.
7. How winners are selected
Pools close at 00:00 UTC. Afterward, anyone can call the contract to close a non-empty pool and request randomness.
Chainlink VRF returns verifiable randomness to the contract. The contract uses that value and its public winner-selection rules to choose the winning entry or entries.
In plain terms, nobody at From Us To You picks the winners. The developer does not upload a list, run a hidden randomizer, or choose a preferred wallet. The request, fulfillment, selected wallets, and payouts all create public on-chain records. You can inspect that sequence without relying on our account of it.
8. How payouts work
The number of winners depends on how many people joined that specific pool:
| Participants in pool | Number of winners | What happens |
|---|---|---|
| 1 to 10 | 1 winner | One winner receives the pool, minus tiny rounding dust if any |
| 11 or more | 10 winners | Ten winners split the pool equally |
Any small remainder caused by integer division rolls into a future pool for that tier. It remains accounted for by the contract.
9. What are the odds?
Your odds depend on the number of entries in your specific pool. There is no fixed win rate.
The formula is simple:
chance = winner spots / entriesThe app displays the same chance as "1 in X":
X = entries / winner spotsIf X is a whole number, the app hides the decimal. If it is not, the app shows one decimal place. Under the current rule of either one winner or 10 winners, that is enough to express the denominator exactly. Each paid entry in a pool has the same chance.
Example 1: $1.00 tier with 8 participants
- Participants: 8
- Winners: 1
- Your chance: 1 in 8 (12.5%)
- Prize pool: 8.00 USDC
- Winner receives about 8.00 USDC
Example 2: $1.00 tier with 10 participants
- Participants: 10
- Winners: 1
- Your chance: 1 in 10 (10%)
- Prize pool: 10.00 USDC
- Winner receives about 10.00 USDC
Example 3: $1.00 tier with 11 participants
- Participants: 11
- Winners: 10
- Your chance: 1 in 1.1 (10 winner spots out of 11, about 90.91%)
- Prize pool: 11.00 USDC
- Each winner receives about 1.10 USDC
High odds, small payout, because the pool is small.
Example 4: $1.00 tier with 1,000 participants
- Participants: 1,000
- Winners: 10
- Your chance: 1 in 100 (10 winner spots out of 1,000, or 1%)
- Prize pool: 1,000.00 USDC
- Each winner receives about 100.00 USDC
Example 5: $1.00 tier with 10,000 participants
- Participants: 10,000
- Winners: 10
- Your chance: 1 in 1,000 (10 winner spots out of 10,000, or 0.1%)
- Prize pool: 10,000.00 USDC
- Each winner receives about 1,000.00 USDC
Example 6: $1.00 tier with 1,000,000 participants
- Participants: 1,000,000
- Winners: 10
- Your chance: 1 in 100,000 (10 winner spots out of 1,000,000, or 0.001%)
- Prize pool: 1,000,000.00 USDC
- Each winner receives about 100,000.00 USDC
As a pool grows, each entry's chance gets smaller while the amount per winner gets larger. With one million $1 entries, for example, 10 winners would each receive about $100,000 before any tiny rounding remainder. That scale is an ambition, not a promise. It depends on real participation, reliable infrastructure, and a contract capable of handling that load, which is one reason version 2 and an independent audit matter.
Same odds, different dollar amount
If the $0.10 tier has the same number of participants, the odds are identical. Only the pool is smaller.
For example, with 10,000 participants in the $0.10 tier:
- Participants: 10,000
- Winners: 10
- Your chance: 1 in 1,000
- Prize pool: 1,000.00 USDC
- Each winner receives about 100.00 USDC
10. An honest reality check
Higher participation generally means lower odds for each entry and a larger amount for each winner. Lower participation means the reverse. The jump from 10 to 11 participants is unusual: the contract changes from one winner to 10, so the chance rises sharply while the amount per winner becomes small.
This is not a profit system, and we will not pretend otherwise. Over time, if the randomness is fair, each entry's expected share of the prize pool is roughly proportional to what it contributed, before fees and gas. That is also why using many wallets does not magically create free money. More entries simply cost more money.
The right way to think about your entry is not "investment." It is closer to this: today, my small amount joined everyone else's and went to the people selected from the pool. Another day, my wallet might be selected. If that exchange is not appealing on its own, this app is probably not for you, and that is completely fine.
11. Why you do not have to trust this website
A website can display any number it wants. That is why the website should be treated as a convenient view of the contract, not the final source of truth.
From Us To You is designed so the parts that matter can be checked outside the website:
- The contract address can be opened on BaseScan.
- The contract source code can be verified and read.
- Your wallet transaction can be checked.
- Pool events can be checked.
- Randomness request and fulfillment events can be checked.
- Payout transactions can be checked.
- Winner addresses can be compared against blockchain records.
The claims that matter have on-chain counterparts. If the interface and those records disagree, stop before signing another transaction and investigate the difference.
12. Privacy: what the app asks for
The app does not ask you to create a personal profile.
There is no name, email address, or phone number to enter. Your wallet signs you in. Its public address, entries, and transactions are recorded on a public blockchain and remain visible there. A wallet address is pseudonymous, not private, and may be linked to a person through other activity.
In short: the app does not build a personal user account, but your on-chain activity is public by design. Never put information into a transaction that you would not want to remain public.
13. Built to run without any one person
We intend to support this project indefinitely. But "trust us to stick around" is not a durable operating model, so the contract exposes the core actions publicly.
The core day-to-day actions that keep pools moving can be called by anyone, from any wallet, directly on the contract:
- Joining pools is direct. Any wallet can call joinPools; no administrator batches or approves entries.
- Anyone can close a finished day's pool, which triggers the request for Chainlink randomness.
- If a randomness request gets stuck, anyone can retry it after 24 hours. On this specific recovery path, the admin can act sooner, after 10 minutes.
- Once randomness is fulfilled, anyone can trigger the prize distribution.
- If a bulk payout ever needs manual recovery, anyone can pay out the individual winner slots.
If the usual worker or website disappeared, another person could still call these contract functions. That makes recovery possible without the original interface or operator.
The main long-term dependency is Chainlink VRF itself. Randomness requests need a funded, working VRF subscription and valid VRF settings. Those settings are admin-managed in this deployment, so a future version should reduce that dependency before anyone describes the system as fully adminless forever.
The same applies to this website. It is a convenience, not the source of the pool data. Anyone willing to index the public contract events and state can build and host another interface to the same deployment.
14. How to check the important claims yourself
You do not need to be technical to run most of these. Each one compares something the app claims with something the blockchain proves. If a check fails, pause and ask questions before joining more days. We would rather you arrive at trust through evidence than through our tone of voice.
Check 1: The contract link opens the real BaseScan page
Action:
- In the app, open the contract verification link.
- Confirm it opens BaseScan.
- Check the network shown by BaseScan.
What you should expect:
- The contract address on BaseScan matches the contract address shown by the app.
- The network matches the one the app says it is deployed on.
Check 2: The contract source code is verified
Action:
- On BaseScan, open the contract page.
- Look for the Contract tab.
- Check whether the source code is verified and readable.
What you should expect:
- BaseScan shows the contract source code as verified.
- You can read the contract's functions and events. The rules that govern your money are not a black box, and you can inspect the same code we deployed.
Check 3: The join transaction amount matches your selected days
Action:
- Before confirming a join transaction, calculate the expected total yourself.
For the $1.00 tier:
expected cost = number of selected days x 1.01 USDCFor the $0.10 tier:
expected cost = number of selected days x 0.101 USDCWhat you should expect:
- 1 day in the $1.00 tier: 1.01 USDC.
- 10 days in the $1.00 tier: 10.10 USDC.
- 30 days in the $0.10 tier: 3.03 USDC.
- Your wallet may also show a separate network gas fee.
The requested transfer should not exceed the published tier prices multiplied by your selected days. If your own math and the wallet request disagree, cancel and understand why before confirming.
Check 4: Your transaction is confirmed on-chain
Action:
- After joining, open the transaction on BaseScan from your wallet or the app.
- Check the transaction status.
What you should expect:
- The transaction shows Success.
- It involves the official contract.
- The transferred amount matches your selected tier and number of days.
Check 5: Your selected day appears as joined
Action:
- Return to the app after the transaction confirms.
- Check the participation calendar.
- If the app has a history modal, check your recent activity.
What you should expect:
- The selected day appears as joined or confirmed.
- Recent transactions may take a few minutes to sync.
- If syncing is delayed, BaseScan is still the source of truth. Your entry is recorded by the contract, not created by the app's database.
Check 6: The pool math makes sense
Action:
- Look at a settled pool on the Results page.
- Check the tier, participant count, total pool, winner count, and amount per winner.
What you should expect:
For the $1.00 tier:
prize pool should be about participants x 1.00 USDCFor the $0.10 tier:
prize pool should be about participants x 0.10 USDCIf there are 11 or more participants:
amount per winner should be about prize pool / 10If there are 1 to 10 participants:
amount per winner should be about the full prize poolSmall differences can happen because of rounding dust. Everything contributed to a pool should be visibly accounted for: it either went to winners or rolled into a future pool.
Check 7: Results have BaseScan proof
Action:
- Open a recent result.
- Click the BaseScan transaction link.
- Compare the winner addresses and payout amounts with what the app shows.
What you should expect:
- The transaction exists.
- It involves the official contract.
- The winner addresses match the app.
- The payout amounts match the app, allowing for tiny rounding dust.
A settled result should be traceable to public contract events and one or more payout transactions. Individual-slot recovery can produce several payout transactions instead of one bulk transaction.
Check 8: Randomness and payout events are public
Action:
- On BaseScan, look at the contract events or transaction logs for a settled pool.
- Look for events connected to the randomness request, randomness fulfillment, and prize distribution.
What you should expect:
- A pool close is followed by a randomness request.
- Randomness is fulfilled before winners are finalized.
- Prize distribution is visible through contract events or payout transactions.
This sequence answers the biggest question: did the contract receive VRF randomness before determining the winners? The pool close, randomness request, fulfillment, winner data, and payouts leave an ordered public record. If part of that sequence is missing, do not rely on the interface alone.
This last check may feel technical. If you are not comfortable reading logs, ask someone you trust to help you compare the app's result with the BaseScan record. The point is that the proof exists for anyone who wants to look.
15. Your first time: a step-by-step walkthrough
Use this process the first time you try the app. Take it slow. There is no rush. There is a pool tomorrow, and the day after that.
Step 1: Open the contract link before connecting
Find the contract verification link in the app and open it.
Expected result:
- It opens BaseScan.
- The contract is on the expected network.
- The contract address matches the app.
- The contract source is verified.
Step 2: Connect your wallet
Use your normal wallet app or browser extension. On a phone, open the website inside your wallet app's built-in browser rather than a regular mobile browser. It avoids the app-switching that often breaks signing.
Expected result:
- The wallet connection happens through your wallet.
- You approve the connection in the wallet.
- The app uses your public wallet address as your participant identity. It does not ask for a name, email address, or phone number.
Step 3: Approve an amount
Approve the amount you plan to use.
Expected result:
- The wallet prompt shows USDC.
- The spender is the From Us To You contract.
- The amount is what you chose.
- Your USDC does not leave your wallet just because you approved. Approval is permission, joining is the payment.
Step 4: Join one day first
Pick one day and one tier. Confirm the transaction.
Expected result:
- For the $1.00 tier, the cost is 1.01 USDC plus gas.
- For the $0.10 tier, the cost is 0.101 USDC plus gas.
- The transaction appears in your wallet activity.
Step 5: Open the transaction on BaseScan
Check the transaction after it confirms.
Expected result:
- Status is Success.
- The transaction is on the right network.
- The contract address matches.
- The USDC amount matches your selection.
Step 6: Check the app calendar
Return to the participation page.
Expected result:
- Your joined day appears as joined.
- If it does not appear immediately, wait a few minutes and refresh.
- If the app and BaseScan disagree, BaseScan is the stronger proof.
Step 7: After the day closes, check results
After 00:00 UTC and after the draw and distribution complete, open Results.
Expected result:
- The day appears in the results calendar once settled.
- The result shows tier, participant count, winners, and payout.
- There is a BaseScan link for verification.
Step 8: Compare the result math
Check whether the displayed payout makes sense.
Expected result:
- Participants times contribution equals the approximate prize pool.
- The winner count follows the rules.
- The payout per winner is correct.
Step 9: Choose a routine that suits you
Once you are comfortable with one entry, choose the future days you actually want. Many people will join 30 pools at once and then check briefly each day. Fewer days is equally valid.
Expected result:
- One join transaction covers every selected day.
- Each confirmed day appears separately on the calendar.
- You do not need to leave the app open or do anything daily for the entry to remain valid.
Step 10: Keep your links
Save or bookmark your transaction links.
Expected result:
- You can independently prove what you signed, what you paid, and whether you won, without ever needing our help to do it.
16. What this system can prove, and what it honestly cannot
What the blockchain can help prove
- Which contract you interacted with.
- Which wallet sent a transaction.
- Which token amount was approved or transferred.
- Which pool events happened.
- Which winners were recorded on-chain.
- Which payout transactions happened.
What no document or website can guarantee
- That a smart contract has no bugs.
- That you will win.
- That gas fees will stay the same.
- That Chainlink VRF, Base, the token contract, or third-party wallet software will always be available.
- That a payout will arrive at an exact time when a network or external dependency is delayed.
- That the current version can safely serve millions of users before version 2 and an independent audit.
The contract does enforce its rules and make its actions inspectable. That is different from promising that software and external networks can never fail. Start small, check the evidence, and participate only at the pace of your own understanding and comfort.
17. "But what if someone uses a hundred wallets?"
It is a fair question.
Using many wallets can increase one person's share of entries, but every entry still has to be paid for.
Simple example:
- A pool has 50,000 total entries.
- One person controls 10,000 of them.
- That person controls 20% of the entries.
- Over many fair random draws, they would expect about 20% of the winner spots.
- They also paid about 20% of the pool contributions.
No free expected profit appears in that math. They paid more to own a larger share of a pool they also helped fill. Participation fees, gas, and operational effort make the strategy worse, not better.
Many wallets would only be a real problem if someone could also manipulate the randomness, pay less than others for the same entry, or exploit a contract bug. That is exactly why the checks above focus on contract rules, transaction amounts, randomness, and payout proof. Those are the places where cheating would actually have to live, and they are all public.
18. Helpful references
These external resources explain the verification concepts in more depth:
- BaseScan contract verification: https://info.basescan.org/how-to-verify-contracts/
- BaseScan event logs: https://info.basescan.org/what-is-event-logs/
- Chainlink VRF explainer: https://chain.link/education-hub/verifiable-random-function-vrf
19. A final word
From Us To You is not a get-rich system. It is a small daily exchange between people: most days your contribution goes to someone else, and on a lucky day you receive the pool or a share of it. With enough responsible participation, amounts that are small to each contributor can become genuinely useful to the people selected.
If you join, join with that understanding. Use only disposable income. Start with one day, check the transaction, understand the odds, and decide whether the 30-day rhythm feels right for you.
We do not want the page's tone to be the reason you trust the project. Trust should come from reading the rules, checking the records, and seeing that the system does what it says. If the idea still feels worthwhile after that, you are the person this was built for.
From us, to you.