Skip to content
Pilot

Venue catalog

23 venues, one map

The catalog (services/harbor/catalog/venues/*.yaml) describes every place an XRPL user can trade, lend, earn or pay. It powers venues.list, venues.get, search and the app's Map.

await harbor.venues.get({ id: "xrpl-dex-clob" })

XRPL primitives with builders

These can be executed through Pilot (on Testnet/Devnet).

VenueTransactionsBuilders
xrpl-dex-clob: DEX order bookOfferCreate, OfferCanceltx.swap, tx.offer, tx.offerCancel
xrpl-amm: AMM poolsOfferCreate, Payment, AMMDeposit, AMMWithdrawtx.swap, tx.ammDeposit, tx.ammWithdraw
xrpl-paymentsPaymenttx.payment (owner-signed)
xrpl-escrowEscrowCreate, EscrowFinish, EscrowCanceltx.escrowCreate (owner), tx.escrowFinish, tx.escrowCancel
xrpl-checksCheckCreate, CheckCash, CheckCanceltx.checkCreate (owner), tx.checkCash, tx.checkCancel
xrpl-single-asset-vaultVaultDeposit, VaultWithdrawtx.vaultDeposit, tx.vaultWithdraw (Devnet, owner)

Primitives catalogued without builders

VenueStatusRead with
xrpl-lendinglive on Devnet and Lending-Devnet; voting on Mainnetlending.brokers
xrpl-permissioned-dexlive on Mainnet, Testnet, Devnet—
xrpl-x402off-ledger payment protocolx402.pay (x402)

Ecosystem venues (discovery)

VenueLayerMainnet status
doppler-financeoff-ledgerlive
first-ledgerXRPLlive
horizonXRPLlive
hyperliquid-xrp-perpsoff-ledgerlive (read via perps.markets)
magnetic-xXRPLlive
marsgateEVMunavailable
moai-financeEVMlive
orchestra-financeXRPLunavailable
securdoff-ledgerunavailable
soiloff-ledgerlive
strobeEVMunavailable
tx-network-sologenicXRPLlive
xpmarketXRPLlive
xrpl-evmEVM sidechainlive

Discovery venues are for research and routing explanations. Pilot never executes on them.

Compare routes

await harbor.venues.compare({
  network: "testnet",
  account: "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59",
  base: { currency: "XRP" },
  quote: { currency: "524C555344000000000000000000000000000000",
           issuer: "rQhWct2fv4Vc4KRjRgMrxa8xPN9Zx9iLKV" },
  size: "10000000"
})

Returns three priced routes (order book, AMM, payment path) with the unverified-match caveat.

Yield

yield.options compares AMM fee inputs, Devnet single-asset vaults and catalogued off-ledger yield venues in one call:

await harbor.yield.options({ amm_limit: 10, vault_network: "devnet", vault_ids: ["9E48...C3BA"] })