Update Wallet Whitelists

Overview

You can update a wallet whitelist if the wallet policy is unlocked. Polices lock 48 hours from creation. Use this time to test and make changes to the whitelist and the policy. If you need to update a whitelist once the policy locks, request to unlock it by contacting support@bitgo.com.

Prerequisites

1. Update Whitelist

The following example adds an additional address to the whitelist.

Endpoint: Update Wallet-Policy Rule

  • cURL
  • JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 export COIN="<ASSET_ID>" export WALLET_ID="<YOUR_WALLET_ID>" export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>" export ID="<NAME_OF_WHITELIST>" export ITEM="<ADDRESS_TO_WHITELIST>" curl -X PUT \ "https://app.bitgo-test.com/api/v2/$COIN/wallet/$WALLET_ID/policy/rule" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -d '{ "coin": "'"$COIN"'", "id": "'"$ID"'", "type": "advancedWhitelist", "condition": { "add": { "type": "address", "item": "'"$ITEM"'" } }, "action": { "type": "deny" } }'

Step Result

If updating the whitelist doesn't require approval, the update is now in effect.

  • JSON (approval not required)
  • JSON (pending approval)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 { "id": "66e9f4bb549f6c3957f8977fe3ed6ab4", "users": [ { "user": "62ab90e06dfda30007974f0a52a12995", "permissions": ["admin", "spend", "view"] } ], "coin": "tbtc4", "label": "Policy Wallet 2", "m": 2, "n": 3, "keys": [ "66e9f4ac6bfc0956265268311208afd7", "66e9f4ac9231837dc9c945a6c4a725d0", "66e9f4adbfe06bac12b54a93d22b6dfc" ], "keySignatures": {}, "enterprise": "62c5ae8174ac860007aff138a2d74df7", "bitgoOrg": "BitGo Trust", "tags": [ "66e9f4bb549f6c3957f8977fe3ed6ab4", "62c5ae8174ac860007aff138a2d74df7" ], "disableTransactionNotifications": false, "freeze": {}, "deleted": false, "approvalsRequired": 1, "isCold": false, "coinSpecific": {}, "admin": { "policy": { "date": "2024-09-18T22:16:50.522Z", "id": "66e9f4bb549f6c3957f897824915d45f", "label": "default", "rules": [ { "id": "My First Wallet Policy for a Whitelist", "lockDate": "2025-09-18T22:05:21.219Z", "coin": "tbtc4", "type": "advancedWhitelist", "action": { "type": "deny", "userIds": [] }, "condition": { "entries": [ { "item": "2N6CWMMYXdufJyBa16KNorHs8AakXcqyHhf", "type": "address" }, { "item": "2N4MTidamwHgzcgVnvWeSSW2s7jfszB7SNu", "type": "address" } ] } } ], "version": 6, "latest": true } }, "clientFlags": [], "walletFlags": [], "allowBackupKeySigning": false, "startDate": "2024-09-17T21:29:31.000Z", "type": "hot", "buildDefaults": {}, "customChangeKeySignatures": {}, "hasLargeNumberOfAddresses": false, "multisigType": "onchain", "hasReceiveTransferPolicy": false, "config": {} }

2. Approve Whitelist (Optional)

Note: If updating your wallet policy requires approval, another admin must approve it.

Endpoint: Update Pending Approval

  • cURL
  • JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 export APPROVAL_ID="<APPROVAL_ID>" export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>" export OTP="<YOUR_OTP>" curl -X PUT \ https://app.bitgo-test.com/api/v2/pendingApprovals/$APPROVAL_ID \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -d '{ "state": "approved", "otp": "'"$OTP"'" }'

Step Result

Your wallet policy is approved and your whitelist is now in effect.

  • JSON
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 { "id": "66edb40bacdd0951e73c4211711fc126", "coin": "tbtc4", "wallet": "66e9aba320e050e4334b23285bfe3b2e", "wallets": [], "enterprise": "62c5ae8174ac860007aff138a2d74df7", "bitgoOrg": "BitGo Trust", "creator": "62ab90e06dfda30007974f0a52a12995", "createDate": "2024-09-20T17:42:35.026Z", "approvedDate": "2024-09-20T17:48:29.296Z", "info": { "type": "policyRuleRequest", "policyRuleRequest": { "action": "update", "update": { "id": "My First Wallet Policy for a Whitelist", "type": "advancedWhitelist", "action": { "type": "deny", "userIds": [] }, "condition": { "add": { "type": "address", "item": "2N4MTidamwHgzcgVnvWeSSW2s7jfszB7SNu" } }, "coin": "tbtc4" } } }, "approvers": [], "state": "approved", "scope": "wallet", "userIds": [ "62ab90e06dfda30007974f0a52a12995", "627ff9325a5c1b0007c05a40d15e1522" ], "approvalsRequired": 1, "singleRunResults": [], "resolvers": [ { "user": "627ff9325a5c1b0007c05a40d15e1522", "date": "2024-09-20T17:48:29.193Z", "resolutionType": "pending", "resolutionAction": "approve" } ], "actions": [], "resolutionOrder": [] }

Next

You can view whitelists and wallet policies using the Get Wallet endpoint.

See Also

API Reference: Update Wallet-Policy Rule