Sway

FAQ

Which products and regions does Sway cover?

The pilot covers running and outdoor footwear and gear for shoppers in the US. The categories a deployment accepts are listed as allowedShards at https://api.swayoffers.com/v1/encryption.

Do brands need to install anything?

No. A brand needs a browser with a Solana wallet, opens https://swayoffers.com/console, and does everything there: registration, bond, campaigns, offers, order receipts, refunds and receipt-key rotation. See For brands.

What do agent developers install?

The @sway/mcp package, on the device the agent runs on: npm install -g https://swayoffers.com/downloads/sway-mcp-0.3.1.tgz, then sway-mcp init --api https://api.swayoffers.com. Registration happens in the integrator console at https://swayoffers.com/agents with a browser wallet. See For agent developers.

Which wallets work on Sway's pages?

Any Solana wallet the browser exposes through Wallet Standard, in the brand console, the integrator console and the operator page alike. The pages name Phantom, Solflare and Backpack. Hardware wallets that connect over USB are not offered. See Connect a wallet.

My merchant status says pending. What happens next?

The Sway operator activates the merchant from the operator page once your registration is final on chain and your bond meets the deployment's minimum. The console reads the status every 5 seconds and shows active. You can then create campaigns and post offers.

My integrator status says pending. What happens next?

The Sway operator approves the integrator from the operator page. Reload the integrator console to read the new status: once it is active, the Agent keys panel appears and you can register your devices' keys.

How large must the bond be?

At least the minimum set in the deployment's on-chain configuration (minimum_bond); the program checks it at activation. The bond pays dispute compensation of up to 50 USDC per case, in a slash_bond transaction the operator's Config admin wallet signs on the operator page. The operator returns the bond from the same page with Release bond once the merchant is suspended, no conversion is waiting for verification, and the last lock plus the dispute window has passed; the whole balance goes to your wallet's own USDC account.

Can I take money back out of a campaign?

Yes. Withdraw returns any USDC still in the campaign vault. Verified rebates already sit in escrow and leave the campaign when the shopper claims, or return to it if you refund inside the lock.

Who can read my offer's terms?

Nobody outside the MPC computation. Your browser encrypts the rule before it is sent, and Sway's API, the relayer and the chain hold only ciphertext. Brands that are not chosen learn nothing about an intent, and the brand that is chosen learns about the order when the sale happens. A recorded sale's receipt carries the price paid and the proposed rebate, so Sway sees the amounts of each conversion, never the rule behind them.

Why was my offer rejected with REBATE_OVER_CAP?

The offer's rebate was higher than the campaign's cap per conversion. Post the offer again with a rebate at or below that cap, or post it under a campaign with a higher cap. No campaign cap can exceed 50 USDC.

What price do I enter when I record an order?

The offer's product price, exactly. Verification compares the receipt amount with the sealed price to the base unit, and any difference fails the conversion.

What rebate do I enter when I record an order?

The offer's rebate. Leave Rebate, USDC empty for an offer you sealed in the same browser, and the console fills it from the terms it kept. The rebate travels with the receipt as a proposal, and Arcium's verification checks it against the sealed winning offer before any USDC moves.

What happens when a customer returns the product?

Before the unlock time, select Refund on the conversion in the brand console. The receipt key in your browser signs the refund notice, and the whole debit, rebate and fees, returns to the campaign vault. The lock counts from verification and is at least as long as your return window, so returns inside that window fall inside the lock.

How do I change the receipt key?

Select Rotate receipt key in the brand console and approve the rotate_receipt_signer transaction. The program opens a new signer epoch for a key created in your browser, and later receipts and refunds are signed with it.

Does Sway have a token?

Yes, $SWAY. Its supply is fixed at 1,000,000,000, all of it went to the public launch on equal terms, and Sway's whole share of every fee buys SWAY on the market and burns it. Payments inside Sway stay in USDC, so brands, shoppers and agents never need to hold SWAY to use it. Details are in The SWAY token.

What does a brand pay if nobody buys?

No fee. Listing an offer and taking part in matching are free, and campaign funds still in the vault can be withdrawn. A brand is charged the rebate plus 15% only for a verified purchase. Its wallet also pays the Solana fees and account rent of the transactions it signs.

When does a shopper receive the rebate?

After the lock ends: the campaign's lock days, counted from verification, and never shorter than the store's return window. The shopper's agent then claims it.

Can a shopper claim to a brand-new wallet?

Yes. A claim pays any Solana wallet address the shopper chooses. Sway's relayer pays the transaction fee and creates the address's USDC account if it has none.

What if matching takes too long?

A matching computation has 180 Solana slots to finish. If it expires, the agent retries once. If the retry expires too, find_offers returns the intent as cashback_fallback with the reason COMPUTATION_EXPIRED_TWICE, and no voucher is issued for it.

Where does the MCP package keep its keys?

In the operating system's keychain: Keychain on macOS, Credential Manager on Windows, Secret Service on Linux. That includes the agent key and one claim key and one result key per intent. The integrator authority stays in your browser wallet, or in the keychain when you hold it on a machine instead. status prints public IDs and keys only. Sway keeps no copy of a claim key, so claims run from the device that made the intent.

How does an integrator get paid?

At each claim, in the same transaction that pays the shopper. The integrator receives 5% of a brand rebate, which the brand pays on top of the rebate. The USDC goes to the payout wallet registered with the integrator. See Fees and settlement.