The
veilify_* methods and Round fields describe the proposed Veilify interface. No live Veilify RPC deployment is published yet.Params
params[0] is an object:
address
required
The withdrawing account.
address
required
Public recipient.
address
required
0x0 for ETH.string
required
Gross amount, base units, decimal string.
'instant' | 'round'
required
string
Desired net amount. The service computes the gross.
number
Requested round (Unix seconds). Omit to let the service pick the next valid round.
{ id, index, count }
Stagger metadata.
id is a random 32-byte hex value shared by all legs. index is zero-based.Result
hex
required
'instant' | 'round'
required
Must equal the requested mode.
number | null
Chosen round. Required for Round.
string
Present when the service moved the requested round.
object
object | null
maxFeePerGas, maxPriorityFeePerGas, gasLimit. All three are required for Round.number
required
Unix seconds (milliseconds are accepted and normalized).
Client rules
- Round responses without
roundAtor fullgasare rejected as malformed. - Refresh an intent with < 30 seconds left before asking the wallet to sign.
- Build the wallet transaction from the intent:
- ETH:
{ chainId, to, value, gas, maxFeePerGas, maxPriorityFeePerGas } - ERC-20:
{ chainId, to: token, data: transfer(to, amount), gas, maxFeePerGas, maxPriorityFeePerGas }
- ETH:
- For staggered exits, prepare every leg before signing any. If one fails, cancel the others.