send21

Non-custodial payment drafts/pay links for BTC, USDC, USDT, EURC.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data

What it can do

    What data it sees

    Do you need an account

    No: the server works without sign-in

    Non-custodial payment drafts/pay links for BTC, USDC, USDT, EURC. Never holds keys.

    Server tool list (9)

    Raw names from tools/list. Only developers need these.

    get_transaction_templateGet the multi-output transaction template for a draft: Bitcoin Core walletcreatefundedpsbt arguments and Electrum/Sparrow pay-to-many CSV. The operator's wallet funds, reviews, and signs it — send21 contains no signing code. Requires scope drafts:read.
    get_fee_scheduleGet the public send21 fee schedule: tiered percent by payment size in USD, min/max fee, and dust limit. No authentication needed.
    create_payment_requestCreate a payment request / checkout pay link (you are the RECEIVER asking to get paid). Price in any of 165 fiat currencies; the payer opens the returned payPath, picks one of the offered currencies (rate locks then), and pays a single QR-scannable transfer straight to your address. Requires scope drafts:write.
    list_address_bookList the account's saved addresses (label, address, network, direction: Sending = recipients the owner pays, Receiving = the owner's own addresses). Requires scope addressbook:read.
    get_draftGet a payment draft by id, including amounts, fee, quote, and status. Requires scope drafts:read.
    get_payment_requestGet a payment request by id: status (Open/Completed/Cancelled/Expired), pay path, offered currencies, and the underlying draft once the payer committed. Requires scope drafts:read.
    get_rateGet the current exchange rate for an asset in a fiat currency (rate = fiat units per 1 whole asset unit, with source provenance). Assets: Btc, Usdc, Usdt, Eurc. 165 ISO-4217 fiat currencies are supported.
    create_draftCreate a non-custodial payment draft (you are the SENDER paying a receiver address). Amount is either exact base units (sats for BTC, micro-units for stablecoins) via amountBaseUnits, or fiat-pegged via fiatCurrency+fiatAmount with the exchange rate locked at creation. Returns the draft incl. id, amounts, fee, and status. Funds move only when the sender signs in their own wallet — send21 never holds keys. Requires scope drafts:write.
    get_draft_statusLightweight status snapshot of a draft: status (AwaitingPayment/Seen/Confirmed/Expired/Cancelled), paying txid, confirmations. Cheap to poll. Requires scope drafts:read.
    send21: connect to Claude, ChatGPT, Cursor · Connectors.fun