Raxol.Payments.Actions.Payments.ExecuteDepositRoute (Raxol Payments v0.2.0)

Copy Markdown View Source

Fetch and verify a Tron-origin cross-chain deposit-route quote.

A non-EVM (Tron) origin has no gasless pull, so the quote returns a bare deposit_address the payer funds directly. This action fetches the quote and verifies its deposit_attestation recovers to the pinned signer BEFORE returning the deposit instructions, failing closed otherwise -- so the agent never sends TRC-20 funds to an address a compromised quote endpoint could have swapped.

raxol does not send the funds (it has no Tron transaction stack): the agent's own Tron wallet funds deposit_address before deposit_deadline, then polls settlement with payment_poll_xochi_status (pending -> completed | refunded, with the refund reason surfaced on rejection).

Context

  • :xochi_config -- %{base_url:, auth} for the quote endpoint.
  • :deposit_attestation_signer -- optional operator pin for the expected signer; otherwise config :raxol_payments, :xochi_deposit_attestation_signer, otherwise the live capability matrix's deposit_attestation_signer.

Errors are machine-readable: :attestation_mismatch, :missing_attestation, :deposit_signer_unavailable, :not_a_deposit_route, {:not_solvable, reason}, or a request-validation tuple (e.g. {:invalid_wallet, _}).

Summary

Functions

Validate input, run the action, validate output.

Generate an LLM tool definition for this action.

Functions

call(params, context \\ %{})

Validate input, run the action, validate output.

Returns {:ok, result}, {:ok, result, commands}, or {:error, reason}.

to_tool_definition()

Generate an LLM tool definition for this action.