Price a Guard
price_guardPrice a Guard — CurrencyGuard's FX protection product for real future payments or receipts. If a tenor like '3 months' is given, call resolve_settlement_date first to get the exact date, then call this tool. THE AMOUNT. Give exactly ONE of foreignAmount and netGuardAmount, never both. Give foreignAmount when the customer has an invoice or bill in the foreign currency and wants to know what it is worth in their own currency: "I have to pay USD 50,000 in March" is foreignAmount 50000, PAY. Give netGuardAmount when the customer names the amount they want in their OWN currency after the fee, and asks what to invoice or how much they can cover: "I need GBP 100,000 from Marco, he pays in euros, what do I quote him?" is netGuardAmount 100000, RECEIVE, guardCurrency GBP, foreignCurrency EUR. With netGuardAmount the server solves for the foreign amount, so the foreignAmount in the response IS THE ANSWER: the amount to invoice (RECEIVE) or the amount covered (PAY). Read it out as the answer to the question. Returns: guardType (Guard-Pay or Guard-Receive), guardRate, guardFee (in the home currency), guardFeePct (a FRACTION: 0.0096 means 0.96%), guardFeePercent (the same figure written as a percentage, e.g. "0.96%" — quote this one), effectiveRate, guardAmount (the foreign amount converted at the Guard rate, in the home currency, WITHOUT the fee), foreignAmount, spotRate, settlementDate, settlementWindowFrom (the first day the Guard rate can be used; the window runs from there to settlementDate. It opens 14 business days before settlementDate on the trading calendar, which is about three weeks in calendar days. Say "14 business days", never "14 days", and read both dates out as given), payLaterCreditFee (the extra for paying the fee at settlement instead of up front. This tool asks for a pay-now quote, so the server returns 0 here. 0 does NOT mean Pay Later is free: say that a small credit fee applies and that it is not in this quote), valid, errors, stale. Also returns netGuardAmount, what the customer ends up with in the home currency once the fee is counted (guardAmount minus guardFee for RECEIVE, guardAmount plus guardFee for PAY), and netGuardAmountNote, that figure in a sentence. Say the sentence. It tells the customer that the fee is paid now, what they get or pay at settlement, and what that nets to. Pilot limit: the Guard amount cannot exceed 1,000,000 in the home currency. Say so before quoting if the amount is clearly above it. The Guard fee is separate money. A payer funds guardAmount plus guardFee; a receiver nets guardAmount minus guardFee. effectiveRate is that all-in figure expressed as a rate. All quotes are indicative: a Guard is bought through the customer's payment provider, and the Guard rate is the rate the provider gives them. Say that when you say "indicative". WHEN NOT TO CALL THIS TOOL. Not for "what can I do", "what are my choices", "is it worth it", or a list of open items. Those get the three things a client can do, with no price for any of them. An amount and a date in such a question do not make it a quote request. Call this tool only when the user asks for a price, a quote, a cost, a fee, or to fix a rate.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"guardCurrency": "<guardCurrency>",
"foreignCurrency": "<foreignCurrency>",
"payReceive": "<payReceive>",
"settlementDate": "<settlementDate>"
},
"name": "price_guard"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| guardRate | No | Fixed Guard rate to price at instead of the current market rate. Leave empty to price at the current rate. | |
| payReceive | Yes | PAY if paying foreign currency, RECEIVE if receiving it | |
| foreignAmount | No | The invoice or bill amount in the foreign currency. Give this OR netGuardAmount, not both. | |
| guardCurrency | Yes | Home/base currency ISO code, e.g. GBP | |
| netGuardAmount | No | The amount the customer wants in the home currency AFTER the Guard fee: what they bank (RECEIVE) or the most they pay, fee included (PAY). The server then works out the foreign amount. Give this OR foreignAmount, not both. | |
| settlementDate | Yes | Settlement date in ISO format YYYY-MM-DD | |
| foreignCurrency | Yes | Foreign currency ISO code, e.g. USD |