Managed Signing
Overview

Managed Signing

Managed Signing gives you signing wallets whose keys Knit holds, governed by policies you define. You submit a transaction, a piece of EIP-712 typed data, or a message; the policy is evaluated; and — if it passes — the payload is signed and, optionally, broadcast.

Base path

All endpoints live under:

https://api-prod.useknit.io/api/v1/managed-signing

Authentication

Managed Signing uses the same OAuth 2.0 client credentials as the rest of the API — send Authorization: Bearer <access-token>.

OperationRequired scope
GET — wallets, policies, requests, auditmanaged-signing:read
POST / PATCH — create, update, approvemanaged-signing:write

Requests must also originate from an IP on your business allow list. See Authentication for tokens, scopes, and allow-listing.

⚠️

The X-API-KEY header is no longer a valid credential anywhere on the Knit API, Managed Signing included. Use a bearer token.

Conventions

  • Use the IDs this API returns. Every id in a path parameter or a body filter such as walletId must be an ID you received from a Managed Signing response.
  • camelCase in and out. Request bodies and response payloads both use camelCase — except inside payload.typedData, where types and message must match the EIP-712 schema exactly and are passed through untouched.
  • Shared envelope. Responses use the standard statusCode / message / data / success envelope. See Requests & responses.

Supported networks

NetworkIdentifier
EthereumETHEREUM_MAINNET (alias ETH_MAINNET)
PolygonMATIC_MAINNET
BNB Smart ChainBSC_MAINNET
BaseBASE_MAINNET
Polygon Amoy — sandbox onlyMATIC_AMOY

Endpoints

Wallets

MethodPathPurpose
POST/walletsCreate a wallet
GET/walletsList wallets
GET/wallets/{walletId}Retrieve a wallet
GET/wallets/{walletId}/balanceGet a token balance
GET/wallets/{walletId}/assetsList balances across networks

Policies

MethodPathPurpose
POST/policiesCreate a policy
PATCH/policies/{policyId}Update a policy
GET/policiesList policies
GET/policies/{policyId}Retrieve a policy

Signing requests

MethodPathPurpose
POST/requestsCreate a signing request
POST/requests/{requestId}/approveApprove a request
GET/requestsList requests
GET/requests/{requestId}Retrieve a request

Audit

MethodPathPurpose
GET/auditList audit events

Common errors

StatusCause
400Invalid request body, unsupported network, or the wallet is not active on the requested network
401Missing or invalid token, IP not allow-listed, or the token lacks the required managed-signing scope
404The wallet, policy, or request does not exist under your business
400A field failed validation
500The signing request could not be processed. Retry with backoff