spark_flashnet_clawbackFunds
Use the spark_flashnet_clawbackFunds
method to let users recover funds that were sent to a Flashnet LP wallet but weren’t properly processed.
This is a safety mechanism for reclaiming stuck transfers within a 23-hour window.
The wallet validates eligibility, signs the request, and submits it to Flashnet.
Example
import { request } from "sats-connect";
try {
const response = await request("spark_flashnet_clawbackFunds", {
senderPublicKey: "02abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234567",
sparkTransferId: "550e8400-e29b-41d4-a716-446655440000",
lpIdentityPublicKey: "03aabbccddeeff00112233445566778899aabbccddeeff00112233445566778899",
nonce: "clawback-nonce-123456"
});
if ("result" in response) {
console.log("Clawback result:", response.result);
} else {
console.error("Clawback failed:", response.error.message);
}
} catch (error) {
console.error("Unexpected error:", error);
}
Parameters
senderPublicKey
(string, required) — Spark public key of the original sender.sparkTransferId
(string, required) — Spark transfer ID of the stuck payment.lpIdentityPublicKey
(string, required) — LP wallet identity public key that received the funds.nonce
(string, required) — Unique identifier to prevent replay attacks.
What it does
When called, the wallet:
Displays a review screen summarizing the clawback request.
On approval, validates eligibility (time window, valid LP wallet, sender ownership).
Signs and submits the clawback to Flashnet.
Returns tracking information for the refund process.
Response
The method returns a Promise resolving to a SparkFlashnetClawbackResult
.
✅ Success
{
"accepted": true,
"requestId": "01HJZKFABCDEFGHJKLMNPQRSTVW",
"internalRequestId": "settlement-internal-123",
"sparkStatusTrackingId": "spark-track-456"
}
❌ Failure
{
"accepted": false,
"error": "Transfer is too old for clawback",
"requestId": "01HJZKFABCDEFGHJKLMNPQRSTVW"
}
Last updated