Build on CowriePay
A clean REST API, scoped keys, signed webhooks and a sandbox. Go live in 10 to 15 minutes.
Get started
Request access
Fill out the form at app.cowriepay.io/get-started. Our team sets up your workspace within 48 hours.
Create a test key and build
In the dashboard (Sandbox mode) create a cpk_test_ key and build on TRON Nile, BSC testnet and Ethereum Hoodi. Pre-fund your test wallet in one API call with the built-in faucet, no public faucets to chase.
Sign your requests
Every /v2 request is signed with HMAC-SHA256 using your scoped API key.
Go live
Complete KYB, we approve it and set your workspace live, then create a cpk_live_ key. Same base URL, same code: swap the key.
Official SDKs
Server-side SDKs that handle HMAC signing, retries and webhook verification for you. Zero runtime dependencies, generated from our OpenAPI spec.
npm install @cowriepay/sdkimport { CowriePay } from "@cowriepay/sdk";
const cowriepay = new CowriePay({
apiKey: process.env.CPK_KEY!,
apiSecret: process.env.CPK_SECRET!,
});
const wallet = await cowriepay.wallets.create({
chain: "TRON",
asset: "USDT_TRON",
});- Create a wallet in a single API call
- Get a signed webhook on every deposit and payout
- Test everything free in the Sandbox
# One base URL for Sandbox and Live; your key picks the network
# (cpk_test_ = testnet, cpk_live_ = mainnet). Requests are HMAC-signed.
curl https://api.cowriepay.io/v2/wallets \
-H "X-CowriePay-Key: cpk_live_..." \
-H "X-CowriePay-Timestamp: 1720000000" \
-H "X-CowriePay-Signature: <hmac-sha256>" \
-H "Content-Type: application/json" \
-d '{"chain":"TRON_MAINNET","asset":"USDT_TRON"}'What you get
REST API and OpenAPI
A predictable REST API with an OpenAPI reference you can generate clients from.
Scoped API keys
Fine-grained keys, separate live and test, least privilege by default.
Signed webhooks
HMAC-signed events with rotation and an overlap window, so you never miss a delivery.
Sandbox
A full testnet environment to build and verify before going live.
Idempotency
Safe retries on write operations with idempotency keys.
Real-time updates
Webhooks and dashboard updates as deposits confirm and payouts settle.
Webhook events
DEPOSIT_DETECTEDDEPOSIT_CONFIRMEDDEPOSIT_SWEPTWITHDRAWAL_PROCESSINGWITHDRAWAL_CONFIRMEDWITHDRAWAL_FAILEDBENEFICIARY_ADDEDPOST /your-endpoint
X-CowriePay-Signature: t=1718700000,v1=9f2c...
{
"event": "DEPOSIT_CONFIRMED",
"data": {
"asset": "USDT",
"chain": "TRON",
"amount": "250.00",
"confirmations": 19,
"status": "CONFIRMED"
}
}