Skip to main content
POST

Authorizations

Authorization
string
header
required

Basic authentication using the partner API keys from https://console.grainfinance.co/keys

Headers

X-Customer-IP
string<IPv4>
required

The IPv4 address of the browser from which the customer contacts your platform.
example: 192.158.1.38

Pattern: ((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}

Path Parameters

customerId
string<uuid>
required

The id of the customer within the Grain platform.

Pattern: [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}
hedgeId
string<uuid>
required

The id of the hedge within the Grain platform.

Pattern: [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}

Body

application/json

Information required by Grain in order to generate a drawdown proposal. The drawdown executes on the next business day, so no endAt is accepted.

fromCurrencyAmount
number<double>

Specifies the amount to draw down in the fromCurrency. Exactly one of fromCurrencyAmount or toCurrencyAmount may be provided, matching the hedge's fixed side. Must be at least 10 in the fixed side's currency and not exceed the hedge's remaining amount. A drawdown must either use the full remaining amount or leave at least 10 remaining.

Example:

8040.43

toCurrencyAmount
number<double>

Specifies the amount to draw down in the toCurrency. Exactly one of fromCurrencyAmount or toCurrencyAmount may be provided, matching the hedge's fixed side. Must be at least 10 in the fixed side's currency and not exceed the hedge's remaining amount. A drawdown must either use the full remaining amount or leave at least 10 remaining.

Example:

390

Response

Drawdown Proposal Created

A drawdown proposal returned by the drawdown-quote call.

id
string<uuid>
required

The id of this drawdown proposal, to be passed to the drawdown-accept call.

Pattern: [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}
Example:

"497f6eca-6276-4993-bfeb-53cbbbba6f08"

fromCurrency
string
required

The currency in which the transaction should be paid at by your customer.

Example:

"MXN"

toCurrency
string
required

The currency in which the inventory item is listed at on your platform.

Example:

"USD"

fromCurrencyAmount
number<double>
required

The amount to draw down in the fromCurrency. If toCurrencyAmount is provided, then fromCurrencyAmount calculated as: fromCurrencyAmount = toCurrencyAmount * quote

Example:

8040.43

toCurrencyAmount
number<double>
required

The amount to draw down in the toCurrency. If fromCurrencyAmount is provided, then toCurrencyAmount calculated as: toCurrencyAmount = fromCurrencyAmount / quote

Example:

390

collateralAmountReleased
number<double>
required

The collateral amount released back to the customer as a result of this drawdown, in the fromCurrency.

Example:

402.02

quote
number<double>
required

The rate at which this drawdown settles - the rate locked by the hedge.

Example:

20.6165

endAt
string<YYYY-MM-DD>
required

The date in which this drawdown executes, denoted in YYYY-MM-DD format.

Pattern: \d{4}-\d{2}-\d{2}
Example:

"2023-01-25"

settlementAt
string<YYYY-MM-DD>
required

The date in which this drawdown settles (next business day after endAt), denoted in YYYY-MM-DD format.

Pattern: \d{4}-\d{2}-\d{2}
Example:

"2023-01-26"

validUntilTs
number<double>
required

The unix timestamp until which this drawdown proposal is valid.

Example:

1659625098

beforeHedgeState
object
required

The hedge's state immediately before this drawdown.

afterHedgeState
object
required

The hedge's remaining state immediately after this drawdown.