Policies
Execute a policy proposal
[Admin Only] Executes a policy proposal after the required approvals have been collected. Only admin API members can make requests to this endpoint.
POST
/
policies
/
proposals
/
{proposalId}
/
execute
cURL
curl --request POST \
--url https://api.onchainden.com/api/v1/policies/proposals/{proposalId}/execute \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Idempotency-Key: <x-idempotency-key>' \
--data '{}'const client = new DenClient({ apiKey: 'ck_live_...' });
const executed = await client.executePolicyProposal('prop_123', { type: 'approve' });
{
"data": {
"id": "prop_pol_add_123",
"resourceType": "policies",
"action": "create",
"signatureStatus": "approvalReady",
"executionStatus": "completed",
"threshold": 2,
"approvals": [],
"rejections": [],
"createdAt": "2026-01-18T00:00:00.000Z",
"expiresAt": "2026-01-25T00:00:00.000Z",
"data": {
"policies": [
{
"name": "Small USDC Transfers",
"type": "AUTO_APPROVAL",
"transactionType": "TOKEN_TRANSFER",
"networkId": 1,
"accountIds": [
"acc_1"
],
"initiatorSetting": null,
"approverSetting": null,
"limitation": null,
"tokenTransferCondition": {
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"amountThreshold": "1000000000",
"destinationAddresses": []
}
}
]
},
"result": {
"resolution": "approved",
"resources": [
{
"type": "policy",
"id": "pol_new1",
"uri": "/api/v1/policies/pol_new1"
}
]
}
}
}
Authorizations
API key authentication. Include your API key in the Authorization header.
Headers
Idempotency key for safely retrying mutation requests.
Path Parameters
Proposal ID
Body
application/json
Which resolution to execute
Available options:
approve, reject Response
Policy proposal executed
- Policies Add
- Policies Update
- Policies Remove
Show child attributes
Show child attributes
Example:
{ "id": "prop_pol_add_123", "resourceType": "policies", "action": "create", "signatureStatus": "approvalReady", "executionStatus": "completed", "threshold": 2, "approvals": [], "rejections": [], "createdAt": "2026-01-18T00:00:00.000Z", "expiresAt": "2026-01-25T00:00:00.000Z", "data": { "policies": [ { "name": "Small USDC Transfers", "type": "AUTO_APPROVAL", "transactionType": "TOKEN_TRANSFER", "networkId": 1, "accountIds": ["acc_1"], "initiatorSetting": null, "approverSetting": null, "limitation": null, "tokenTransferCondition": { "tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "amountThreshold": "1000000000", "destinationAddresses": [] } } ] }, "result": { "resolution": "approved", "resources": [ { "type": "policy", "id": "pol_new1", "uri": "/api/v1/policies/pol_new1" } ] } }
⌘I
cURL
curl --request POST \
--url https://api.onchainden.com/api/v1/policies/proposals/{proposalId}/execute \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Idempotency-Key: <x-idempotency-key>' \
--data '{}'const client = new DenClient({ apiKey: 'ck_live_...' });
const executed = await client.executePolicyProposal('prop_123', { type: 'approve' });
{
"data": {
"id": "prop_pol_add_123",
"resourceType": "policies",
"action": "create",
"signatureStatus": "approvalReady",
"executionStatus": "completed",
"threshold": 2,
"approvals": [],
"rejections": [],
"createdAt": "2026-01-18T00:00:00.000Z",
"expiresAt": "2026-01-25T00:00:00.000Z",
"data": {
"policies": [
{
"name": "Small USDC Transfers",
"type": "AUTO_APPROVAL",
"transactionType": "TOKEN_TRANSFER",
"networkId": 1,
"accountIds": [
"acc_1"
],
"initiatorSetting": null,
"approverSetting": null,
"limitation": null,
"tokenTransferCondition": {
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"amountThreshold": "1000000000",
"destinationAddresses": []
}
}
]
},
"result": {
"resolution": "approved",
"resources": [
{
"type": "policy",
"id": "pol_new1",
"uri": "/api/v1/policies/pol_new1"
}
]
}
}
}