generate_proof_of_funds
Generate a Proof of Funds letter (PDF) for the authenticated user. Requires completed identity verification and at least one verified wallet. Returns a download link valid for 30 days. The response renders an inline widget with a thumbnail preview and download/share controls; you do not need to repeat the download URL in your text response — the widget handles presentation. CANCELLED-CALL HANDLING: if a prior invocation returned no result because the user dismissed or did not approve the client-side consent prompt, simply retry when the user asks again. Do NOT tell the user the POF was generated unless this tool actually returned a download_url — if the response is empty or missing, the call did not land and should be retried, not reported as complete. CEILING: the requested amount must be ≤ pof_ceiling_usd from get_wallet_summary; never use total_verified_usd or the sum of wallets[].total_usd as a ceiling — total_verified_usd is pre-haircut (before a volatility/pricing buffer) and the generator will reject amounts above the true ceiling. If unsure of the current ceiling, call get_wallet_summary first.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Requested Proof of Funds amount | |
| currency | No | Currency for the letter (default: USD) | USD |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | ||
| status | Yes | ready when the letter generated successfully | |
| currency | Yes | ||
| file_name | No | ||
| valid_until | No | ISO date — letter expires after 30 days | |
| download_url | Yes | PDF download URL — handed to the widget; the model should not echo it | |
| thumbnail_url | Yes | Top-of-letter PDF preview image URL — used by the widget |