PEARLS BOT

PEARLS20 BOT

Total Vol - 24h Vol - Trades -
PEARLS / PRL
-
-
-
-
-
-

Price · Volume

Recent Trades

AssetPriceAmountSeller → BuyerFeeTime

Wallet

Mint PRL20

Deploy PRL20

Transfer PRL20

Send PRL

Recovery

Split UTXO

Documentation

Overview

PEARLS20 is a wallet and marketplace for PRL-20 tokens on the Pearl blockchain. It is available as a Telegram bot and this web app — same backend and wallets. You can mint, deploy, create transfer lots, list them for sale, and pay in native PRL.

The PRL-20 protocol

PRL-20 is an inscription-based token standard, similar in spirit to BRC-20 on Bitcoin. Tokens are not smart contracts; instead, JSON operations are inscribed into transactions and the network state is derived by reading those inscriptions in block order. The core operations are:

  • deploy — create a ticker, fixing its max supply, mint limit (max tokens per single mint) and optional premint.
  • mint — create new tokens up to the mint limit, while the total minted stays below max supply.
  • transfer — create a transfer lot (tokens locked on a taproot UTXO) or spend that UTXO to move the lot to another address.

Each inscription is committed with a two-transaction commit/reveal pattern: a commit transaction locks an anchor output, and a reveal transaction carries the actual JSON payload. Balances only change once the reveal is mined.

The indexer

Because PRL-20 state is not stored by any contract, the marketplace runs its own indexer that reconstructs balances from the chain:

  • A dedicated indexer process scans the chain block by block, parses every valid deploy/mint/transfer inscription and maintains an in-memory map of address → ticker → balance plus deploy metadata (max supply, mint limit, total minted).
  • State is persisted to an embedded database and periodically written to a snapshot file, so a restart never has to re-scan from genesis.
  • The bot/web process loads that snapshot and refreshes it continuously, serving balance, holder and supply queries instantly without hitting the chain on every request.
  • Invalid operations (over the mint limit, exceeding max supply, transfers above balance) are rejected exactly as the standard dictates, so displayed balances match real on-chain ownership.

The Top Holders panel and Minted % are computed directly from this indexed state. Legacy escrow listings may still show the escrow address as a holder; new listings use per-seller transfer lots.

Wallet security

Wallets are non-custodial in the sense that each user controls their own keys, but for a frictionless bot/web experience keys are managed server-side. We take this seriously:

  • Private keys / seed phrases are encrypted at rest using authenticated encryption (AES-256-GCM). The encryption key lives only in the server environment, never in the database or code.
  • Seed phrases are shown to you once on generation — save them. You can also import an existing seed or key, and the same wallet is shared between the web app and the Telegram bot.
  • Web sessions are authenticated through Telegram login and carried in an HMAC-signed, HTTP-only session cookie; the signature prevents forging another user's session.
  • All balance/spend endpoints require a valid session, and money/chain-spending endpoints (buy, sweep, list, send, split, mint, deploy, transfer) are additionally rate-limited per client to throttle abuse.
  • Signing happens entirely server-side; raw keys are never sent to the browser.

How trading works (transfer lots)

Sellers list an on-chain transfer lot — a PRL-20 transfer inscription bound to a specific UTXO on the seller's wallet (no central escrow deposit):

  1. Create a lot. Inscribe transfer without a to field; tokens move from your available balance to the lot UTXO (~0.1 PRL platform fee on reveal).
  2. Listing. Place a sell order by referencing the lot outpoint (txid:0). The listing is active immediately; the lot UTXO stays on your wallet until a buyer purchases.
  3. Buying. The order is locked, the buyer pays PRL to the seller, then the seller's wallet spends the lot UTXO to the buyer (key-path spend).
  4. Cancel. Return removes the marketplace order only; the transfer lot remains on your wallet (withdraw via Transfer to send the lot to yourself and restore available balance).
  5. Legacy escrow. Older listings may still use the shared escrow address; sweep buy works only for those escrow-backed orders.

Fees

The marketplace charges 0.1% per side with a minimum of 0.1 PRL: the buyer pays 0.1% on top of the price, and 0.1% is withheld from the seller's proceeds. So a completed sale yields the platform 0.2% total. There is no fee for simply listing or for minting/deploying beyond the normal network gas.

Sweep buying

For escrow-backed listings only, sweep buys many of the cheapest orders in one payment plus one combined token release. Lot-backed listings must be purchased one at a time.

Splitting UTXOs

Pearl is UTXO-based: your balance is a set of coins. A payment, mint or listing spends a coin above 1 PRL, and while it is unconfirmed you may be unable to start another. The Split UTXO tool consolidates your spendable coins and sends them back to yourself as several equal coins (each kept above 1 PRL), letting you run multiple mints/buys/sells in parallel from one wallet.

Disclaimer

PRL-20 tokens are experimental. Trade only what you can afford to lose, always save your seed phrase, and verify transactions in the explorer. Use at your own risk.