> 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/models.md).

# Models

## The Address object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"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)."}}}}
```

## The HexString object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"HexString":{"type":"string","description":"An arbitrary 0x-prefixed hex string."}}}}
```

## The Signature object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"Signature":{"type":"string","description":"A 65-byte hex-encoded ECDSA signature (130 hex chars + 0x prefix)."}}}}
```

## The UUID object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"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."}}}}
```

## The ExternalId object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"ExternalId":{"type":"string","description":"Client-supplied identifier for a wallet. Use it to reference a wallet by an ID from your own system, such as your user's ID.","maxLength":128}}}}
```

## The BigInteger object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"BigInteger":{"type":"string","description":"A non-negative integer represented as a string."}}}}
```

## The CID object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"CID":{"type":"string","description":"An IPFS content identifier (CIDv0 or CIDv1 base32)."}}}}
```

## The SemVer object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"SemVer":{"type":"string","description":"A semantic version string."}}}}
```

## The Timestamp object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"Timestamp":{"type":"integer","title":"Unix timestamp (ms)","description":"Unix timestamp in milliseconds."}}}}
```

## The CronExpression object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"CronExpression":{"type":"string","title":"Cron expression (UTC)","description":"A standard 5-field cron expression, in order: minute, hour, day of month, month, day of week. Evaluated in UTC."}}}}
```

## The MaxFeeUsd object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"MaxFeeUsd":{"type":"string","description":"Maximum fee to cover the cost of each on-chain transaction, in USD, as a decimal string. A transaction whose fee would exceed this value is not executed."}}}}
```

## The SlippageBps object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"SlippageBps":{"type":"integer","description":"Maximum slippage to accept on the amount received, in basis points (e.g. 50 = 0.50%).","minimum":0,"maximum":10000}}}}
```

## The Chain object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"Chain":{"type":"string","description":"Identifier of a chain supported by the API.","pattern":"^[a-z0-9-]+$"}}}}
```

## The ChainId object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"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`."}}}}
```

## The ExecutionStatus object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"ExecutionStatus":{"type":"object","description":"Status of an action execution.","required":["status"],"properties":{"status":{"type":"string","enum":["pending","succeeded","failed","skipped"],"description":"Status of this execution."},"inputs":{"type":"object","description":"Key-value map of the original request parameters."},"timestamp":{"allOf":[{"$ref":"#/components/schemas/Timestamp"}],"description":"Timestamp of the execution."},"logs":{"type":"array","description":"Execution log messages.","items":{"type":"string"}},"error":{"type":"string","description":"Error message. Present only when status is `failed`."}}},"Timestamp":{"type":"integer","title":"Unix timestamp (ms)","description":"Unix timestamp in milliseconds."}}}}
```

## The Swap object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"Swap":{"type":"object","description":"Single-chain or cross-chain swap that occurred during an execution.","required":["sourceChain","destinationChain","tokenIn","tokenOut","amountIn","minAmountOut"],"properties":{"sourceChain":{"allOf":[{"$ref":"#/components/schemas/Chain"}],"description":"Chain tokenIn was swapped from."},"destinationChain":{"allOf":[{"$ref":"#/components/schemas/Chain"}],"description":"Chain tokenOut was received on. Equal to sourceChain for a same-chain swap."},"tokenIn":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Token that was spent."},"tokenOut":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Token that was received."},"amountIn":{"type":"string","description":"Amount of tokenIn spent, as a decimal string."},"amountOut":{"type":"string","description":"Actual amount of tokenOut received, as a decimal string. Read from the settlement transaction, so it is omitted until the swap has settled on chain."},"minAmountOut":{"type":"string","description":"Least amount of tokenOut the action would accept, as a decimal string. Derived from `slippageBps` when the action was signed, so it is always present and is a floor the settlement is guaranteed to have met."},"txHash":{"allOf":[{"$ref":"#/components/schemas/HexString"}],"description":"Transaction hash on sourceChain."},"destinationTxHash":{"allOf":[{"$ref":"#/components/schemas/HexString"}],"description":"Transaction hash on destinationChain. Present only when destinationChain differs from sourceChain."}}},"Chain":{"type":"string","description":"Identifier of a chain supported by the API.","pattern":"^[a-z0-9-]+$"},"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."}}}}
```

## The PortfolioSnapshot object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"PortfolioSnapshot":{"type":"object","description":"Snapshot of token balances relevant to a strategy and their USD value.","required":["timestamp","totalValueUsd","balances"],"properties":{"timestamp":{"allOf":[{"$ref":"#/components/schemas/Timestamp"}],"description":"Timestamp the snapshot was taken."},"totalValueUsd":{"type":"string","description":"Total USD value of balances, as a decimal string."},"balances":{"type":"array","description":"Balance of each token relevant to the strategy.","items":{"type":"object","required":["token","amount","valueUsd"],"properties":{"token":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Token address. Use `0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE` for native token."},"amount":{"type":"string","description":"Token balance, as a decimal string."},"valueUsd":{"type":"string","description":"USD value of the balance, as a decimal string."}}}}}},"Timestamp":{"type":"integer","title":"Unix timestamp (ms)","description":"Unix timestamp in milliseconds."},"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)."}}}}
```

## The StrategyStatus object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"StrategyStatus":{"type":"object","description":"Status of a recurring assets management strategy.","required":["id","status","maxUsdPerExecution"],"properties":{"id":{"allOf":[{"$ref":"#/components/schemas/UUID"}],"description":"ID of this strategy."},"status":{"type":"string","enum":["pending","stale","active","stopped","ended"],"description":"Status of this strategy."},"inputs":{"type":"object","description":"Key-value map of the original request parameters."},"nextExecution":{"allOf":[{"$ref":"#/components/schemas/Timestamp"}],"description":"Timestamp of the next scheduled execution. Omitted when `status` is not `active`."},"portfolio":{"allOf":[{"$ref":"#/components/schemas/PortfolioSnapshot"}],"description":"Current balances and information relevant to this strategy."},"maxUsdPerExecution":{"allOf":[{"$ref":"#/components/schemas/MaxFeeUsd"}],"description":"Maximum fee applied per execution, derived by `POST /{action}/prepare`. An execution whose fee would exceed this value is skipped."}}},"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."},"Timestamp":{"type":"integer","title":"Unix timestamp (ms)","description":"Unix timestamp in milliseconds."},"PortfolioSnapshot":{"type":"object","description":"Snapshot of token balances relevant to a strategy and their USD value.","required":["timestamp","totalValueUsd","balances"],"properties":{"timestamp":{"allOf":[{"$ref":"#/components/schemas/Timestamp"}],"description":"Timestamp the snapshot was taken."},"totalValueUsd":{"type":"string","description":"Total USD value of balances, as a decimal string."},"balances":{"type":"array","description":"Balance of each token relevant to the strategy.","items":{"type":"object","required":["token","amount","valueUsd"],"properties":{"token":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Token address. Use `0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE` for native token."},"amount":{"type":"string","description":"Token balance, as a decimal string."},"valueUsd":{"type":"string","description":"USD value of the balance, as a decimal string."}}}}}},"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)."},"MaxFeeUsd":{"type":"string","description":"Maximum fee to cover the cost of each on-chain transaction, in USD, as a decimal string. A transaction whose fee would exceed this value is not executed."}}}}
```

## The StrategyExecution object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"StrategyExecution":{"description":"Status of a single execution of a recurring strategy.","allOf":[{"$ref":"#/components/schemas/ExecutionStatus"},{"type":"object","properties":{"costUsd":{"type":"string","description":"Fee actually paid for this execution, in USD, as a decimal string. Omitted while `status` is `pending`."},"swaps":{"type":"array","description":"Single-chain or cross-chain swaps that occurred during this execution.","items":{"$ref":"#/components/schemas/Swap"}}}}]},"ExecutionStatus":{"type":"object","description":"Status of an action execution.","required":["status"],"properties":{"status":{"type":"string","enum":["pending","succeeded","failed","skipped"],"description":"Status of this execution."},"inputs":{"type":"object","description":"Key-value map of the original request parameters."},"timestamp":{"allOf":[{"$ref":"#/components/schemas/Timestamp"}],"description":"Timestamp of the execution."},"logs":{"type":"array","description":"Execution log messages.","items":{"type":"string"}},"error":{"type":"string","description":"Error message. Present only when status is `failed`."}}},"Timestamp":{"type":"integer","title":"Unix timestamp (ms)","description":"Unix timestamp in milliseconds."},"Swap":{"type":"object","description":"Single-chain or cross-chain swap that occurred during an execution.","required":["sourceChain","destinationChain","tokenIn","tokenOut","amountIn","minAmountOut"],"properties":{"sourceChain":{"allOf":[{"$ref":"#/components/schemas/Chain"}],"description":"Chain tokenIn was swapped from."},"destinationChain":{"allOf":[{"$ref":"#/components/schemas/Chain"}],"description":"Chain tokenOut was received on. Equal to sourceChain for a same-chain swap."},"tokenIn":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Token that was spent."},"tokenOut":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Token that was received."},"amountIn":{"type":"string","description":"Amount of tokenIn spent, as a decimal string."},"amountOut":{"type":"string","description":"Actual amount of tokenOut received, as a decimal string. Read from the settlement transaction, so it is omitted until the swap has settled on chain."},"minAmountOut":{"type":"string","description":"Least amount of tokenOut the action would accept, as a decimal string. Derived from `slippageBps` when the action was signed, so it is always present and is a floor the settlement is guaranteed to have met."},"txHash":{"allOf":[{"$ref":"#/components/schemas/HexString"}],"description":"Transaction hash on sourceChain."},"destinationTxHash":{"allOf":[{"$ref":"#/components/schemas/HexString"}],"description":"Transaction hash on destinationChain. Present only when destinationChain differs from sourceChain."}}},"Chain":{"type":"string","description":"Identifier of a chain supported by the API.","pattern":"^[a-z0-9-]+$"},"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."}}}}
```

## The DcaInputs object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"DcaInputs":{"type":"object","description":"Parameters that define a DCA strategy.","required":["chain","tokenIn","tokenOut","amount","wallet","slippageBps","schedule"],"properties":{"chain":{"allOf":[{"$ref":"#/components/schemas/Chain"}],"description":"Chain where the swap is executed."},"tokenIn":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Token spent on each execution."},"tokenOut":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Token accumulated."},"amount":{"type":"string","description":"Amount of tokenIn spent per execution, as a decimal string."},"wallet":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Address the funds are pulled from."},"slippageBps":{"$ref":"#/components/schemas/SlippageBps"},"schedule":{"allOf":[{"$ref":"#/components/schemas/CronExpression"}],"description":"How often the DCA swap executes."},"maxTotalAmount":{"type":"string","description":"Maximum cumulative amount of tokenIn the strategy may spend across all executions, as a decimal string. The strategy stops after the last execution that fits within this limit. Omit for no limit."},"recipient":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Address that receives the tokenOut. Defaults to `wallet`."}}},"Chain":{"type":"string","description":"Identifier of a chain supported by the API.","pattern":"^[a-z0-9-]+$"},"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)."},"SlippageBps":{"type":"integer","description":"Maximum slippage to accept on the amount received, in basis points (e.g. 50 = 0.50%).","minimum":0,"maximum":10000},"CronExpression":{"type":"string","title":"Cron expression (UTC)","description":"A standard 5-field cron expression, in order: minute, hour, day of month, month, day of week. Evaluated in UTC."}}}}
```

## The DcaStrategy object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"DcaStrategy":{"description":"A DCA strategy and its current status.","allOf":[{"$ref":"#/components/schemas/StrategyStatus"},{"type":"object","properties":{"inputs":{"$ref":"#/components/schemas/DcaInputs"}}}]},"StrategyStatus":{"type":"object","description":"Status of a recurring assets management strategy.","required":["id","status","maxUsdPerExecution"],"properties":{"id":{"allOf":[{"$ref":"#/components/schemas/UUID"}],"description":"ID of this strategy."},"status":{"type":"string","enum":["pending","stale","active","stopped","ended"],"description":"Status of this strategy."},"inputs":{"type":"object","description":"Key-value map of the original request parameters."},"nextExecution":{"allOf":[{"$ref":"#/components/schemas/Timestamp"}],"description":"Timestamp of the next scheduled execution. Omitted when `status` is not `active`."},"portfolio":{"allOf":[{"$ref":"#/components/schemas/PortfolioSnapshot"}],"description":"Current balances and information relevant to this strategy."},"maxUsdPerExecution":{"allOf":[{"$ref":"#/components/schemas/MaxFeeUsd"}],"description":"Maximum fee applied per execution, derived by `POST /{action}/prepare`. An execution whose fee would exceed this value is skipped."}}},"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."},"Timestamp":{"type":"integer","title":"Unix timestamp (ms)","description":"Unix timestamp in milliseconds."},"PortfolioSnapshot":{"type":"object","description":"Snapshot of token balances relevant to a strategy and their USD value.","required":["timestamp","totalValueUsd","balances"],"properties":{"timestamp":{"allOf":[{"$ref":"#/components/schemas/Timestamp"}],"description":"Timestamp the snapshot was taken."},"totalValueUsd":{"type":"string","description":"Total USD value of balances, as a decimal string."},"balances":{"type":"array","description":"Balance of each token relevant to the strategy.","items":{"type":"object","required":["token","amount","valueUsd"],"properties":{"token":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Token address. Use `0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE` for native token."},"amount":{"type":"string","description":"Token balance, as a decimal string."},"valueUsd":{"type":"string","description":"USD value of the balance, as a decimal string."}}}}}},"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)."},"MaxFeeUsd":{"type":"string","description":"Maximum fee to cover the cost of each on-chain transaction, in USD, as a decimal string. A transaction whose fee would exceed this value is not executed."},"DcaInputs":{"type":"object","description":"Parameters that define a DCA strategy.","required":["chain","tokenIn","tokenOut","amount","wallet","slippageBps","schedule"],"properties":{"chain":{"allOf":[{"$ref":"#/components/schemas/Chain"}],"description":"Chain where the swap is executed."},"tokenIn":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Token spent on each execution."},"tokenOut":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Token accumulated."},"amount":{"type":"string","description":"Amount of tokenIn spent per execution, as a decimal string."},"wallet":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Address the funds are pulled from."},"slippageBps":{"$ref":"#/components/schemas/SlippageBps"},"schedule":{"allOf":[{"$ref":"#/components/schemas/CronExpression"}],"description":"How often the DCA swap executes."},"maxTotalAmount":{"type":"string","description":"Maximum cumulative amount of tokenIn the strategy may spend across all executions, as a decimal string. The strategy stops after the last execution that fits within this limit. Omit for no limit."},"recipient":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Address that receives the tokenOut. Defaults to `wallet`."}}},"Chain":{"type":"string","description":"Identifier of a chain supported by the API.","pattern":"^[a-z0-9-]+$"},"SlippageBps":{"type":"integer","description":"Maximum slippage to accept on the amount received, in basis points (e.g. 50 = 0.50%).","minimum":0,"maximum":10000},"CronExpression":{"type":"string","title":"Cron expression (UTC)","description":"A standard 5-field cron expression, in order: minute, hour, day of month, month, day of week. Evaluated in UTC."}}}}
```

## The Settler object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"Settler":{"type":"object","description":"Mimic's smart contract authorized to move funds out of a user's wallet to execute the corresponding actions.","required":["address","chain"],"properties":{"address":{"$ref":"#/components/schemas/Address"},"chain":{"$ref":"#/components/schemas/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)."},"Chain":{"type":"string","description":"Identifier of a chain supported by the API.","pattern":"^[a-z0-9-]+$"}}}}
```

## The Token object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"Token":{"type":"object","description":"A token supported by the API.","required":["chain","address","symbol","name","decimals"],"properties":{"chain":{"allOf":[{"$ref":"#/components/schemas/Chain"}],"description":"Chain the token is on."},"address":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Token contract address."},"symbol":{"type":"string","description":"Token symbol."},"name":{"type":"string","description":"Token name."},"decimals":{"type":"integer","description":"Number of decimals the token uses."},"logoURI":{"type":"string","format":"uri","description":"URL of the token logo."}}},"Chain":{"type":"string","description":"Identifier of a chain supported by the API.","pattern":"^[a-z0-9-]+$"},"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)."}}}}
```

## The TriggerDomain object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"TriggerDomain":{"type":"object","required":["name","version"],"properties":{"name":{"type":"string"},"version":{"type":"string"}}}}}}
```

## The SettlerDomain object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"SettlerDomain":{"type":"object","description":"EIP-712 domain of the settler contract the safeguard is set on.","required":["name","version","chainId","verifyingContract"],"properties":{"name":{"type":"string"},"version":{"type":"string"},"chainId":{"allOf":[{"$ref":"#/components/schemas/ChainId"}],"description":"Chain of the settler this authorization applies to."},"verifyingContract":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Settler contract address."}}},"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)."}}}}
```

## The SafeguardSignaturePayload object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"SafeguardSignaturePayload":{"type":"object","description":"EIP-712 data to be signed to authorize the safeguards that restrict what Mimic may do with the wallet. The safeguard allows swaps that pay out to the wallet itself and denies every other kind of operation.","required":["domain","primaryType","types","values"],"properties":{"domain":{"$ref":"#/components/schemas/SettlerDomain"},"primaryType":{"type":"string"},"types":{"type":"object","required":["SafeguardAuthorization"],"properties":{"SafeguardAuthorization":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}}}},"values":{"type":"object","required":["user","safeguard","nonce","deadline"],"properties":{"user":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Wallet the safeguard belongs to."},"safeguard":{"allOf":[{"$ref":"#/components/schemas/HexString"}],"description":"Encoded safeguard configuration."},"nonce":{"allOf":[{"$ref":"#/components/schemas/BigInteger"}],"description":"Unique value preventing this authorization from being replayed."},"deadline":{"allOf":[{"$ref":"#/components/schemas/BigInteger"}],"description":"Unix timestamp in seconds by which the safeguard must be set."}}}}},"SettlerDomain":{"type":"object","description":"EIP-712 domain of the settler contract the safeguard is set on.","required":["name","version","chainId","verifyingContract"],"properties":{"name":{"type":"string"},"version":{"type":"string"},"chainId":{"allOf":[{"$ref":"#/components/schemas/ChainId"}],"description":"Chain of the settler this authorization applies to."},"verifyingContract":{"allOf":[{"$ref":"#/components/schemas/Address"}],"description":"Settler contract address."}}},"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)."},"TypedDataField":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string"},"type":{"type":"string","description":"Solidity type or a custom type (`Token`, `TokenAmount`)."}}},"HexString":{"type":"string","description":"An arbitrary 0x-prefixed hex string."},"BigInteger":{"type":"string","description":"A non-negative integer represented as a string."}}}}
```

## The TriggerSignaturePayload object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"TriggerSignaturePayload":{"type":"object","description":"EIP-712 data to be signed to authorize a function execution.","required":["domain","primaryType","types","values"],"properties":{"domain":{"$ref":"#/components/schemas/TriggerDomain"},"primaryType":{"type":"string"},"types":{"$ref":"#/components/schemas/TriggerTypes"},"values":{"$ref":"#/components/schemas/TriggerTypedDataValues"}}},"TriggerDomain":{"type":"object","required":["name","version"],"properties":{"name":{"type":"string"},"version":{"type":"string"}}},"TriggerTypes":{"type":"object","required":["Input","Config","Trigger"],"description":"EIP-712 type definitions for the trigger's typed data.","properties":{"Input":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}},"Config":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}},"Trigger":{"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`)."}}},"TriggerTypedDataValues":{"type":"object","required":["functionCid","version","input","config","executionFeeLimit","minValidations"],"properties":{"functionCid":{"$ref":"#/components/schemas/CID"},"version":{"$ref":"#/components/schemas/SemVer"},"input":{"type":"object","description":"Key-value map matching the function's manifest input schema."},"config":{"$ref":"#/components/schemas/TriggerConfig"},"executionFeeLimit":{"allOf":[{"$ref":"#/components/schemas/BigInteger"}],"description":"Maximum fee (in protocol units) the signer accepts per execution."},"minValidations":{"type":"integer","description":"Minimum number of validator confirmations required."}}},"CID":{"type":"string","description":"An IPFS content identifier (CIDv0 or CIDv1 base32)."},"SemVer":{"type":"string","description":"A semantic version string."},"TriggerConfig":{"description":"Trigger schedule configuration. Discriminated by the integer `type` field: `0` → CronTriggerConfig, `1` → EventTriggerConfig, `2` → OnceTriggerConfig.\n","oneOf":[{"$ref":"#/components/schemas/CronTriggerConfig"},{"$ref":"#/components/schemas/EventTriggerConfig"},{"$ref":"#/components/schemas/OnceTriggerConfig"}]},"CronTriggerConfig":{"type":"object","required":["type","schedule","delta","endDate"],"properties":{"type":{"type":"integer","enum":[0]},"schedule":{"$ref":"#/components/schemas/CronExpression"},"delta":{"type":"string","description":"A time delta string."},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"CronExpression":{"type":"string","title":"Cron expression (UTC)","description":"A standard 5-field cron expression, in order: minute, hour, day of month, month, day of week. Evaluated in UTC."},"Timestamp":{"type":"integer","title":"Unix timestamp (ms)","description":"Unix timestamp in milliseconds."},"EventTriggerConfig":{"type":"object","required":["type","chain","contract","topics","delta","endDate"],"properties":{"type":{"type":"integer","enum":[1]},"chainId":{"$ref":"#/components/schemas/ChainId"},"contract":{"description":"Contract address to filter events from, or `\"any\"` for any contract.","oneOf":[{"$ref":"#/components/schemas/Address"},{"type":"string","enum":["any"]}]},"topics":{"type":"array","description":"Array of 1–4 topic groups. Each group is an OR filter; groups are AND-combined.\n","minItems":1,"maxItems":4,"items":{"type":"array","items":{"$ref":"#/components/schemas/HexString"}}},"delta":{"type":"string","description":"Time delta after the event before execution fires."},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"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."},"OnceTriggerConfig":{"type":"object","required":["type","startDate","delta","endDate"],"properties":{"type":{"type":"integer","enum":[2]},"startDate":{"$ref":"#/components/schemas/Timestamp"},"delta":{"type":"string","description":"Duration window; `endDate` must equal `startDate + delta`."},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"BigInteger":{"type":"string","description":"A non-negative integer represented as a string."}}}}
```

## The TriggerSignature object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"TriggerSignature":{"type":"object","description":"An EIP-712 signature over a TriggerSignaturePayload, submitted to authorize execution.","required":["typedData","sig","signer"],"properties":{"typedData":{"type":"object","required":["types","values"],"properties":{"types":{"$ref":"#/components/schemas/TriggerTypes"},"values":{"$ref":"#/components/schemas/TriggerTypedDataValues"}}},"sig":{"allOf":[{"$ref":"#/components/schemas/Signature"}],"description":"EIP-712 signature over `typedData` by `signer`."},"signer":{"$ref":"#/components/schemas/Address"}}},"TriggerTypes":{"type":"object","required":["Input","Config","Trigger"],"description":"EIP-712 type definitions for the trigger's typed data.","properties":{"Input":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}},"Config":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}},"Trigger":{"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`)."}}},"TriggerTypedDataValues":{"type":"object","required":["functionCid","version","input","config","executionFeeLimit","minValidations"],"properties":{"functionCid":{"$ref":"#/components/schemas/CID"},"version":{"$ref":"#/components/schemas/SemVer"},"input":{"type":"object","description":"Key-value map matching the function's manifest input schema."},"config":{"$ref":"#/components/schemas/TriggerConfig"},"executionFeeLimit":{"allOf":[{"$ref":"#/components/schemas/BigInteger"}],"description":"Maximum fee (in protocol units) the signer accepts per execution."},"minValidations":{"type":"integer","description":"Minimum number of validator confirmations required."}}},"CID":{"type":"string","description":"An IPFS content identifier (CIDv0 or CIDv1 base32)."},"SemVer":{"type":"string","description":"A semantic version string."},"TriggerConfig":{"description":"Trigger schedule configuration. Discriminated by the integer `type` field: `0` → CronTriggerConfig, `1` → EventTriggerConfig, `2` → OnceTriggerConfig.\n","oneOf":[{"$ref":"#/components/schemas/CronTriggerConfig"},{"$ref":"#/components/schemas/EventTriggerConfig"},{"$ref":"#/components/schemas/OnceTriggerConfig"}]},"CronTriggerConfig":{"type":"object","required":["type","schedule","delta","endDate"],"properties":{"type":{"type":"integer","enum":[0]},"schedule":{"$ref":"#/components/schemas/CronExpression"},"delta":{"type":"string","description":"A time delta string."},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"CronExpression":{"type":"string","title":"Cron expression (UTC)","description":"A standard 5-field cron expression, in order: minute, hour, day of month, month, day of week. Evaluated in UTC."},"Timestamp":{"type":"integer","title":"Unix timestamp (ms)","description":"Unix timestamp in milliseconds."},"EventTriggerConfig":{"type":"object","required":["type","chain","contract","topics","delta","endDate"],"properties":{"type":{"type":"integer","enum":[1]},"chainId":{"$ref":"#/components/schemas/ChainId"},"contract":{"description":"Contract address to filter events from, or `\"any\"` for any contract.","oneOf":[{"$ref":"#/components/schemas/Address"},{"type":"string","enum":["any"]}]},"topics":{"type":"array","description":"Array of 1–4 topic groups. Each group is an OR filter; groups are AND-combined.\n","minItems":1,"maxItems":4,"items":{"type":"array","items":{"$ref":"#/components/schemas/HexString"}}},"delta":{"type":"string","description":"Time delta after the event before execution fires."},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"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."},"OnceTriggerConfig":{"type":"object","required":["type","startDate","delta","endDate"],"properties":{"type":{"type":"integer","enum":[2]},"startDate":{"$ref":"#/components/schemas/Timestamp"},"delta":{"type":"string","description":"Duration window; `endDate` must equal `startDate + delta`."},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"BigInteger":{"type":"string","description":"A non-negative integer represented as a string."},"Signature":{"type":"string","description":"A 65-byte hex-encoded ECDSA signature (130 hex chars + 0x prefix)."}}}}
```

## The DeactivateTriggersTypes object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"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`)."}}}}}}
```

## The DeactivateTriggersValues object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"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)."}}}}
```

## The DeactivateTriggersSignaturePayload object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"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)."}}}}
```

## The DeactivateTriggersSignature object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"DeactivateTriggersSignature":{"type":"object","description":"An EIP-712 signature over a DeactivateTriggersSignaturePayload, submitted to authorize stopping a strategy.","required":["typedData","sig","signer"],"properties":{"typedData":{"type":"object","required":["types","values"],"properties":{"types":{"$ref":"#/components/schemas/DeactivateTriggersTypes"},"values":{"$ref":"#/components/schemas/DeactivateTriggersValues"}}},"sig":{"allOf":[{"$ref":"#/components/schemas/Signature"}],"description":"EIP-712 signature over `typedData` by `signer`."},"signer":{"$ref":"#/components/schemas/Address"}}},"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)."},"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)."}}}}
```

## The TransactionRequest object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"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."}}}}
```

## The TriggerType object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"TriggerType":{"type":"integer","enum":[0,1,2],"description":"Trigger execution mode."}}}}
```

## The TriggerTypes object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"TriggerTypes":{"type":"object","required":["Input","Config","Trigger"],"description":"EIP-712 type definitions for the trigger's typed data.","properties":{"Input":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}},"Config":{"type":"array","items":{"$ref":"#/components/schemas/TypedDataField"}},"Trigger":{"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`)."}}}}}}
```

## The TypedDataField object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"TypedDataField":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string"},"type":{"type":"string","description":"Solidity type or a custom type (`Token`, `TokenAmount`)."}}}}}}
```

## The TriggerTypedDataValues object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"TriggerTypedDataValues":{"type":"object","required":["functionCid","version","input","config","executionFeeLimit","minValidations"],"properties":{"functionCid":{"$ref":"#/components/schemas/CID"},"version":{"$ref":"#/components/schemas/SemVer"},"input":{"type":"object","description":"Key-value map matching the function's manifest input schema."},"config":{"$ref":"#/components/schemas/TriggerConfig"},"executionFeeLimit":{"allOf":[{"$ref":"#/components/schemas/BigInteger"}],"description":"Maximum fee (in protocol units) the signer accepts per execution."},"minValidations":{"type":"integer","description":"Minimum number of validator confirmations required."}}},"CID":{"type":"string","description":"An IPFS content identifier (CIDv0 or CIDv1 base32)."},"SemVer":{"type":"string","description":"A semantic version string."},"TriggerConfig":{"description":"Trigger schedule configuration. Discriminated by the integer `type` field: `0` → CronTriggerConfig, `1` → EventTriggerConfig, `2` → OnceTriggerConfig.\n","oneOf":[{"$ref":"#/components/schemas/CronTriggerConfig"},{"$ref":"#/components/schemas/EventTriggerConfig"},{"$ref":"#/components/schemas/OnceTriggerConfig"}]},"CronTriggerConfig":{"type":"object","required":["type","schedule","delta","endDate"],"properties":{"type":{"type":"integer","enum":[0]},"schedule":{"$ref":"#/components/schemas/CronExpression"},"delta":{"type":"string","description":"A time delta string."},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"CronExpression":{"type":"string","title":"Cron expression (UTC)","description":"A standard 5-field cron expression, in order: minute, hour, day of month, month, day of week. Evaluated in UTC."},"Timestamp":{"type":"integer","title":"Unix timestamp (ms)","description":"Unix timestamp in milliseconds."},"EventTriggerConfig":{"type":"object","required":["type","chain","contract","topics","delta","endDate"],"properties":{"type":{"type":"integer","enum":[1]},"chainId":{"$ref":"#/components/schemas/ChainId"},"contract":{"description":"Contract address to filter events from, or `\"any\"` for any contract.","oneOf":[{"$ref":"#/components/schemas/Address"},{"type":"string","enum":["any"]}]},"topics":{"type":"array","description":"Array of 1–4 topic groups. Each group is an OR filter; groups are AND-combined.\n","minItems":1,"maxItems":4,"items":{"type":"array","items":{"$ref":"#/components/schemas/HexString"}}},"delta":{"type":"string","description":"Time delta after the event before execution fires."},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"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."},"OnceTriggerConfig":{"type":"object","required":["type","startDate","delta","endDate"],"properties":{"type":{"type":"integer","enum":[2]},"startDate":{"$ref":"#/components/schemas/Timestamp"},"delta":{"type":"string","description":"Duration window; `endDate` must equal `startDate + delta`."},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"BigInteger":{"type":"string","description":"A non-negative integer represented as a string."}}}}
```

## The CronTriggerConfig object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"CronTriggerConfig":{"type":"object","required":["type","schedule","delta","endDate"],"properties":{"type":{"type":"integer","enum":[0]},"schedule":{"$ref":"#/components/schemas/CronExpression"},"delta":{"type":"string","description":"A time delta string."},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"CronExpression":{"type":"string","title":"Cron expression (UTC)","description":"A standard 5-field cron expression, in order: minute, hour, day of month, month, day of week. Evaluated in UTC."},"Timestamp":{"type":"integer","title":"Unix timestamp (ms)","description":"Unix timestamp in milliseconds."}}}}
```

## The EventTriggerConfig object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"EventTriggerConfig":{"type":"object","required":["type","chain","contract","topics","delta","endDate"],"properties":{"type":{"type":"integer","enum":[1]},"chainId":{"$ref":"#/components/schemas/ChainId"},"contract":{"description":"Contract address to filter events from, or `\"any\"` for any contract.","oneOf":[{"$ref":"#/components/schemas/Address"},{"type":"string","enum":["any"]}]},"topics":{"type":"array","description":"Array of 1–4 topic groups. Each group is an OR filter; groups are AND-combined.\n","minItems":1,"maxItems":4,"items":{"type":"array","items":{"$ref":"#/components/schemas/HexString"}}},"delta":{"type":"string","description":"Time delta after the event before execution fires."},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"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."},"Timestamp":{"type":"integer","title":"Unix timestamp (ms)","description":"Unix timestamp in milliseconds."}}}}
```

## The OnceTriggerConfig object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"OnceTriggerConfig":{"type":"object","required":["type","startDate","delta","endDate"],"properties":{"type":{"type":"integer","enum":[2]},"startDate":{"$ref":"#/components/schemas/Timestamp"},"delta":{"type":"string","description":"Duration window; `endDate` must equal `startDate + delta`."},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"Timestamp":{"type":"integer","title":"Unix timestamp (ms)","description":"Unix timestamp in milliseconds."}}}}
```

## The TriggerConfig object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"TriggerConfig":{"description":"Trigger schedule configuration. Discriminated by the integer `type` field: `0` → CronTriggerConfig, `1` → EventTriggerConfig, `2` → OnceTriggerConfig.\n","oneOf":[{"$ref":"#/components/schemas/CronTriggerConfig"},{"$ref":"#/components/schemas/EventTriggerConfig"},{"$ref":"#/components/schemas/OnceTriggerConfig"}]},"CronTriggerConfig":{"type":"object","required":["type","schedule","delta","endDate"],"properties":{"type":{"type":"integer","enum":[0]},"schedule":{"$ref":"#/components/schemas/CronExpression"},"delta":{"type":"string","description":"A time delta string."},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"CronExpression":{"type":"string","title":"Cron expression (UTC)","description":"A standard 5-field cron expression, in order: minute, hour, day of month, month, day of week. Evaluated in UTC."},"Timestamp":{"type":"integer","title":"Unix timestamp (ms)","description":"Unix timestamp in milliseconds."},"EventTriggerConfig":{"type":"object","required":["type","chain","contract","topics","delta","endDate"],"properties":{"type":{"type":"integer","enum":[1]},"chainId":{"$ref":"#/components/schemas/ChainId"},"contract":{"description":"Contract address to filter events from, or `\"any\"` for any contract.","oneOf":[{"$ref":"#/components/schemas/Address"},{"type":"string","enum":["any"]}]},"topics":{"type":"array","description":"Array of 1–4 topic groups. Each group is an OR filter; groups are AND-combined.\n","minItems":1,"maxItems":4,"items":{"type":"array","items":{"$ref":"#/components/schemas/HexString"}}},"delta":{"type":"string","description":"Time delta after the event before execution fires."},"endDate":{"$ref":"#/components/schemas/Timestamp"}}},"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."},"OnceTriggerConfig":{"type":"object","required":["type","startDate","delta","endDate"],"properties":{"type":{"type":"integer","enum":[2]},"startDate":{"$ref":"#/components/schemas/Timestamp"},"delta":{"type":"string","description":"Duration window; `endDate` must equal `startDate + delta`."},"endDate":{"$ref":"#/components/schemas/Timestamp"}}}}}}
```

## The Error object

```json
{"openapi":"3.1.0","info":{"title":"Mimic API","version":"0.0.1-rc"},"components":{"schemas":{"Error":{"type":"object","properties":{"message":{"type":"string"}}}}}}
```


---

# 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/models.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.
