I’ve built an Ordinals atomic-swap marketplace. The core (settlement.js,
~260 lines) assembles a single unsigned transaction, co-signed by both parties:
inputs [buyer dummy, seller inscription, buyer payment]; outputs
[inscription→buyer (dummy+inscription value), payment→seller, change].
A sat-flow verifier asserts the inscribed sat lands in the buyer output before
signing. It’s proven end-to-end on regtest with a real ord inscription; it
runs on signet/regtest only and mainnet is code-locked.
Repo: https://github.com/Marvintymo/asset-loop
Specific questions:
-
Is the dummy-padded sat routing correct for non-zero inscription offsets and
multi-inscription UTXOs? -
I sign the fully-assembled tx with SIGHASH_ALL (no pre-signed listing). Is the
seller fully protected vs. the OpenOrdex SINGLE|ANYONECANPAY model? -
For taproot inputs added
witnessUtxo-only, what tap fields must be present
for arbitrary external wallets (Unisat/OKX/Xverse) to finalize reliably? -
Is my fee model (68 vB/in, 43 vB/out, +11, ×1.1) safe across input types?
-
Best practice for confirmation depth + double-spend checks before broadcast?
Thanks in advance!!












