settlebolt

SettleBolt documentation

Run your crypto payments workflow.

Guides for setup, wallets, payment links, invoices, customers, branding, billing, support, APIs, and webhooks. SettleBolt is non-custodial software: customers pay directly into wallets you control.

Fast path

Verify your email, connect a wallet, create a payment link or invoice, then share the hosted checkout URL with your customer.

Open LLM.txt for AI-agent readable docs.

Last updated: 5 Jul 2026

Overview

SettleBolt lets businesses create payment links and invoices for crypto payments. The customer pays on-chain. Funds settle directly to the merchant wallet that is verified in the dashboard.

Non-custodial

SettleBolt does not hold merchant or customer funds.

Hosted checkout

Share links at settlebolt.com/l/..., settlebolt.com/pay/..., /checkout/?kind=..., or your custom domain.

Flat SaaS billing

SettleBolt charges for software, not a percentage of customer payments.

What SettleBolt does not do

SettleBolt does not automatically pull crypto from a customer's wallet, hold balances, exchange tokens, or custody funds. Customer payments are initiated by the payer and recorded after chain confirmation.

Quick Start

Verify your email

After signup, enter the 6-digit code before accessing the dashboard. You can resend once every 3 minutes, up to 3 resends in a rolling 24-hour period. The daily limit resets automatically.

Connect a receiving wallet

Enable an authenticator in Settings → Security, then open Wallet. Choose each network explicitly and verify its receiving address. EVM browser wallets use a network-bound signature; receive-only addresses require confirmation.

Fill in business details

In Settings, add legal name, VAT/tax ID, registration number, business email, website, and address. These details appear on invoices and branding previews.

Create a link or invoice

Use Payment Links for reusable checkout links, or Invoices for customer-specific billing with line items, due date, and email delivery.

Track settlement

Payments appear in Payments after the watcher sees a supported transfer to your verified wallet and enough confirmations have passed.

Plans and Limits

PlanIncludedGated featuresSupport
Starter
EUR 19/mo or EUR 190/year
25 successful payments/month, 10 active payment links, unlimited invoice drafts, 1 team seat, supported assets, customer management, WooCommerce integration, custom branding, and basic CSV export.No general API access, custom webhooks, custom domains, Telegram or WhatsApp automation, advanced analytics, or audit logs.Normal support
Pro
EUR 49/mo or EUR 490/year
200 successful payments/month, unlimited payment links, unlimited invoice drafts, 3 team seats, 1 custom domain.API keys, webhooks, WooCommerce, CSV exports, custom branding, Telegram and WhatsApp integrations, analytics, audit logs.Priority support
Business
EUR 149/mo or EUR 1,490/year
500 successful payments/month, everything in Pro, unlimited payment links, unlimited invoice drafts, 10 team seats with the same standard roles as Pro.1 custom checkout domain, standard CSV payment exports, onboarding, and priority technical support.Onboarding call and priority technical support
Enterprise
Custom from EUR 499/mo
Custom successful-payment limits, custom API and webhook throughput, SLA, custom domains, dedicated support channel, security review, custom contract/DPA.White-label, wallet-screening, custom chain/token, and SSO/SAML requirements are scoped case by case.Dedicated support

A successful payment is any confirmed payment through an invoice, payment link, checkout, WooCommerce, or API. Drafts, failed payments, expired links, and test-mode payments do not count.

Basic invoice and fixed-amount payment-link collection remains available without a current paid billing period, subject to account, wallet and payment-detection checks. Paid Starter enables its subscription features, including the WooCommerce connection and basic CSV export; general API access and custom webhooks require active Pro or Business access. An expired term does not cancel previously issued payment obligations.

Annual billing includes 2 months free. Monthly billing has no free months. The monthly allowance counts successful live payments, not payment volume, and does not block payment requests or customer checkouts. The dashboard shows usage and warns when the allowance is reached. Monthly usage follows your billing start date, including on annual plans; accounts without a current billing period use calendar months. Contact support if you regularly need a larger plan or want to change tiers during an active paid term.

Supported Assets

Availability depends on the token, chain, and the merchant's verified wallet setup. Checkout always shows the exact asset, network, amount, and recipient address before payment.

Match the contract shown on checkout, not just the wallet symbol. Native USDC and bridged USDC.e/USDbC are different assets. The registered USDT contracts on Arbitrum and Polygon are displayed as USDT0; Optimism uses its legacy bridged USDT contract, not the separate USDT0 contract. Avalanche DAI is DAI.e. Other bridged representations carry bridge risk and may not be supported by your exchange. Confirm the selected network and contract before receiving funds.

Checkout and the payment-link form disclose whether an EVM token is issuer-native, bridged, or omnichain. Circle's USDC registry, Tether's supported protocols, and USDT0 deployments are the primary references. The public GET /api/checkout/assets endpoint returns supported EVM contracts, decimals, display symbols and disclosure text.

AssetSupported networksNotes
USDC, USDT, DAIBase, Ethereum, Arbitrum, Optimism, Polygon, Avalanche, zkSync Era, Linea, Scroll where configuredEVM token transfers to your verified EVM wallet.
ETHBase, Ethereum, Arbitrum, Optimism, zkSync Era, Linea, ScrollNative ETH only. Polygon and Avalanche native assets are not ETH.
BTCBitcoin mainnetNative BTC only.
SOL, USDC, USDTSolana mainnetNative SOL and SPL USDC/USDT.
TRX, USDTTron mainnetNative TRX and TRC-20 USDT. Tron USDC is not supported.

Solana USDC/USDT checkout requires an initialized, unfrozen associated token account for that mint and owner wallet. In Wallet settings, choose Check token accounts. Initialize missing accounts in your wallet; account storage and transaction fees require SOL. SettleBolt only checks readiness and never creates accounts or moves funds. Native SOL does not require a token account.

Every supported asset uses a locked checkout quote. Stablecoin amounts include the EUR exchange rate. Send the exact amount shown, on the specified network.

Automatic recovery or credit is not supported for payments sent on a different network or in a different token, including look-alike or bridged tokens with the same symbol. Contact the merchant with the transaction hash, actual network, token contract and amount. Do not send another payment until the merchant has reviewed the transfer. SettleBolt cannot move funds from the merchant wallet or guarantee recovery; a refund must be arranged separately with the merchant.

For Bitcoin, a transfer observed by our watcher before quote expiry can confirm within the following 24 hours. Checkout shows that confirmation is pending; Bitcoin settlement requires six confirmations, usually about an hour and sometimes longer. Receipts are periodically rechecked against the canonical chain. Receipts less than 144 blocks deep require verification within the last hour; older verified receipts remain in a bounded rotating audit. Any detected mismatch pauses Bitcoin acceptance. A detected reorganization pauses Bitcoin acceptance for review while retaining the original payment and order history; it does not reverse fulfilled orders or issue refunds. Acceptance resumes only after the same transaction output, address and amount are canonical with at least six confirmations and all scan and verification checks are current. If the watcher missed the broadcast, the transfer arrives later, or a replacement transaction was not observed in time, the merchant must review the receipt. Do not send a second payment while waiting.

Bitcoin quote amounts are reserved against earlier quotes. If no unused amount is available within the small rounding allowance, checkout asks you to use another payment method or contact the merchant. Bitcoin outputs that return funds to the sending wallet require review instead of automatic order completion.

LIVE / TEST Mode

Every SettleBolt account has two modes, switched from Settings, LIVE / TEST Mode. The current mode is stored per account, and only an owner or admin can change it. Switching modes never converts or deletes anything. It only changes which records you see and what new links or invoices are created as.

Live mode

The default. Payment links, invoices, hosted checkout, webhooks, and revenue records are all real. Customers pay your verified wallet directly on-chain.

Test mode

For product demos, WooCommerce test setups, and integration testing. New links and invoices are created as demo. Demo checkout uses the same checkout UI with a DEMO * DEMO * DEMO warning and a Complete demo payment button that records a simulated confirmed payment. No funds move on-chain and no real customer emails are sent.

What stays isolated

  • Live and demo data never mix. Lists, KPIs, payment counts, and recent activity are filtered by the active mode.
  • Demo invoices never send real customer emails.
  • Demo checkout confirmation only works for demo links and invoices, never a live one. Demo creation does not require a real receiving wallet or consume the live link allowance. Demo amounts use fixed fixture rates, not market quotes: EUR/USD 1.10, ETH EUR 3,000, BTC EUR 60,000, SOL EUR 150 and TRX EUR 0.25.
  • Demo payments are rate-limited, idempotent, and excluded from live payment accounting.
  • On-chain settlement only ever attaches real payments to live links and invoices. Demo targets are never settled with real funds.
  • Every webhook event carries a mode field (live or demo) so integrations can ignore demo events in production.

In the Agent API, set "mode":"demo" when creating a payment link or invoice, and filter list endpoints with ?mode=live or ?mode=demo. An unrecognized mode value is rejected with 400 Invalid mode.

Wallets and Chains

Your wallet is your settlement destination. A payment link or invoice only works when the selected chain has a verified primary receiving wallet.

EVM chains

Base, Ethereum, Arbitrum, Optimism, Polygon, Avalanche, zkSync Era, Linea, and Scroll. Pay with USDC, USDT, and DAI where each is enabled, plus native ETH on ETH-native chains.

Non-EVM chains

Bitcoin - native BTC. Solana - native SOL plus USDC and USDT. Tron - native TRX plus USDT. Supported Solana software wallets can prove ownership with raw Ed25519 signMessage; supported Tron wallets can use TIP-191 v2 signMessageV2. These account-bound, short-lived messages do not send transactions or funds. Solana accounts must be absent or System Program-owned; Tron accounts must be absent or have supported original single-owner permissions verified against solidified chain state. Bitcoin, unsupported message formats, custom programs, multisig or changed permissions, and unavailable account evidence require administrator ownership review. New self-attested EVM receive-only addresses also require review; existing verified wallet records are preserved. Open a support ticket after submitting the address, identify the network and wallet, and provide independently checkable ownership evidence. Administrators review the pending Wallet reviews queue, check the account type on-chain, and record the support-ticket or ownership evidence before enabling receiving. Never send a seed phrase or private key. Supply the owner wallet address, never a token mint, token account, or contract.

Payable assets

Stablecoins USDC / USDT / DAI (EVM), USDC / USDT (Solana), USDT (Tron); and native ETH, BTC, SOL, and TRX, which are quoted live at checkout.

Add a wallet

  1. Open Wallet in the dashboard.
  2. Choose a chain and enter a wallet name if you want one.
  3. For browser wallets, switch to the selected network and sign the challenge. EOA, ERC-1271 and ERC-6492 ownership proofs are supported when that network's RPC is available. For receive-only addresses, paste the exact address and confirm it.
  4. Set a primary wallet per chain when you have more than one verified address.
Payout safety

Changing a primary payout wallet is delayed by 24 hours. Adding a new network to an established account uses the same delay. Each network has its own primary wallet and pending change. Admins can freeze payout changes if an account looks risky. Connecting one network never configures another.

Replace a primary wallet before retiring it. Verified retired wallets remain watched for at least 30 days and until scan coverage is confirmed; existing payment records remain available. Pending payout targets cannot be removed. Safety limits are 20 connected addresses per network and 100 per account, including addresses still retiring. Contact support if you need more.

Invoices

Invoices are customer-specific bills with line items, due dates, and a hosted pay page. They start as drafts, then become sent invoices when emailed to the customer.

Create and send an invoice

  1. Open Invoices and click New invoice.
  2. Add customer name and email. If you already added the customer, use the customer record.
  3. Use the suggested invoice number or enter your own unique number.
  4. Choose currency EUR, token, chain, due date, and line items.
  5. Click Save draft to keep editing, or Save and send to email the pay link.
Draft

Editable. Does not require a verified wallet until you send it.

Sent or overdue

Can be resent or cancelled. The customer can pay via the invoice checkout page.

Paid

Locked after settlement. Confirmed live payments count toward the successful-payment allowance for the month.

Cancelled

Checkout is closed. Payments already sent can still arrive and require review. Use a new invoice to bill again.

The invoice amount must match its line items. Quantities must be positive whole numbers. Sending requires a verified receiving wallet and a healthy payment watcher. Due dates expire at the end of the named day in UTC.

Sent means the invoice has been issued. Its separate email status shows whether the email provider accepted the message, failed, or has an uncertain result. Provider acceptance does not confirm arrival in the customer's inbox. Failed messages can be resent from the invoice detail page or POST /api/agent/invoices/:id/resend.

Invoice email limits: one attempt per invoice per 10 minutes, five per invoice per rolling day, and 500 per account per rolling day with active Pro or Business access (20 otherwise). Failed attempts also count.

Use the printable invoice view and your browser's Print to PDF action. Newly issued invoices preserve seller and customer billing details at issue time; older invoices identify when current profile details are being shown. Tax is not calculated or itemized, and no PDF attachment is emailed.

Customers

Customers appear automatically when you invoice them. You can also add manual contacts before billing them.

Individual

First name, middle name, last name, email, phone, and profile notes.

Business

Company/legal name, billing contact, billing email, phone, address, tax status, and VAT/tax ID. Reserved fields may not appear in every dashboard form yet.

Tax status

Business customers can be marked as Taxable, Exempt, or Reverse charge. Use the status your accountant expects for that customer's location and tax relationship.

Customer detail pages show total billed, paid, outstanding, average invoice, invoices, and payments. Removing a manual contact removes the saved contact profile, not historical invoices or payments.

Payments

The Payments ledger shows confirmed, pending, underpaid, overpaid, failed, invoice, link, and direct payments. You can filter by date, status, token, chain, source, transaction hash, or payer address.

How matching works

SettleBolt verifies the recipient, asset, network, exact raw amount and inclusion window against a session-bound quote. An unambiguous quote can attach a receipt automatically. Unmatched receipts remain unattributed or in review. An owner or admin can reconcile verified receipts to an eligible quote, including partial payments and top-ups; an underpaid order remains unpaid.

Refunds

Because SettleBolt is non-custodial, customer refunds are transfers you arrange from your wallet. Confirm the refund address and network with the customer; the displayed payer address may belong to an exchange or contract. Recording a refund in SettleBolt does not send funds.

Payment CSV export is available on Starter and higher. Customer CSV and analytics exports require Pro or Business. Business uses the same export formats as Pro.

Branding and Custom Domains

Branding controls supported checkout, invoice, and receipt presentation. Custom branding is available on Starter, Pro and Business; one custom checkout domain requires Pro or Business.

AssetRuleSuggestion
LogoPNG up to 2 MB. Transparency is recommended, not required.600 x 240 px
IconSquare PNG up to 2 MB. Transparency is recommended.512 x 512 px
ColorsUse valid hex colors such as #0B0B0C.Brand color for headers, accent color for buttons.

Custom checkout domain

  1. Use Pro or Business.
  2. Open Branding, enter a domain you own, such as pay.yourbrand.com.
  3. Add the CNAME record shown in the dashboard. The default target is settlebolt.pages.dev.
  4. If the dashboard shows TXT validation, add that TXT record too.
  5. Wait for Cloudflare certificate validation to complete.

Do not use settlebolt.com or a *.settlebolt.com hostname as your custom domain.

Team Access

RoleAccess
OwnerFull access, billing, team management, ownership transfer, and account deletion.
AdminManages team, links, invoices, payments, wallet, branding, and settings, except owner-only actions.
MemberManages payment links, invoices, customers, and payments.
ViewerRead-only dashboard access.

Invites are emailed to teammates. Removing a teammate revokes their sessions for this merchant account. Starter includes 1 seat, Pro includes 3, and Business includes 10.

Billing

Billing is for the SettleBolt SaaS subscription only. Merchants pay SettleBolt with a one-time quoted crypto transfer. This is separate from customer payments.

  • Change plan: choose Starter, Pro, or Business and monthly or annual billing.
  • Crypto subscription payment: merchants pay SettleBolt from their own wallet with a quoted one-time transfer.
  • Pay with crypto: send the exact quoted amount before the payment window expires. This pays SettleBolt's SaaS subscription only.
  • Cancel subscription: cancellation stops renewal immediately, and you will not be charged again for that subscription.
  • Reactivate: available when a cancelled subscription can still be resumed.
  • Receipts: view SettleBolt receipts and invoices for crypto subscription payments. Legacy card receipts may remain visible for older accounts.
  • Billing history: admins can view purchases, downgrades, checkout starts, plan changes, and receipts from the admin dashboard.

Help, Tickets, and Feedback

The dashboard sidebar includes Help and Feedback near the bottom.

Help

Create support tickets, view active tickets, and open a ticket detail thread.

Feedback

Send product feedback, bugs, ideas, praise, and an optional 1-5 rating.

Ticket categories are General, Billing, Payments, Wallets, Technical, Security, and Privacy. Priorities are Normal, Low, High, and Urgent. Ticket subjects can be up to 140 characters and messages up to 4,000 characters.

Analytics

Analytics is available on Pro and Business. It shows total volume, payment count, average payment, average invoice, time series, by-token breakdown, by-chain breakdown, top customers, and top payment links.

Supported ranges include 7D, MTD, 30D, 90D, YTD, 12M, and Custom. Empty states stay quiet when there is no activity in the selected range.

API Overview

The production API base is:

https://api.settlebolt.com

Dashboard routes use the authenticated dashboard session token:

Authorization: Bearer <dashboard-session-token>
Content-Type: application/json
API key note

Creating or using general API keys requires an active Pro or Business entitlement. Owners and admins can list and revoke existing keys and messaging connections on every plan, including after expiration. API keys are for SettleBolt's dedicated, scoped server-to-server Agent API (/api/agent/*) - each key carries per-operation scopes (for example invoices:create, payments:read). They are not accepted on dashboard routes, so a key can never manage wallets, billing, team, or account settings. Keys are shown once; treat them like passwords and revoke a leaked key in Developers. Do not expose dashboard session tokens in public client code.

Starter can still use WooCommerce through the dedicated plugin key created by the Connect SettleBolt flow. That key is limited to payment_links:create and webhooks:write.

API reference

Endpoint tables, examples, webhook signatures, and payload shapes live in the API and webhook reference.

LLM.txt

Machine-readable implementation guidance is available at /docs/llm.txt. The standard /llms.txt path redirects there.

Telegram and WhatsApp

Pro and Business can pair Telegram or WhatsApp senders to scoped agent actions. These channels are for quick operations, not account administration.

Telegram

Create a 10-minute pairing code in Developers, then send /pair ABCD234567 to the bot. The bot uses buttons for payment links, invoices, customers, payments, account status, help, and clearing recent bot messages.

WhatsApp

Create a 10-minute pairing code in Developers, then send link ABCD234567 from WhatsApp. Commands use the same safe agent scopes as the Agent API.

Invoice and payment-link commands first show a preview with the amount, recipient and crypto network. Confirm or cancel within 10 minutes. Telegram has confirmation buttons; WhatsApp shows the exact confirm command to reply with. Repeated taps reuse the same request. Receiving must be available before a request is issued.

For example: send invoice to Alex alex@example.com for EUR 120.50 due 2027-07-16 using USDT on Tron. Use a complete email address or an exact saved customer name. Write amounts as 1234.50 or 1 234,50; ambiguous three-decimal/grouped values such as 1.234 are rejected. Use ISO dates or a written month, such as 16 July 2027.

Recent payments shows live receipts with their raw crypto amounts, network and invoice or link. A missing EUR valuation is marked unavailable. Telegram and WhatsApp cannot manage wallets, payout changes, billing, team access, sessions, account deletion, custom domains, or dashboard settings.

WooCommerce

The SettleBolt WooCommerce gateway creates a hosted checkout payment link for each WooCommerce order, redirects the customer to SettleBolt, and marks the order paid only after a signed payment.confirmed webhook arrives.

Install

Upload settlebolt-for-woocommerce.zip in WordPress Admin, Plugins, Add New, Upload Plugin.

Connect SettleBolt

Click Connect SettleBolt in WooCommerce, approve the store in the SettleBolt dashboard, and the plugin key is created automatically with payment_links:create and webhooks:write.

Webhook

The approval flow registers https://your-wordpress-site.example/?wc-api=settlebolt_gateway and WordPress exchanges a one-time code for the signing secret.

How checkout works

  1. The shopper chooses SettleBolt at WooCommerce checkout.
  2. The plugin creates a SettleBolt payment link through /api/agent/payment-links.
  3. The shopper pays on SettleBolt hosted checkout.
  4. SettleBolt watches the selected chain and records the payment after confirmation.
  5. A signed webhook reaches WordPress and the WooCommerce order is marked paid.
Important

Use plugin 0.1.22 or later for a new connection or reconnect. Setup saves replacement credentials in WordPress before activating them. If an activation response is lost, the plugin retries using its saved credentials. The previous connection stays active until activation; existing installations can continue processing without reconnecting. Activation retries depend on WordPress scheduled tasks running.

The WooCommerce store currency must be EUR. The merchant needs an active paid SettleBolt plan. Starter can use the WooCommerce gateway through the dedicated plugin key created by Connect SettleBolt, while general API keys and custom webhooks remain Pro and Business features. Manual key entry is only a support fallback. The plugin never stores wallet private keys and never touches funds.

WooCommerce settings expose the configured EVM, Bitcoin, Solana and Tron asset pairs. Each store selects one pair, and checkout is offered only when that pair and the store's registered webhook are ready.

Webhooks

General webhook creation requires paid Pro or Business access; paid Starter stores connect through WooCommerce. Existing endpoint recovery and delivery history remain available on every plan. Copy the signing secret once and verify every delivery.

Payment webhooks are live

Eligible receipts create durable signed payment.confirmed events. Recoverable failures retry for 72 hours with backoff. Automatically disabled endpoints retain paused work. Resume an endpoint or reconnect WooCommerce to recover retained unsuccessful deliveries. The event log shows recorded attempts and errors; manual redelivery queues work for the sender.

POST /api/agent/invoices/:id/issue requires invoices:send and activates a draft without emailing the customer. It checks receiving readiness, snapshots invoice details, and returns the payable checkout URL with email.sent=false, email.skipped=true, and email.code=email_not_requested. Replays for sent, overdue or paid invoices do not send email or create another invoice.

payment.confirmed is the currently delivered merchant webhook event. Ignore other event labels unless this API reference lists them as delivered.

For new live Solana receipts, payer_address is the verified transfer source or null, and payer_role is sender or unknown. fee_payer_address separately records the transaction fee payer, which may be a sponsor. Existing live Solana ledger rows with unproven source identity are marked unknown; historical immutable webhook payloads retain their original contents. Never infer a refund destination from these fields.

A Solana receipt's log_index is the recipient index in the complete transaction account-key list: static keys, then loaded writable and readonly addresses. Receipt identity also includes chain, token and transaction signature. External /payments/ingest is disabled; callers must not synthesize alternate receipt indexes.

X-SettleBolt-Event: payment.confirmed
X-SettleBolt-Event-Id: <opaque-event-id>
X-SettleBolt-Timestamp: 1783100000
X-SettleBolt-Signature: t=1783100000,v1=<hmac>

The signature is HMAC-SHA256 over:

<timestamp>.<event_id>.<raw_json_body>

Webhook URLs must be public HTTPS endpoints on port 443. Internal, loopback, link-local, metadata, credentialed, IPv6 literal, and non-443 URLs are rejected.

Security Checklist

  • Verify your email before using the dashboard.
  • Enable 2FA in Settings.
  • Name wallets clearly so payout destinations are easy to inspect.
  • Use separate support/admin accounts instead of shared logins.
  • Keep API keys and webhook secrets in server-side secret storage.
  • Verify webhook signatures and reject stale timestamps.
  • Use HTTPS-only webhook endpoints.
  • Review Billing and Support history after plan or access changes.

Troubleshooting

Payment is not showing

Check that the customer paid the exact token and chain on the checkout page, that the recipient address is your verified primary wallet for that chain, and that enough confirmations have passed.

Invoice cannot be sent

The invoice chain needs a verified wallet before sending. Draft invoices can be saved before a wallet is connected.

Custom domain is pending

Confirm the CNAME target and any TXT validation records exactly match the Branding screen. Certificate validation can take time after DNS propagation.

Customer did not get an invoice email

Use Resend on sent or overdue invoices. Also confirm the customer email is valid and check spam/quarantine filters.

Need help

Open Help in the dashboard, create a ticket, and include invoice IDs, link URLs, wallet addresses, transaction hashes, and screenshots when relevant.