Tezos

Accept XTZ payments on Tezos.

Offer Tezos payments from your own checkout. Price an invoice in fiat, and let the customer pay with the enabled methods in your store.

At a glance

Native coin
XTZ
Accepted tokens
Native coin only
Fee currency
XTZ
Payment reference
New address per invoice
Wallet setup
Project wallet
Manual send / auto sweep
Supported with compatible providers

What you can receive

Native XTZ needs applied operations from TzKT or a compatible Octez source. Failed operations do not pay an invoice. FA1.2 and FA2 tokens are not accepted invoice assets.

Set up your store

  1. Install Wholly Crypto, create a project and store, and keep a private wallet backup.
  2. Check scanner-compatible connections and enable the chain and intended assets in Store → Payment methods.
  3. Set confirmations and expiry. Test a small invoice and verify settlement before fulfilling orders.
First project & invoice

Where your payments arrive

Invoices use separate receiving addresses. Keep the complete backup, address list and derivation details; an imported wallet may not discover every invoice address immediately.

Receiving guide

Move funds when you are ready

Manual sends and automatic sweeps support the native coin. Keep enough for fees and any network reserve or storage requirement. Receiving support alone does not prove a provider can submit transfers.

Automatic sweep tutorial

Payment troubleshooting

Check this network first

Only applied native XTZ transfers count. Failed operations and FA1.2/FA2 tokens do not pay the invoice. Sending needs a compatible verified protocol.

A payment is missing or delayed

Match the network, address, asset and any required reference to the invoice. Check scanner readiness and confirmation progress. Do not ask for a second payment until you have checked the first transaction.

Receiving guide
Restore or consolidate wallets

Keep your private backup and derivation details. A different wallet app may not display every receiving address. Sending and recovery depend on the chain and wallet format; neither is guaranteed by importing recovery words alone.

Backup & restore

Fees and verification

The default processing fee is 1% of the invoice’s fiat value, paid from separate credits. Your assigned rate applies. Network fees and server costs are separate.

Public providers can have outages or rate limits. A submitted transaction or return redirect is not proof of payment. Use the verified invoice status and signed notifications.

Processing credits API, IPN & webhooks
Rates calculator

Convert an amount

From
To
Estimated value…

Loading rates…

    An estimate, not a payment quote. Network fees, exchange fees and merchant spreads are not included.

    Where do the rates come from?

    Crypto estimates use cached public Kraken prices, with Binance where available. Some Binance prices use USDT as a USD reference. Fiat rates come from Frankfurter and are daily reference rates, not live trading quotes.

    The snapshot refreshes automatically. Check the source dates below your result. Your entered amount stays in your browser. Asset listings do not guarantee payment support.

    Kraken · Binance · Frankfurter · Asset names & icons: CoinGecko

    Choose a currency

    Create an invoice with the API

    Run these examples on your server. Replace the API host, project ID and store ID, and keep the credential private. Amounts are decimal strings.

    Enable the method in the store first. Selection narrows enabled methods; it does not add assets. If nothing matches, store defaults apply. Check the returned methods before presenting checkout.

    : "${WHOLLY_TOKEN:?Set WHOLLY_TOKEN to your server-side API token}"
    # Keep this key and the exact body for retries; use a new key for each new invoice.
    curl --fail-with-body --max-time 30 \
      --request POST \
      --url "https://api.example.com/v1/projects/YOUR_PROJECT_ID/stores/YOUR_STORE_ID/invoices" \
      --header "Authorization: Bearer $WHOLLY_TOKEN" \
      --header 'Idempotency-Key: order-1042-attempt-1' \
      --header 'Content-Type: application/json' \
      --data-raw '{
      "amount": "25.00",
      "currency": "EUR",
      "order_id": "order-1042",
      "payment_methods": [
        {
          "chain_slug": "tezos",
          "asset_tickers": [
            "XTZ"
          ]
        }
      ]
    }'
    Full invoice API reference Project & store IDs API, IPN & webhooks