Introduction

TrezorPay is a non-custodial crypto payment API. Create an address, let your customer pay it, and receive the funds in your own wallet minus 1.25%.

TrezorPay accepts crypto payments on Bitcoin, Litecoin, Bitcoin Cash, Dogecoin, Solana, Ethereum, BNB Smart Chain, Polygon, Base, Arbitrum, Optimism, Avalanche and Tron, and forwards each one on-chain to the wallet you choose as soon as it confirms. There is no account to open and no API key: one request gives you a deposit address, and your server is told about every payment through a signed callback.

Hand this to your AI agent

One prompt covering every endpoint, the callback signature, errors, idempotency and a test suite. Paste it into Claude, Cursor, Copilot or ChatGPT with your stack appended, and it scaffolds a working integration.

How it works

  1. Your server creates an address with /{ticker}/create/, passing your callback URL and your wallet.
  2. Your customer pays it. If you asked for it, we call your URL with pending=1 as soon as the payment is seen.
  3. We forward it. Once the payment has the confirmations its network needs, the amount minus our fee and the network cost is sent to your wallet.
  4. You get a signed callback with pending=0, the transaction ids and the amounts. Answer *ok*.

Conventions

  • Base URL: https://api.trezorpay.com
  • Every endpoint is a GET with query parameters, and every path ends with /.
  • No API key. The callback URL is the identity of a payment address: the same callback always returns the same address.
  • Success answers 200 with "status": "success". Errors answer 400 (or 404) with {"status":"error","error":"…"}.
  • Amounts are strings, so no precision is lost.

On this page