Skip to content

Commit ab87f6a

Browse files
authored
feat: updated XvP docs, release notes (#436)
## Summary by Sourcery Revamp documentation and release notes for the X versus Payment (XvP) Settlement module to provide clearer explanations, updated visuals, and a more intuitive layout for its lifecycle operations. Enhancements: - Rename and reformat the XvP Settlement guide to use descriptive titles, new sections, and grid-based benefit cards - Introduce detailed walkthroughs for creating, approving, executing, and cancelling settlements with updated step-by-step interfaces and images - Add a new release notes page summarizing the XvP Settlement feature, benefits, and links to the updated documentation
1 parent 39cd822 commit ab87f6a

File tree

11 files changed

+136
-66
lines changed

11 files changed

+136
-66
lines changed

content/docs/application-kits/asset-tokenization/xvp-settlement.mdx

Lines changed: 109 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,106 +1,149 @@
11
---
2-
title: "Atomic Exchange"
3-
description: Enable atomic asset exchanges between parties with XvP Settlement
2+
title: "Atomic settlements (X versus Payment Settlements)"
3+
description:
4+
Enable atomic settlements between parties with X versus Payment (XvP)
5+
Settlements
46
---
57

68
import { Callout } from "fumadocs-ui/components/callout";
9+
import { Card } from "fumadocs-ui/components/card";
10+
import {
11+
Clock,
12+
LayoutGrid,
13+
Workflow,
14+
ShieldCheck,
15+
FormInput,
16+
MonitorCheck,
17+
CalendarClock,
18+
FileCheck,
19+
} from "lucide-react";
20+
21+
## What is X versus Payment Settlement?
22+
23+
The X versus Payment (XvP) Settlement is a solution enables atomic, trustless
24+
settlements of digital assets between parties. This feature provides a mechanism
25+
for executing delivery-versus-payment (DvP), payment-versus-payment (PvP), or
26+
any asset-versus-asset exchange in a single, indivisible transaction.
27+
28+
![XvP Settlement list](../../../img/xvp-settlement/list.png)
729

8-
## SettleMint XvP Settlement
30+
### Key benefits
931

10-
The XvP (Anything-versus-Payment) Settlement module enables atomic, trustless
11-
exchanges of digital assets between parties. This feature provides a secure
12-
mechanism for executing delivery-versus-payment (DvP), payment-versus-payment
13-
(PvP), or any asset-versus-asset exchange in a single, indivisible transaction.
32+
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 my-8">
33+
<Card
34+
icon={<LayoutGrid />}
35+
title="Multi-party transfers"
36+
>
37+
Enable multiple participants to exchange various assets in a single atomic
38+
transaction.
39+
</Card>
1440

15-
## What is XvP Settlement?
41+
<Card icon={<Clock />} title="Conditional triggering">
42+
Execute settlements automatically when predefined conditions or time
43+
thresholds are met.
44+
</Card>
1645

17-
XvP Settlement is a smart contract-based solution that ensures all parties in a
18-
transaction either receive their expected assets simultaneously or the
19-
transaction does not execute at all. This eliminates counterparty risk and
20-
settlement failures common in traditional exchanges.
46+
<Card icon={<MonitorCheck />} title="Settlement monitoring">
47+
Track approvals, execution status, and transaction progress in real-time.
48+
</Card>
2149

22-
### Key benefits
50+
<Card icon={<FileCheck />} title="Compliance integration">
51+
Enforce regulatory compliance across settlements through the upcoming SMART
52+
protocol.
53+
</Card>
54+
55+
<Card icon={<CalendarClock />} title="Programmable settlement">
56+
Configure expiration dates and custom parameters to control settlement
57+
behavior.
58+
</Card>
59+
60+
<Card icon={<Workflow />} title="Post-settlement actions">
61+
Configure automated notifications, emails, or workflows triggered upon
62+
settlement execution.
63+
</Card>
64+
65+
</div>
66+
67+
## Creating an X versus Payment Settlement
2368

24-
- **Atomic execution**: All transfers succeed or fail together, eliminating
25-
partial settlement risk
26-
- **Trustless operation**: No need for intermediaries or escrow services
27-
- **Programmable settlement**: Configure expiration dates and auto-execution
28-
parameters
29-
- **Multi-party capability**: Support for complex settlement flows involving
30-
multiple assets and participants
69+
To create a new X versus Payment Settlement, navigate to the XvP Settlement
70+
section and click "Create new XvP Settlement." The creation interface allows you
71+
to configure:
3172

32-
## Creating an XvP Settlement
73+
1. **Settlement flows**: Configure two or more flows, where each flow specifies:
3374

34-
To create a new XvP Settlement, navigate to the XvP Settlement section and click
35-
"Create New Settlement." The creation interface allows you to configure:
75+
- **From**: The sending party's wallet address
76+
- **To**: The receiving party's wallet address
77+
- **Asset**: The digital asset to be transferred
78+
- **Amount**: The quantity of the asset to be transferred
3679

37-
1. **Settlement party**: The counterparty wallet address for the exchange
38-
2. **Assets**: Select the assets and amounts you wish to exchange
39-
3. **Expiry date**: The date after which the settlement cannot be executed
40-
4. **Auto-execute**: Toggle to automatically execute the settlement upon final
80+
![XvP Settlement flows](../../../img/xvp-settlement/flows.png)
81+
82+
2. **Expiry date**: The date after until which the settlement can be executed
83+
84+
3. **Auto-execute**: Whether to automatically execute the settlement on final
4185
approval
4286

43-
<Callout type="info">
44-
While the underlying smart contract supports complex multi-party flows, the
45-
current UI implements a simplified version allowing for exchanges between two
46-
parties.
47-
</Callout>
87+
![XvP Settlement configuration](../../../img/xvp-settlement/configuration.png)
88+
89+
Lastly, review the settlement details and submit the transaction to deploy a new
90+
XvP Settlement contract.
91+
92+
![XvP Settlement summary](../../../img/xvp-settlement/summary.png)
93+
94+
Compliance conditions for digital assets can be configured through the SMART
95+
protocol (coming soon) directly on the assets themselves.
4896

4997
Once configured, submit the transaction to deploy a new XvP Settlement contract.
50-
The newly created settlement will appear in your settlement list for monitoring.
98+
The newly created contract will appear in your settlement list for monitoring.
5199

52-
## Approving an XvP Settlement
100+
## Approving an X versus Payment Settlement
53101

54-
When you're involved in an XvP Settlement (either as initiator or counterparty),
55-
you'll need to approve it before execution. The approval process includes:
102+
When you're involved in an X versus Payment Settlement as a sender, you'll need
103+
to approve it before it can be executed. The approval process includes:
56104

57-
1. **Review settlement details**: Verify the assets, amounts, and expiry date
58-
2. **Grant asset allowances**: Approve the settlement contract to transfer your
59-
assets
60-
3. **Submit approval**: Confirm your participation in the settlement
105+
1. Granting the settlement contract an allowance to transfer the specified
106+
assets from your wallet
107+
2. Then, sending your approval to the settlement contract itself
61108

62-
When you approve a settlement, two transactions occur:
109+
Once all involved parties have sent their approval, the settlement is ready to
110+
be executed.
63111

64-
- First, you grant the XvP contract allowance to transfer the specified assets
65-
from your wallet
66-
- Second, you mark your approval on the settlement contract itself
112+
![XvP Settlement approve](../../../img/xvp-settlement/approve.png)
67113

68-
Once all involved parties have approved the settlement, it becomes eligible for
69-
execution.
114+
You can set up workflows for execution at a certain time or on other events.
70115

71-
## Executing an XvP Settlement
116+
## Execution phase of an X versus Payment Settlement
72117

73-
The execution phase is where the XvP Settlement demonstrates its value. During
74-
execution:
118+
The execution phase is where the X versus Payment Settlement demonstrates its
119+
value. During execution:
75120

76-
1. The contract verifies all required approvals are in place
121+
1. The settlement contract verifies all required approvals are in place
77122
2. It checks that the settlement hasn't expired or been cancelled
78123
3. It atomically transfers all assets between parties in a single transaction
79124

80-
If auto-execution is enabled during creation, the settlement will automatically
81-
execute when the final party approves it. In this case, the last approver pays
82-
the gas fees for the execution transaction.
125+
If auto-execution is enabled during creation, the settlement contract will
126+
automatically execute when the final party approves it. In this case, the last
127+
approver pays the gas fees for the execution transaction.
83128

84-
<Callout type="warning">
85-
If auto-execution is disabled, the settlement requires manual execution after
86-
approvals. Any wallet can execute by paying the gas fees.
87-
</Callout>
129+
![XvP Settlement execute](../../../img/xvp-settlement/execute.png)
88130

89-
## Cancelling an XvP Settlement
131+
## Cancelling an X versus Payment Settlement
90132

91-
Any involved party can cancel an XvP Settlement before it has been executed.
92-
This provides a safety mechanism if:
133+
Any involved party can cancel an X versus Payment Settlement before it has been
134+
executed. This provides a safety mechanism if:
93135

94136
- Settlement parameters were incorrectly configured
95-
- Market conditions change before settlement execution
96-
- One party needs to withdraw from the agreement
97-
- The settlement is no longer needed
137+
- Market conditions changed before execution
138+
- A party needs to withdraw from the agreement
98139

99140
Once a settlement is cancelled, it cannot be reactivated or executed.
100141

142+
![XvP Settlement cancel](../../../img/xvp-settlement/cancel.png)
143+
101144
## Settlement states
102145

103-
An XvP Settlement can exist in one of several states:
146+
An X versus Payment Settlement can exist in one of the following states:
104147

105148
- **Pending**: Created but not yet fully approved by all parties
106149
- **Ready**: Fully approved and ready for execution
@@ -113,8 +156,8 @@ its current status.
113156

114157
## Technical implementation
115158

116-
The XvP Settlement is powered by a secure smart contract that follows best
117-
practices for atomic exchanges. The contract:
159+
The X versus Payment Settlement is powered by a secure smart contract that
160+
follows best practices for atomic exchanges. The contract:
118161

119162
- Utilizes OpenZeppelin's security libraries
120163
- Implements reentrancy protection
726 KB
Loading

content/img/xvp-settlement/cancel.png

749 KB
Loading
701 KB
Loading

content/img/xvp-settlement/create.png

902 KB
Loading

content/img/xvp-settlement/detail.png

901 KB
Loading
1.56 MB
Loading

content/img/xvp-settlement/flows.png

854 KB
Loading

content/img/xvp-settlement/list.png

523 KB
Loading
910 KB
Loading

0 commit comments

Comments
 (0)