Managed Signing
Create Policy

Knit API Documentation

Create Policy

Endpoint

POST

{{baseUrl}}/api/v1/managed-signing/policies

This endpoint creates a new policy for managing signing request rules.

Headers
  • X-API-KEY: Your API key for authentication.
  • Accept: Set to application/json to receive responses in JSON format.
  • Content-Type: Set to application/json.
Request Body
FieldTypeRequiredDescription
namestringYesPolicy name
rulesobjectYesPolicy rules configuration
Basic Example
{
  "name": "default",
  "rules": {
    "chains": ["ETHEREUM_MAINNET"],
    "maxApprovalAmount": "1000000",
    "denyUnlimitedApprovals": true
  }
}
Full Policy Rules Schema
{
  "name": "comprehensive-policy",
  "rules": {
    "chains": ["ETHEREUM_MAINNET", "MATIC_MAINNET"],
    "tokens": ["0xAllowedToken1", "0xAllowedToken2"],
    "spenders": ["0xAllowedSpender1"],
    "maxApprovalAmount": "1000000000000000000",
    "denyUnlimitedApprovals": true,
    "requireApprovalAbove": "500000000000000000",
    "rateLimits": {
      "windowSec": 3600,
      "maxCount": 10,
      "maxValue": "5000000000000000000"
    },
    "allowRawTx": false,
    "allowedContracts": ["0xContract1", "0xContract2"],
    "typedData": {
      "allow": true,
      "allowedPrimaryTypes": ["Permit", "Order"],
      "allowedDomains": [
        {
          "name": "Uniswap",
          "chainId": 1,
          "verifyingContract": "0xContractAddress"
        }
      ]
    },
    "message": {
      "allow": true,
      "maxBytes": 1024,
      "allowedPrefixes": ["Sign this message"]
    }
  }
}
Policy Rules Reference

Transaction Controls

FieldTypeDescription
chainsstring[]Allowed blockchain networks
tokensstring[]Allowed token contract addresses for approvals
spendersstring[]Allowed spender addresses for approvals
allowedContractsstring[]Contracts allowed for raw transactions
allowRawTxbooleanAllow raw transaction signing

Approval Limits

FieldTypeDescription
maxApprovalAmountstringMaximum approval amount (in wei)
denyUnlimitedApprovalsbooleanBlock unlimited (max uint256) approvals
requireApprovalAbovestringRequire manual approval above this amount

Rate Limiting

FieldTypeDescription
rateLimits.windowSecnumberTime window for rate limiting (seconds)
rateLimits.maxCountnumberMax requests allowed in time window
rateLimits.maxValuestringMax total value in time window (wei)

EIP-712 Typed Data Controls

FieldTypeDescription
typedData.allowbooleanAllow EIP-712 signing
typedData.allowedPrimaryTypesstring[]Allowed EIP-712 primary types
typedData.allowedDomainsobject[]Allowed EIP-712 domains
typedData.allowedDomains[].namestringDomain name
typedData.allowedDomains[].chainIdnumberChain ID
typedData.allowedDomains[].verifyingContractstringContract address

EIP-191 Message Controls

FieldTypeDescription
message.allowbooleanAllow EIP-191 message signing
message.maxBytesnumberMax message size in bytes
message.allowedPrefixesstring[]Required message prefixes
Sample Request
curl --location -g '{{baseUrl}}/api/v1/managed-signing/policies' \
--header 'X-API-KEY: {{apiKey}}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
    "name": "default",
    "rules": {
        "chains": ["ETHEREUM_MAINNET"],
        "maxApprovalAmount": "1000000",
        "denyUnlimitedApprovals": true
    }
}'
Sample Response
Sample Response
{
  "statusCode": 201,
  "message": "Policy created",
  "data": {
    "id": "<local-policy-id>",
    "businessId": "<business-id>",
    "name": "default",
    "rules": {
      "chains": ["ETHEREUM_MAINNET"],
      "maxApprovalAmount": "1000000",
      "denyUnlimitedApprovals": true
    },
    "createdAt": "2026-01-20T18:30:40.912Z",
    "updatedAt": "2026-01-20T18:30:40.912Z"
  },
  "success": true
}
Response Fields
FieldTypeDescription
idstringLocal policy ID (use this in subsequent requests)
businessIdstringYour business ID
namestringPolicy name
rulesobjectPolicy rules configuration
createdAtstringCreation timestamp
updatedAtstringLast update timestamp

Contact

business@useknit.io

Knit Business Financial Services Ltd.
3080 Yonge St
Toronto ON, M4N 3N1, Canada

Subscribe to our newsletter

A monthly digest of the latest news, articles, and resources.

Knit logo

© KNIT BUSINESS FINANCIAL SERVICES LIMITED is duly registered by the Financial Transactions and Reports Analysis Centre of Canada (FINTRAC) as a Money Service Business (C100000256)