XvP execution models
Clarify what DALP executes for local XvP settlement, what it records for external-flow settlement, and which off-chain checks remain outside the settlement contract.
XvP settlement executes DALP-compatible local flows and records the data needed to coordinate an external flow. It does not price the exchange, charge settlement fees, prove that an external rail settled, or turn an off-chain leg into DALP-controlled execution.
This page is an explanation for operators and integrators who need to decide which checks belong in DALP and which checks belong in the external settlement process before they create a settlement.
Execution summary
| Question | DALP-owned behavior | Operator-owned behavior |
|---|---|---|
| Does DALP execute every transfer? | Yes, when every flow is type: "local" and uses DALP-compatible token contracts on the same chain. | Confirm each local sender, token, balance, approval, and cutoff date before execution. |
| Does DALP execute an external flow? | No. DALP stores an external-flow reference and uses a hashlock or secret to coordinate the local leg. | Run the external rail, chain, custodian, ledger, or counterparty process that honours the same hashlock and timing. |
| Does DALP calculate the commercial price or quote? | No. The create schema accepts flow amounts. It does not calculate an off-chain quote. | Calculate, approve, and evidence the commercial terms before creating the settlement. |
| Does DALP apply settlement fees inside the XvP create action? | No fee field exists in the XvP create request. | Model fees as separate asset, ledger, or commercial controls when the settlement design requires them. |
| Does DALP prove the external leg completed? | No. The local settlement can reveal or use the secret path, but external completion evidence stays outside DALP unless another integration records it. | Keep external settlement evidence, confirmations, and reconciliation records with the external process. |
Local settlement model
A local settlement is the narrowest execution model. The create request contains only local flows, so DALP encodes those flows into the settlement factory call. Each flow names an asset, sender, recipient, and amount. When the settlement executes, the local flows complete together or the transaction reverts.
Use local settlement when the exchange can be represented entirely by DALP-compatible token transfers on one chain. This is the right model for same-chain delivery-versus-payment and payment-versus-payment flows where both legs use supported token contracts and the required senders can approve their own flows.
Local settlement still depends on operator checks before execution. DALP cannot make a sender solvent, grant missing permissions, or decide whether the agreed economic terms are fair. It enforces the configured local transfer instructions.
External-flow model
An external-flow settlement has at least one local flow and at least one type: "external" flow. DALP requires either a raw secret or a 32-byte hashlock for that mixed-flow design. The external flow records the referenced asset address, sender, recipient, amount, external chain ID, and external asset decimals.
That record is coordination data. It is not an external-chain transfer. DALP can lock and execute the local leg according to the hashlock path, but the external rail must have its own process for locking, releasing, reversing, or evidencing the external leg.
Treat the external flow as a pointer to an obligation outside the local settlement contract. The platform can help both sides coordinate around the same hashlock and cutoff window. It does not remove the need for external confirmations, custody evidence, ledger postings, or counterparty procedures.
Quote, fee, and ledger controls
XvP settlement starts from explicit flow amounts. It does not contain a quote engine, spread calculation, fee schedule, or accounting ledger posting inside the settlement create request.
Before you create a settlement, keep these decisions outside the XvP primitive:
- Quote source: who calculated the exchange rate, price, or notional amount.
- Fee treatment: whether fees are separate transfers, off-chain charges, or accounting entries.
- Ledger booking: where the commercial obligation, fee, and settlement evidence are recorded.
- Reconciliation: which system compares DALP local execution with the external leg and commercial ledger.
If those controls are required for the operating model, implement them as surrounding process or integrations. Do not rely on the XvP settlement record alone as the full accounting evidence for an external exchange.
What to verify before creating a settlement
| Check | Local settlement | External-flow settlement |
|---|---|---|
| Flow composition | Every flow is local. | At least one flow is local and at least one flow is external. |
| Hashlock input | Not required. | Required through either secret or hashlock. |
| Amount source | Confirm each flow amount before creation. | Confirm local amounts and external amounts before creation. |
| External-chain fields | Not used for local flows. | Set externalChainId and externalAssetDecimals for each external flow. |
| Evidence after execution | Use the local transaction and settlement state. | Combine DALP local evidence with external confirmation and reconciliation evidence. |
Next steps
Choose a settlement type
Choose between local XvP settlement and HTLC settlement before you configure flows, approvals, cancellation, or expiry recovery.
Overview
Local settlements execute all asset transfers atomically on a single blockchain. Learn when to use local settlements and how the approval workflow operates.