> For the complete documentation index, see [llms.txt](https://mimic-api.gitbook.io/mimic-api-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mimic-api.gitbook.io/mimic-api-docs/swap/dca/dca-id-stop-prepare.md).

# /dca/{id}/stop/prepare

Computes EIP-712 data to be signed to stop the DCA strategy, along with the transactions that remove the settler's allowance. Submit the resulting signature via `POST /dca/{id}/stop/execute`.

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"tags":[{"name":"DCA","description":"Recurring dollar-cost averaging strategy. Compute EIP-712 data to sign via `POST /dca/prepare`, which also returns an `id`, then submit the signature via `POST /dca/{id}/execute`."}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-Api-Key","description":"API key for your Mimic account. Required for every operation except the public reference-data endpoints."}},"parameters":{"ActionId":{"name":"id","in":"path","required":true,"description":"ID returned by `POST /{action}/prepare`.","schema":{"$ref":"#/components/schemas/UUID"}}},"schemas":{"UUID":{"type":"string","format":"uuid","description":"Identifier for an action request, returned by `POST /{action}/prepare` and used to submit its signature and track its status."},"DeactivateTriggersSignaturePayload":{"type":"object","description":"EIP-712 data to be signed to stop a strategy.","required":["domain","primaryType","types","values"],"properties":{"domain":{"$ref":"#/components/schemas/TriggerDomain"},"primaryType":{"type":"string"},"types":{"$ref":"#/components/schemas/DeactivateTriggersTypes"},"values":{"$ref":"#/components/schemas/DeactivateTriggersValues"}}},"TriggerDomain":{"type":"object","required":["name","version"],"properties":{"name":{"type":"string"},"version":{"type":"string"}}},"DeactivateTriggersTypes":{"type":"object","description":"EIP-712 type definitions for the deactivation typed data.","required":["DeactivateTriggers"],"properties":{"DeactivateTriggers":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}}}},"TypedDataField":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string"},"type":{"type":"string","description":"Solidity type or a custom type (`Token`, `TokenAmount`)."}}},"DeactivateTriggersValues":{"type":"object","required":["triggerSigs"],"properties":{"triggerSigs":{"type":"array","description":"Signatures identifying the triggers to deactivate. Contains the signature of the single strategy addressed by the request path.","minItems":1,"items":{"$ref":"#/components/schemas/Signature"}}}},"Signature":{"type":"string","description":"A 65-byte hex-encoded ECDSA signature (130 hex chars + 0x prefix)."},"TransactionRequest":{"type":"object","description":"An unsigned raw transaction that must be signed before it can be submitted.","required":["chainId","from","to","nonce","data","value","gasLimit","maxFeePerGas","maxPriorityFeePerGas"],"properties":{"chainId":{"allOf":[{"$ref":"#/components/schemas/ChainId"}],"description":"Chain ID this transaction must be signed and submitted on."},"from":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Address this transaction is sent from."},"to":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Token contract address to call."},"nonce":{"type":"integer","description":"Account nonce to use for this transaction."},"data":{"allOf":[{"$ref":"#/components/schemas/HexString"}],"description":"ABI-encoded calldata for `approve(spender, amount)`."},"value":{"allOf":[{"$ref":"#/components/schemas/BigInteger"}],"description":"Native token value to send with the transaction, in wei. Always `\"0\"`."},"gasLimit":{"allOf":[{"$ref":"#/components/schemas/BigInteger"}],"description":"Gas limit for this transaction."},"maxFeePerGas":{"allOf":[{"$ref":"#/components/schemas/BigInteger"}],"description":"Maximum total fee per gas unit, in wei."},"maxPriorityFeePerGas":{"allOf":[{"$ref":"#/components/schemas/BigInteger"}],"description":"Maximum priority fee per gas unit, in wei."}}},"ChainId":{"type":"integer","description":"Numeric EVM chain ID. Used only inside raw transactions and on-chain trigger payloads that must be signed with it; elsewhere the API identifies chains by `Chain`."},"Address":{"type":"string","description":"A valid address on the relevant chain. Format depends on the chain: 0x-prefixed 20-byte hex for EVM chains, base58 for other chains (e.g. Solana, Tron)."},"HexString":{"type":"string","description":"An arbitrary 0x-prefixed hex string."},"BigInteger":{"type":"string","description":"A non-negative integer represented as a string."},"Error":{"type":"object","properties":{"message":{"type":"string"}}}},"responses":{"StopPrepared":{"description":"EIP-712 data to be signed to stop the strategy, and the transactions that remove the settler's allowance.","content":{"application/json":{"schema":{"type":"object","required":["signaturePayload","revocations"],"properties":{"signaturePayload":{"$ref":"#/components/schemas/DeactivateTriggersSignaturePayload"},"revocations":{"type":"array","description":"Raw `approve()` transactions setting the settler's allowance back to zero, so no spending permission is left behind once the strategy is stopped. Signing and submitting them via `POST /{action}/{id}/stop/execute` is optional. Empty when there is no allowance to remove, and also when another strategy on the same wallet and token is still live — the allowance is shared, so zeroing it would stop that one from executing.","items":{"$ref":"#/components/schemas/TransactionRequest"}}}}}}},"BadRequest":{"description":"Bad request — invalid parameters or body.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"Unauthorized — missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NothingToStopConflict":{"description":"Conflict — the strategy has not been executed yet, so there is nothing to stop.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/dca/{id}/stop/prepare":{"post":{"tags":["DCA"],"description":"Computes EIP-712 data to be signed to stop the DCA strategy, along with the transactions that remove the settler's allowance. Submit the resulting signature via `POST /dca/{id}/stop/execute`.","parameters":[{"$ref":"#/components/parameters/ActionId","description":"ID returned by `POST /dca/prepare`."}],"responses":{"200":{"$ref":"#/components/responses/StopPrepared"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/NothingToStopConflict"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://mimic-api.gitbook.io/mimic-api-docs/swap/dca/dca-id-stop-prepare.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
