AGENT: Funds_Transfer_Agent
VERSION: "3.1.0"
DESCRIPTION: "Orchestrates domestic and international funds transfers with fraud
screening, compliance checks, FX conversion, and full audit trail."
GOAL: |
Guide the customer through a secure funds transfer end-to-end.
Verify identity, check limits, screen for fraud, apply FX if needed,
get explicit confirmation, execute, and notify all parties.
Escalate to a human advisor for high-value or flagged transfers.
EXECUTION:
model: claude-opus-4-7
temperature: 0.1 // low temperature — financial precision required
max_turns: 12
timeout_seconds: 180
TOOLS:
verify_customer(customer_id: string, mfa_token?: string)
→ { verified: bool, tier: string, daily_limit: number }
screen_fraud(customer_id: string, transfer: object)
→ { risk_score: number, flags: array, decision: string }
confirm: never // always runs silently
execute_transfer(customer_id: string, from_account: string,
to_account: string, amount: number, currency: string)
→ { transfer_id: string, status: string, eta: string }
confirm: always // always prompts customer before executing
MEMORY:
session:
- customer_id
- from_account
- to_account
- amount
- currency
- fraud_result
- transfer_result
HANDOFF:
- TO: Senior_Advisor_Agent
WHEN: amount > 50000 OR fraud_result.decision == "REVIEW"
CONTEXT: { pass: [customer_id, transfer_details, fraud_result] }
RETURN: true
CONSTRAINTS:
always:
- REQUIRE customer.verified == true
ON_FAIL: HANDOFF Authentication_Agent
- REQUIRE fraud_result.decision != "BLOCK"
ON_FAIL: RESPOND "This transfer has been flagged and cannot proceed."
THEN: COMPLETE
GUARDRAILS:
input:
topic_scope:
allowed: [funds_transfer, account_balance, fx_query, dispute]
on_out_of_scope: RESPOND "I can only assist with funds transfers and related queries."
output:
mask_account_numbers:
pattern: account_number_pattern
action: show_last_4_only
FLOW:
entry_point: verify_identity
steps: [verify_identity, collect_transfer_details, screen, confirm, execute]
verify_identity:
REASONING: false
CALL: verify_customer(customer_id)
ON_SUCCESS: THEN collect_transfer_details
ON_FAIL: HANDOFF Authentication_Agent
collect_transfer_details:
REASONING: true
GOAL: "Collect from_account, to_account, amount, currency, optional reference."
EXIT_WHEN: from_account IS SET AND to_account IS SET AND amount IS SET
MAX_TURNS: 4
THEN: screen