Skip to main content
In a nutshell
Blockradar Checkout lets you accept stablecoin payments via shareable links—no customer accounts or complex integrations required. Create a link, share it, and receive payments directly to your wallet.

Prerequisites

Before creating payment links, ensure you have:
1

API Key

Get your API key from the Blockradar Dashboard. Navigate to Developers to generate one.
2

Master Wallet Created

Create a master wallet in the dashboard (see Create a Master Wallet). Payment links are tied to a wallet.
3

Checkout Plan Active

Ensure the Checkout feature is enabled on your account. Contact [email protected] if you need to activate it.
4

Webhook Configured (Optional)

Set up webhooks to receive real-time payment notifications. See Webhooks for setup details.

Introduction

Payment links are shareable URLs that allow anyone to send stablecoin payments to your wallet. They’re perfect for:
  • E-commerce: Send to customers for product purchases
  • Invoicing: Include in invoices for services rendered
  • Donations: Share on social media or websites
  • Marketplace payments: Facilitate peer-to-peer transactions
  • Subscription billing: Recurring payment collection

Creation

Create a payment link with specific parameters like amount, name, description, and payment limits.

Sharing

Share the generated URL with your customers through email, messaging, or embed it on your website.

Payment

Customers click the link, enter their payment details, and complete the transaction.

Confirmation

You receive webhook notifications and can track payment status in real-time.
  • Customizable Parameters: Set amount, description, payment limits, and metadata
  • Shareable URLs: Generate unique payment links for each transaction
  • Customer Pre-filling: Pre-populate customer details via URL query parameters
  • Real-time Tracking: Monitor payment status and receive webhook notifications
  • Multi-network Support: Accept payments across different blockchain networks
  • Auto-sweep Integration: Funds automatically consolidated to master wallet

Multi-Asset Support

  • USDT, USDC, DAI, BUSD across multiple blockchains
  • Ethereum, BSC, Polygon, Base, Arbitrum, Optimism, Tron, Solana, Celo
  • Automatic conversion and routing for optimal user experience

Flexible Configuration

  • Fixed amounts for specific products/services
  • Variable amounts for donations or custom payments
  • Payment limits to ensure timely payments
  • Custom metadata for tracking and analytics
  • Webhook notifications for real-time updates

Security & Compliance

  • AML screening on all incoming payments
  • Address validation and verification
  • Fraud detection and prevention
  • Regulatory compliance across jurisdictions

Payment Flow

When you create a payment link, Blockradar returns a unique payment URL:

2. Customer Pre-filling with Query Parameters

You can enhance the payment URL with query parameters to automatically pre-fill customer details on the payment page:
Supported Optional Query Parameters:
  • name - Customer’s name (appears on payment page)
  • email - Customer’s email address
  • reference - Custom reference that will be included in transaction responses
  • amount - Amount shown to the customer on the payment page. It is display-only: Blockradar does not store it or check the payment against it (see When the Amount Received Differs)
  • redirectUrl - URL to redirect to after payment completion

3. Post-Payment Redirect

When a redirectUrl is provided, customers will be automatically redirected to your specified URL after payment processing is complete. The redirect URL will include the following query parameters: Redirect Query Parameters:
  • status - Payment status (success, failed, pending)
  • tx_reference - Transaction reference ID
  • reference - Your custom reference (if provided)
  • slug - Payment link identifier
Example Redirect URL:
The redirect only occurs after payment processing is complete. If no redirectUrl is provided, customers will see the default payment completion page.

4. Amount Configuration

Payment links support two amount modes: Fixed Amount (Pre-set)
  • When you specify an amount during creation, customers cannot modify the payment amount
  • Ideal for specific products or services with set pricing
  • Example: Product purchase for exactly $99.99
Variable Amount (Customer Input)
  • When no amount is specified, customers can enter their own payment amount
  • Perfect for donations, tips, or flexible pricing scenarios
  • Customers see an amount input field on the payment page
Only the link’s own amount sets the amount Blockradar expects. The amount query parameter changes what the payment page shows, not what Blockradar checks.

5. Payment Processing

Customers visit the payment link, review pre-filled details, and complete the transaction using their preferred stablecoin.

6. Transaction Response

The reference parameter from the URL will be included in the transaction response and webhook payloads, allowing you to link payments back to your internal systems.

When the Amount Received Differs

Customers send stablecoins from their own wallet or exchange, so the amount that arrives can differ from the amount on the payment page. They may type a different number, or an exchange may deduct its withdrawal fee from the amount sent. How Blockradar records the payment depends on whether the link has a fixed amount. In every payload, amountPaid is what the customer has actually sent. On a fixed-amount link, amount is the link’s amount converted to the token paid and rounded down to that token’s decimals, so an overpayment of 100.50 arrives with amount: "100" and amountPaid: "100.5". On a no-amount link, amount and amountPaid are both what was received.
Credit customers from amountPaid, never from the amount you asked for. On a no-amount link, a customer who was asked for 100.00 and sends 95.00 still produces a deposit.success webhook, with amountPaid: "95". Crediting the requested amount over-credits every underpayment.
A payment below the link’s amount is marked INCOMPLETE and sends a deposit.incomplete webhook. Any shortfall counts, even a fraction of a cent. The payload has the same fields as deposit.success, with the total received so far in amountPaid and two extra keys in metadata:
  • remainingAmount: how much is still due
  • partialPayments: one entry per on-chain payment received, with its hash, amount and senderAddress
The example shows only the fields specific to this event. metadata also keeps any metadata you set on the payment link. If the customer sends the rest to the same payment address while it is still active, Blockradar adds it to amountPaid. A payment that still leaves the total short sends another deposit.incomplete. The payment that reaches the link’s amount makes the transaction SUCCESS and sends deposit.success with the cumulative amountPaid. Every event carries the same transaction id. Don’t wait for a deposit.incomplete before every deposit.success. If the final payment arrives while an earlier deposit.incomplete is still being retried, that delivery is dropped and only deposit.success is sent.
Credit by transaction id, not per event. Keep a running total of what you have credited for each id. On each deposit.incomplete or deposit.success, credit amountPaid minus that total, and ignore the event if the result is zero or less. This handles partial payments, retried deliveries and events that arrive out of order. If you only credit completed payments, act on deposit.success and use deposit.incomplete to tell the customer how much is still due.
To review underpaid payments, list a link’s transactions with status=INCOMPLETE (see Fetching Payment Link Transactions) and compare amount with amountPaid.

Charging a Different Amount per Customer

If the amount varies per order, create a payment link without an amount and pass each order’s amount and reference in the URL:
The customer sees 99.99 on the payment page. Whatever they send, the payment completes and you receive deposit.success with that reference. Compare amountPaid with the order total on your side, and decide there how to handle a shortfall or an excess.

Try It Out

Experience Blockradar payment links firsthand with our live demo: 🔗 Demo Payment Link: https://pay.blockradar.co/demo This demo showcases:
  • Payment Flow: Complete customer experience from link to completion
  • UI/UX: Modern, intuitive payment interface
  • Stablecoin Options: Multiple payment methods and networks
  • Real-time Updates: Live transaction status and confirmations
The demo payment link is for testing purposes only. No real transactions will be processed.
Create a simple payment link for a fixed amount:
Allow customers to choose their payment amount:
Include a file (e.g., invoice, product image) with your payment link using form-data: Form Data Fields:
  • name: Service Invoice
  • description: Web development services - January 2024
  • amount: 1500.00
  • redirectUrl: https://company.example.com/payment-success
  • successMessage: Payment received! We’ll start working on your project.
  • metadata: invoice_id: INV-2024-001, service: web_development
  • file: [cover.png] (file upload)
When including file uploads, use form-data instead of JSON. The file will be stored and accessible via the payment link.

Required Parameters

Optional Parameters

Payment Flow

Customer Experience

  1. Click Payment Link
    • Customer receives and clicks the payment link
    • Link opens to a secure payment page
  2. Select Payment Method
    • Choose from available stablecoins
    • Select preferred blockchain network
    • Enter payment amount (if variable)
  3. Complete Payment
    • Customer confirms transaction details
    • Payment is processed on the blockchain
    • Real-time confirmation and status updates
  4. Success Confirmation
    • Payment confirmation page
    • Optional redirect to your website
    • Receipt and transaction details

Merchant Experience

  1. Real-time Notifications
    • Webhook events for payment status
    • Email notifications (if configured)
    • Dashboard updates
  2. Payment Tracking
    • Transaction history and status
    • Payment analytics and reporting
    • Integration with your systems

Address Lifecycle

Payment addresses generated for checkout links have a limited lifecycle:
  • After successful payment: The address is immediately deactivated and cannot receive additional payments
  • After 24 hours of inactivity: If no payment is made to an address within 24 hours, it is automatically deactivated
Each new payment session generates a fresh address. This ensures security and prevents address reuse.

Webhook Events

Payment links trigger the following webhook events when payments are received:

Webhook Payload Example

Key Webhook Data Fields

The webhook payload includes comprehensive information about the payment:
The reference field in webhook payloads corresponds to the reference query parameter you include in the payment URL. This allows you to track payments back to specific orders, customers, or internal references in your system.

Best Practices

Security

  • Use HTTPS for all payment link sharing
  • Monitor webhook events for suspicious activity
  • Implement rate limiting on your webhook endpoints

User Experience

  • Clear descriptions of what the payment is for
  • Mobile-optimized payment pages
  • Multiple payment options when possible

Integration

  • Store payment link IDs for tracking
  • Use metadata to link payments to your systems
  • Implement webhook retry logic for reliability
  • Test webhooks in sandbox environment first

Use Cases & Examples

E-commerce Store

Service Invoice

Donation Campaign

Subscription Service

These examples use the correct Blockradar payment links API parameters. The metadata field must be sent as a JSON string in form-data, and file uploads are supported for additional content.

Testing & Development

Sandbox Environment

  • Use testnet networks for development
  • Test webhook delivery and handling
  • Verify payment flows end-to-end
  • Test edge cases and error scenarios

Webhook Testing

  • Use tools like webhook.site for testing
  • Verify signature validation
  • Test retry mechanisms
  • Monitor webhook delivery rates

Checkout Plan

Blockradar Checkout is a programmable stablecoin payment layer for accepting onchain payments via links, embedded QR codes, and WalletConnect. Funds settle directly to your non-custodial wallets with built-in support for swap, bridge, and treasury routing.

Pricing

0.75% per transaction

Simple, transparent pricing with no monthly subscription costs.

Supported Stablecoins

  • USDC, USDT, cNGN, IDRX, EUROC, and more

Multi-Chain Support

  • Ethereum, Polygon, Base, Solana, Tron, Celo, and more

Treasury Management

  • Swap and Bridge: Convert and move assets across chains
  • Auto-settlement: Automatically settle to your preferred currency
  • Circle Gateway: Access Circle’s cross-chain transfer protocol
  • Auto-sweeping: Consolidate funds to your master wallet
This plan does not include Wallet-as-a-Service (WaaS) features or the provisioning of dedicated wallets for your end users.
You can retrieve all transactions associated with a specific payment link using the dedicated transactions endpoint. This is useful for:
  • Payment Tracking: Monitor all payments received through a specific link
  • Reconciliation: Match payments to orders or invoices
  • Reporting: Generate reports for specific payment links

Query Parameters

Example Response

Support & Resources

API Reference

Getting Help

Checkout and payment links are a powerful way to accept stablecoin payments with minimal integration effort. Start with simple use cases and gradually add complexity as you become more familiar with the system.