# MigrationLegEconomicBindingV2

[All API schemas](/api-reference/schemas/)

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>schemaVersion</code> | Yes | Constant <code>migration-leg-economic-binding-v2</code> | — |
| <code>legId</code> | Yes | <code>string</code> | — |
| <code>capitalQuote</code> | Yes | [PositiveAtomicAmount](/api-reference/schemas/positive-atomic-amount/) | — |
| <code>asset0</code> | Yes | [Address](/api-reference/schemas/address/) | — |
| <code>asset1</code> | Yes | [Address](/api-reference/schemas/address/) | — |
| <code>quoteAsset</code> | Yes | [Address](/api-reference/schemas/address/) | — |
| <code>asset0Decimals</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>36</code> |
| <code>asset1Decimals</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>36</code> |
| <code>quoteDecimals</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>36</code> |
| <code>asset0PriceQuoteX18</code> | Yes | [PositiveAtomicAmount](/api-reference/schemas/positive-atomic-amount/) | — |
| <code>asset1PriceQuoteX18</code> | Yes | [PositiveAtomicAmount](/api-reference/schemas/positive-atomic-amount/) | — |
| <code>expectedAmount0Atomic</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>expectedAmount1Atomic</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>valuationTolerancePips</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>50000</code> |
| <code>actionKind</code> | Yes | <code>integer</code> | Allowed: <code>1</code>, <code>2</code>, <code>3</code> |
| <code>actionPositionId</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>actionLiquidity</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>actionAmount0Max</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>actionAmount1Max</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>actionAmount0Min</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>actionAmount1Min</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>controllerActionHash</code> | Yes | [Hash](/api-reference/schemas/hash/) | — |
| <code>oracleProviderId</code> | Yes | <code>string</code> | — |
| <code>oracleProviderResourceVersion</code> | Yes | [Hash](/api-reference/schemas/hash/) | — |
| <code>oracleProviderAttestationHash</code> | Yes | [Hash](/api-reference/schemas/hash/) | — |
| <code>maximumAgeSeconds</code> | Yes | <code>integer</code> | Minimum: <code>1</code>; Maximum: <code>86400</code> |
| <code>observedAt</code> | Yes | <code>string</code> | Format: <code>date-time</code> |
| <code>payloadHash</code> | Yes | [Hash](/api-reference/schemas/hash/) | — |
| <code>signature</code> | Yes | <code>string</code> | Pattern: <code>^&#91;A-Za-z0-9+/&#93;{80,700}={0,2}$</code> |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

Exact definition: <code>#/components/schemas/MigrationLegEconomicBindingV2</code> in the [OpenAPI contract](/openapi/liquidity-operating-system-v2.openapi.json).