Integrations
Ways to take crypto
Sorted by how much code each one needs, starting with none. Every route below reaches the same checkout and the same dashboard — pick the one that matches what you already have.
- No code
Send a payment link
Create a link for an amount, send it however you already talk to the customer, and watch it get paid.
Best for: Freelancers, invoicing, anyone with no website — or with a website they cannot edit.
- Open Payments and press + Request.
- Enter the amount and, if you like, who it is for.
- Copy the link — it looks like easycryptopay.xyz/xK9m — and send it.
- The payment appears in your dashboard the moment it lands.
- One line of HTML
Put the checkout on your page
Two lines of HTML render the whole checkout inside your own page. No build step, no framework, no callback.
Best for: Anyone who can paste HTML — Squarespace, Webflow, a WordPress block, a hand-written page.
- Add the script tag once, anywhere on the page.
- Put the element where you want the checkout to appear.
- Point on-paid at the page you want the customer to land on.
<script src="https://easycryptopay.xyz/embed.js"></script> <ecp-checkout token="inv_xK9mP2rT" on-paid="/thank-you"></ecp-checkout>The token comes from an invoice, so something has to create one first — a payment link, the dashboard, or one API call.
Embedded checkout docs- Install a plugin
WooCommerce
Not released yetA payment method in your WooCommerce checkout. The customer pays in crypto without leaving your store.
Best for: WordPress shops.
- Install the plugin and open WooCommerce → Settings → Payments.
- Paste a test API key and leave test mode on.
- Add the callback URL it shows you as a webhook, and paste the signing secret back.
- Place a test order, complete it from your dashboard, and watch the order move to Processing on its own.
USD stores only for now — the API prices in USD and the plugin has no exchange rate to convert with, so it hides itself rather than charge the wrong amount. Refunds are not automated.
- Write some code
REST API and webhooks
Create payments, read them back, and get a signed callback when money lands. Everything the dashboard does, you can do.
Best for: Anyone building their own checkout, or wiring payments into a system that already exists.
- Mint an ecp_test_ key under Manage → API keys.
- POST an invoice and redirect the customer to the link it returns.
- Verify the signature on the webhook, then mark your order paid.
- Swap the test key for a live one. Nothing else changes.
Read the API docscurl -X POST https://easycryptopay.xyz/api/invoices \ -H "Authorization: Bearer ecp_test_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "title": "Order #1042", "amount_usd": 49, "metadata": { "order_id": "1042" } }'
Libraries
You do not need one — the API is JSON over HTTPS and the whole surface is a few endpoints. These save you writing the signature check.
- Node.jsPublished
npm install @easycryptopay/nodeClient plus a webhook signature verifier.
- PHPComing
composer require easycryptopay/easycryptopay-phpFor Laravel, Magento, WHMCS and plain PHP. Written; not on Packagist yet.
- Anything elseGenerate one
https://easycryptopay.xyz/openapi.jsonThe full API as OpenAPI. Point a generator at it and you have a client in a minute — Python, Go, Ruby, C#, Java, Rust.
Building with an AI assistant
If you are working with Claude, Cursor, Copilot or anything similar, two URLs are all it needs. Both are machine-readable, both are generated from the running code, and neither can drift from the API the way a pasted snippet does.
easycryptopay.xyz/llms.txtThe whole integration in one page: endpoints, the exact webhook signature scheme, the test-mode flow, and the mistakes that are expensive. Written to be pasted into a context window.
easycryptopay.xyz/openapi.jsonEvery endpoint, parameter and response shape, as OpenAPI. Enough for an assistant — or a code generator — to write a correct client without guessing.
Read https://easycryptopay.xyz/llms.txt and add EasyCryptoPay
to this project as a payment method.
Use test mode (an ecp_test_ key) and do not touch live keys.
Verify the webhook signature over the RAW request body before
trusting any event.Something missing? Tell us what you are building — the list is short on purpose and grows in the order people ask.