Master Wallet Update Rule
This endpoint allows you to update an existing auto-settlement rule for a specific wallet. By providing the necessary parameters in the request body, you can modify the conditions and actions for the auto-settlement process.
This endpoint is a partial merge: send only the fields you want to change and every other field on the rule keeps its current value. Nested objects are replaced wholesale, so when you send source or destination include the complete object. The merged rule is then re-validated, which means an update can be rejected because of a field you did not send.
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| type | string | No | The settlement rule type: withdraw, swap, gateway, or earn. Sending it on an update migrates a legacy rule onto the explicit type system and applies the type validations; omit it to keep the rule’s current behavior. |
| name | string | No | The name of the auto-settlement rule. A descriptive title reflecting its purpose. |
| isActive | boolean | No | Indicates whether the rule is currently active. true = enabled, false = disabled. |
| order | string | No | Routing preference for the swap leg. Possible values: FASTEST, CHEAPEST, RECOMMENDED, NO_SLIPPAGE. |
| slippageTolerance | string | No | The acceptable slippage tolerance (as a percentage). Example: "5" = 5% tolerance; "-1" for unlimited. |
| isGateway | boolean | No | Route the settlement through Circle’s Gateway. Must be true when the rule’s type is gateway, and false (or absent) for every other type. |
| isReward | boolean | No | Settle into an Earn position. Must be true when the rule’s type is earn. Mainnet only, and cannot be combined with isGateway. |
| rewardProvider | string | Conditional | Required whenever the merged rule has isReward: true. Either fija or aave. |
| rewardType | string | Conditional | Required whenever the merged rule has isReward: true. Must be regulated for fija and defi for aave. |
| useTransactionAmount | boolean | No | false settles the address’s current balance of the source asset; true settles only the triggering deposit amount. |
| deductionPercentage | string | No | Percentage withheld from the settled amount before execution, e.g. "2.5". |
| inheritance | object | No | Controls which child addresses this master-wallet rule cascades to. Send the complete object to change it. |
| ├─ mode | string | Yes | One of master_only, all_children, or selected_children. |
| ├─ childAddressIds | array of strings | Conditional | Required and non-empty when mode is selected_children. |
| source | object | No | Details about the source of the settlement. |
| ├─ assets | array of strings | No | List of asset symbols this rule settles (e.g., ["USDT"]). |
| ├─ minAmount | string | No | The minimum amount required for settlement (e.g., "1"). |
| ├─ maxAmount | string | No | The maximum amount that can be settled (e.g., "1000"), or "-1" for unlimited. |
| ├─ blockchain | string | No | The blockchain network used for the settlement. |
| destination | object | No | Details about the destination of the settlement. |
| ├─ asset | string | No | The asset the settlement is directed to. |
| ├─ address | string | No | The address the settlement is sent to. Required once the rule’s type is withdraw. |
| ├─ blockchain | string | No | The blockchain network for the destination. Must equal the source blockchain once the rule’s type is withdraw. |
Authorizations
Path Parameters
"{{walletId}}"
"55869cbe-fa3a-44d2-a7e3-d65c08355e4d"
Body
Settlement rule type. Sending it on an update migrates a legacy rule onto the explicit type system; omit it to keep the rule's current behavior.
withdraw, swap, gateway, earn "swap"
true
Must be true when the rule's type is gateway.
false
Must be true when the rule's type is earn. Mainnet only, and cannot be combined with isGateway.
false
Required whenever the merged rule has isReward true.
fija, aave "aave"
Must be regulated for fija and defi for aave.
regulated, defi "defi"
false settles the address's current balance of the source asset; true settles only the triggering deposit amount.
false
Percentage withheld from the settled amount before execution.
"0"
Controls which child addresses this master-wallet rule cascades to. Send the complete object to change it.
"Swap from USDT to OP USDC"
FASTEST, CHEAPEST, RECOMMENDED, NO_SLIPPAGE "FASTEST"
"5"

