← Articles
Solana DvP: atomic delivery-versus-payment, not deployed logo
solana

Solana DvP: atomic delivery-versus-payment, not deployed

· OCT 13, 2026 ·
Read
Share
LinkedIn

Funding is a raw SPL transfer. Settlement authority only. MIT. X @SolanaFndn.

devrels.xyz/a/367

Solana DvP is a canonical on-chain program for atomic delivery-versus-payment between two parties. One transaction moves both legs. Repo: github.com/solana-foundation/dvp. MIT. Pinocchio. X @SolanaFndn.

user_a (seller) and user_b (buyer) exchange amount_a of mint_a for amount_b of mint_b. Only settlement_authority can Settle. Create is permissionless. Verify stored terms before you fund. Funding is a raw TransferChecked into escrow ATAs. No custom fund instruction. Settle transfers both legs, refunds surplus, closes the PDA. Expiry max one year. Time is cluster clock. Nonces are single-use via a tombstone PDA. The declare_id! dvp34bdbcEm4f4FCUjGV4mDAkDshaQR4LkK8fdcsyZq is a placeholder. README: the keypair is not available and the program is not deployed to it. Deploy needs a fresh keypair, then rebuild IDL and clients.

IxSigner
CreateDvpany
ReclaimDvpuser_a or user_b
SettleDvpsettlement_authority
CancelDvpsettlement_authority
RejectDvpuser_a or user_b
RecoverDvpuser_a or user_b, post-close late deposits

Mix legacy SPL and Token-2022 per leg. Create rejects TransferFee, InterestBearing, ScaledUiAmount, NonTransferable. WSOL legs SyncNative. Parties must be signer-capable (wallet or smart-wallet PDA). Token multisig as a party is rejected. Build: make build, make unit-test, make integration-test. Audit: Cantina. No public HTTP API.

Keep reading

Get new articles in your inbox

Technical deep-dives on Solana tooling, infrastructure, and ecosystem. No noise.