Managed Signing
Circle Payment Network (CPN)
1. Create Wallet

Step 1: Create CPN Wallet

POST
https://api-prod.useknit.io/api/v1/managed-signing/wallets
Scopemanaged-signing:writeAuthBearer token

Create a managed signing wallet for CPN integration. This wallet will hold your USDC and sign payment authorizations.

Body

{
  "type": "EVM",
  "networks": ["MATIC_MAINNET"],
  "merchantCallbackUrl": "https://your-domain.com/cpn-callback"
}
FieldTypeRequiredDescription
typestringYesMust be EVM for CPN
networksarrayYesInclude MATIC_MAINNET for Polygon CPN
merchantCallbackUrlstringNoURL for receiving signing callbacks

Request

curl "https://api-prod.useknit.io/api/v1/managed-signing/wallets" \
  -H "Authorization: Bearer $KNIT_ACCESS_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "EVM",
    "networks": ["MATIC_MAINNET"],
    "merchantCallbackUrl": "https://your-domain.com/cpn-callback"
}'

Response

Response
{
  "statusCode": 201,
  "message": "Wallet created",
  "data": {
    "id": "<local-wallet-id>",
    "businessId": "<business-id>",
    "type": "EVM",
    "networks": ["MATIC_MAINNET"],
    "network": "MATIC_MAINNET",
    "address": "0x...",
    "hdPath": "m/44'/60'/0'/0/0",
    "keyId": "<key-id>",
    "isActive": true,
    "merchantCallbackUrl": "https://your-domain.com/cpn-callback",
    "createdAt": "2026-01-20T18:30:40.912Z",
    "updatedAt": "2026-01-20T18:30:40.912Z"
  },
  "success": true
}

Important

  • Save the id (local wallet ID) - you'll need it for all subsequent API calls
  • Save the address - this is your wallet's blockchain address for receiving USDC
  • Fund this wallet with MATIC for gas (needed for the one-time Permit2 approval)

Next Step

Proceed to Create Policy to configure CPN-specific signing rules.