deposit(provider, amount) | Depositor | Transfers USDC in, then adds it to total_deposited |
set_rail_terms(provider, rail, terms) | Depositor | Sets currency, minimum rate and payee hash for a rail. Fails while locked > 0 |
set_allowed_takers(provider, takers) | Depositor | Limits who can open orders. Applies to new orders only |
withdraw(provider, amount) | Depositor | Withdraws up to total_deposited − locked |
lock_for_intent(...) | Orchestrator | Locks an amount for an order and records the taker |
unlock_for_intent(intent_hash) | Orchestrator | Returns a lock to the depositor’s free balance |
release(intent_hash, fee, fee_recipient) | Orchestrator | Pays lock.amount − fee to the taker and fee to the fee recipient, then removes the lock |
rail_terms(provider, rail) | Anyone | Reads a depositor’s terms for a rail |