Introduction
Knit API

Stablecoin payments infrastructure

Collect payments to single-use addresses, hold balances in reusable wallets, disburse payouts on-chain, and keep your systems in sync with signed webhooks — through one JSON API.

What you can build

Collectionssingle-use deposit addresses

Create a one-time address and hosted payment link for an invoice or checkout. Confirmed proceeds are credited to your API account automatically. See Collections.

API walletsreusable addresses

Long-lived addresses per network — useful for per-customer ledgers or recurring deposits. Deposits are recorded as wallet transactions. See Wallets.

API accountspendable balance

A per-token balance that funds programmatic payouts. Collections and wallet deposits credit it; payouts debit it. See API Account.

Payoutson-chain disbursements

Send USDT or USDC to an external address. Knit checks the balance, holds it, and reports the final state over webhooks. See Payouts.

Blockchain notificationsaddress watching

Subscribe to incoming or outgoing activity on any address you care about, including addresses Knit does not hold. See Blockchain Notifications.

Managed signingpolicy-governed signing

Create signing wallets, define spending policies, and submit transactions, typed data, or messages for signature. See Managed Signing.

Conventions

Every endpoint in this reference lives under /api/v1 and follows the same rules.

  • Base URLs. https://api-prod.useknit.io for production and https://api-dev.useknit.io for pre-production testing.
  • Authentication. OAuth 2.0 client credentials. Send Authorization: Bearer <access-token> on every request. See Authentication.
  • JSON only. Requests and responses are JSON. Send Content-Type: application/json on requests with a body.
  • camelCase. Send camelCase field names; responses come back camelCase too. See Requests & responses for the two places this does not hold.
  • Shared envelope. Every response — success or failure — has the same top-level shape. See Requests & responses.
Response envelope
{
  "statusCode": 200,
  "message": "Collections fetched successfully",
  "data": {},
  "success": true
}

Access tokens are scoped. A request that reaches an endpoint without the required scope is rejected with 401 — it is never silently downgraded. The scope each endpoint needs is listed on its page.

For AI agents

These docs are published in plain text as well as HTML.

URLContents
/llms.txtAn index of every page, with descriptions
/llms-full.txtEvery page concatenated into one file
<any-page>.mdThat page's Markdown source

Append .md to any documentation URL to get the Markdown — for example /authentication.md or /payouts/create-a-single-payout.md. All three are served with permissive CORS, so a browser-based agent can fetch them directly.

Getting set up

Onboard your business

Create your business in the Knit dashboard (opens in a new tab) and complete KYB. Developer credentials become available once your business is approved.

Create an OAuth client

Go to Business → Developer → OAuth Clients and create a client with only the scopes your integration needs. Copy the client ID and secret — the secret is shown once.

Allow-list your server IPs

Add the outbound IP addresses of your servers in the dashboard. Requests from any other address are rejected before they reach the API.

Configure your webhook endpoint

Set your webhook URL and secret under Business → Developer → Webhooks. The endpoint must be publicly reachable over HTTP or HTTPS.

Make your first call

Request an access token and call an endpoint. The Quickstart walks through a complete collection and payout.