PetaSats

Non-custodial M2M liquidity layer

The bridge into BSV,
built for machines.

PetaSats swaps USDC / USDT ↔ BSV, and BSV ↔ BSV-21 tokens, as atomic machine-to-machine trades. One secret settles both legs — so the protocol never holds your funds, and neither party can take one side without releasing the other.

All of BSV is 2.1 petasats (21M × 100M sats). We're the rail that moves them — into the chain from the stablecoin economy, and back out.

What it is

Four moving parts, one settlement core.

Every capability rides the same trustless core: prove, then settle. Nothing pools, nothing is custodied, and value is never taken on faith.

Cross-chain atomic swaps

USDC / USDT on Base ↔ BSV, bound by one hashlock. The EVM side locks in a standard HTLC; the BSV side in a SHA-256 hashlock with a co-signed nLockTime refund. One secret unlocks both — atomic by construction.

USDC · USDT · DAI · WETH · cbBTC ↔ BSV

BSV-native token DEX

BSV ↔ BSV-21 trades settle through an OrdLock covenant — and the buyer proves the listing holds its tokens back to the deploy+mint genesis, via SPV inclusion and amount conservation. No indexer is trusted for value.

Provenance proven, not queried

Market-maker agents

Deterministic maker bots quote and settle liquidity on the edges — a sell-side OrdLock maker and an RFQ fund:BSV responder that turns a taken quote into a live cross-chain swap. The supply side runs itself.

Seeded from personal holdings

Non-custodial by construction

There is no pooled custody and no operator key over user funds. Every transfer is an atomic swap or a self-settling covenant, backstopped by a watchtower that recovers either leg at its timelock if a swap stalls. Math, not trust.

SPV-native · fail-closed

Proven on mainnet

Don't trust it. Verify it.

A real USDC → BSV atomic settlement, on mainnet, with live money. One secret unlocked both legs; PetaSats never touched the funds. Every hash below is on-chain — open the explorer and check.

settlement · USDC (Base) ↔ BSV · one hashlock, both legs
USDC leg Base · claimed
0x7dd57430b369a2fe2c14daff7df9169342de0ae79455f6dbc1e4fef6f3eaad79
Basescan ↗
BSV lock BSV · HTLC
b4921afd88a354307b4075c77a80f3cc26c3e5d628c36b0f97e210f4c4e9138a
WhatsOnChain ↗
BSV claim BSV · reveals s
3c2c865e45452d17fe695c25b729e6516c8a2ca8562f32b89bc96b57c0290325
WhatsOnChain ↗

The claim on BSV reveals the secret s; that same s releases the USDC. Reverse the order and it still holds — a stalled counterparty is always recoverable at the timelock. No step trusts the other side.

Integrate

One capability: convert().

Your users arrive without BSV; your app needs them funded. PetaSats is the drop-in liquidity leg — surfaced as an SDK, an MCP tool for agents, and an embeddable widget. Crypto → crypto, non-custodial; for a fiat leg, compose a licensed on-ramp in front.

The intents your users actually utter

  • swap 5 USDC to BSV
  • get BSV to pay for this 402 tool
  • top up 10,000 sats for the mint

SDK — the shape

// non-custodial, atomic, one call
const swap = await petasats.convert({
  from: 'USDC', to: 'BSV',
  amount: '5.00',
  deliverTo: wallet.address,
})
// → { settled, bsvTxid, secret } — funds move both ways or not at all

MCP — wire it into any agent

{
  "mcpServers": {
    "petasats": {
      "command": "npx",
      "args": ["-y", "@petasats/mcp"]
    }
  }
}
// tools: get_quote · swap_asset_to_bsv
//        fund_wallet · list_liquidity

Embeddable widget

<!-- drop into any BSV app -->
<fund-with-bsv
   asset="USDC"
   to="1L6X…Hgc"></fund-with-bsv>

Alpha. The core settles on mainnet today; the developer SDK, MCP server, and widget are in active build. Names and shapes above show the integration surface — get in touch to build against it early.