SCP Adaptor Signature Atomic Swaps
What crypto should have been all along
Two-way SCP, no custodian, no fork
Two years ago the Transporter gave SCP a one-way door to Solana: burn on the native chain, mint an SPL token, and go find liquidity. What it never had was a way back. As of WebWallet 1.22.0 it does, and the mechanism is worth understanding because it is not a bridge in the usual sense. There is no custodian, no wrapped token, no multisig council, and no change to ScPrime consensus. It is an atomic swap built on Ed25519 adaptor signatures — the same family of construction that runs Bitcoin-to-Monero swaps in production today. Two traders each lock their side in a contract only the two of them control. When one side claims, the act of publishing that signature mathematically leaks the secret the other side needs to claim theirs. Nobody holds anybody’s coins. If a counterparty walks away, the contract refunds you after its deadline — and your own wallet does the refunding.
Getting here was not a straight line. The obvious design is an HTLC, and ScPrime cannot run one: our chain has timelocks and plain Ed25519 signatures, but no scripting layer and no hashlock, so an HTLC meant a hard fork with SHA-256 in consensus. We scoped that fork, then proved it unnecessary — the stock signature verification and the existing timelock field are enough if the hashlock moves off-chain into the signature math. The second problem is that Ed25519 adaptor code is not commodity software. There is no widely audited package to import; the ones that exist say “use at your own risk,” and they mean it. So we treated the adaptor layer as consensus-grade code: a small, fixed-size module, test vectors for every path, an adversarial review of the refund path at the same depth as the spend path, and a sandbox that kills and restarts wallets at every step of a swap. The third problem is time. ScPrime is a ten-minute proof-of-work chain. A swap waits roughly ten blocks for a lock to settle, and the refund windows run about a day on the Solana side and a couple of days on ours. That asymmetry is the cost of the design, and the wallet says so on the approval screen before you commit — in hours, not in fine print.
Open source liquidity
What holders should know is short. A swap is a trade between two wallets, matched by a view-only board at scp-swaps.scpri.me. The board pairs you; it never touches funds, and a swap in flight finishes even if the board is down. Your wallet has to stay running until the swap completes, because your wallet is the one doing the work — there is no server acting on your behalf. If you sell SCP on Solana, you sign once when you place the offer, and you can cancel any time before someone takes it with one click and no second signature. Nobody loses principal. What you can lose is time: coins locked while a clock runs out, and through time, a price move you could not act on. The cases and what each one costs are spelled out in plain language inside the wallet, and I would rather you read them than trust me.
The reason this matters beyond convenience is liquidity. Today the deepest SCP market is the Orca pool on Solana, and a centralized exchange has been the only route from there back to native coins — a route that added friction to every Provider who found SCP on a DEX and then needed native SCP for collateral. With a return path that nobody controls, the Solana DEX becomes the primary market for miners and storage providers: mine on the native chain, transport out, sell into real depth. Then the storage side pulls it back. XNS storage contracting still settles on the native chain, so the contracting layer will buy Solana-side SCP where the liquidity is and swap it home to fund contracts — a steady buyer on the DEX, sourced from real storage demand, not from an exchange listing fee. Price discovery happens in one place, arbitrage between the chains is finally possible, and no exchange sits in the middle deciding whether SCP is worth their time. Update the wallet, place a small offer, watch the two chains do the rest — and verify it on either explorer.


