For shoppers
You use Sway through a shopping agent that supports it. You install nothing from Sway and connect no wallet. You tell your agent what you want to buy, and when a rebate is ready you tell it where to send the USDC.
What your agent does for you
- It keeps your preferences on your device: size, width, the most you will pay, the brands you already buy from, and any brand you value more than others. It encrypts them there, with a key made for this one purchase, before anything is sent.
- Brands' sealed offers are scored against your encrypted intent inside Arcium's MPC network. Your three best offers come back sealed to your device, and only your agent can open them.
- You choose an offer. The agent buys through the store's normal checkout at the offer's price and attaches a Sway voucher.
- The agent keeps the checkout receipt on your device and reports only a hash of it to Sway.
- When the rebate unlocks, the agent claims it to the address you choose.
What you see
For each offer: the brand, the product price and the rebate. Offers are ranked by rebate minus price, plus any bonus you gave a brand to say you prefer it. The bonus only ranks offers; nobody pays it.
After a purchase, your agent can show each rebate's amount, its unlock time and its state.
| State | Meaning |
|---|---|
| pending | The store's receipt is being verified |
| locked | Verified and held in escrow until the unlock time |
| claimable | Ready to claim |
| claiming | A claim is on its way |
| claimed | Paid to your address |
| refunded | You returned the product inside the lock, and the store cancelled the rebate |
| disputed | A dispute is open for this purchase |
| failed | The purchase did not verify against your offer |
What stays private
| Party | Learns | Never learns |
|---|---|---|
| Brands that were not chosen | Nothing | That your intent existed |
| The brand you bought from | The order, at purchase, as any store would | Your other preferences, rival offers, your wallet |
| Sway | Category, timing, agent key, conversion amounts | Your intent's contents, offer rules, which brands made your top three |
| The public chain | Campaign spend per conversion | Who received a rebate, unless claims are linked |
When your rebate unlocks
The lock starts when your purchase is verified and lasts the number of days the brand set on its campaign. That is never shorter than the store's return window. If you return the product before the unlock time, the store cancels the rebate and it shows refunded. After the unlock time the rebate is yours to claim.
Claiming to any address
Give your agent any Solana wallet address: one you already use or a new one. The agent signs the claim with the key it made for that purchase, and the claim pays the full rebate to that address in USDC. Sway's relayer pays the transaction fee, and if the address has no USDC account yet, the claim creates one.
Each purchase has its own claim key, so separate purchases are not linked to each other. Sending several claims to the same address links them, and that choice is yours. A claim is signed for one address; to change it, the agent waits for the earlier signature to expire, 120 seconds by default.
The claim key exists only in your agent's device keychain, and Sway keeps no copy. Claim from the same device and account your agent used to shop.
When no brand offer fits
If no brand offer matches your intent, or matching does not finish in two attempts, your agent shows no Sway offer for that purchase. Cashback from affiliate commissions for such purchases is built into Sway and turns on when the deployment connects an affiliate network.
Opening a dispute
If something went wrong with a purchase, ask your agent to open a dispute. It signs the dispute with the claim key for that purchase, so only your device can open it.
| Reason | When to use it |
|---|---|
MISSING_CONVERSION | You bought from your offer, but no rebate appeared |
INCORRECT_AMOUNT | The rebate differs from the offer |
UNEXPECTED_REFUND | The store cancelled the rebate although you kept the product |
The dispute carries a hash of the receipt your agent kept and an encrypted reference to it; the receipt itself stays on your device. Give your agent an address for compensation when it opens the dispute. The Sway operator reviews the case on the operator page and records an outcome with a hash of its resolution note. If it is resolved in your favor, the operator's Config admin wallet signs a slash_bond transaction that pays your compensation address from the store's bond, up to 50 USDC per case.
Each purchase takes one dispute. A dispute opens within the deployment's dispute window, which runs from the purchase's unlock time; for a missing rebate it runs from the purchase deadline plus the campaign's lock.
| Dispute state | Meaning |
|---|---|
open | Received |
under_review | Resolved in your favor; the bond payment is being made |
resolved_user | Paid to your compensation address |
resolved_merchant | Resolved in the store's favor |
rejected | Not upheld |