spark_flashnet_getClawbackEligibleTransfers

Use spark_flashnet_getClawbackEligibleTransfers to check whether the connected Xverse wallet has any Spark transfers that are eligible for Flashnet clawback.

This method is read-only — it does not perform the clawback. It simply returns the transfers that Xverse + Flashnet consider eligible.

You can use spark_flashnet_clawbackFundsto perform the clawback for an eligible transfer.


Request

await request("spark_flashnet_getClawbackEligibleTransfers", {});
  • Takes no parameters.

  • You should call it exactly like this:

const res = await request("spark_flashnet_getClawbackEligibleTransfers", {});

Response

Returns an array of eligible transfers:

{
  eligibleTransfers: Array<{
    txId: string;                // Spark transfer ID (sparkTransferId)
    createdAt: string;           // ISO timestamp of the original transfer
    lpIdentityPublicKey: string; // LP that received the funds
  }>
}

Example with eligible transfers

{
  "eligibleTransfers": [
    {
      "txId": "550e8400-e29b-41d4-a716-446655440000",
      "createdAt": "2025-11-20T10:15:00Z",
      "lpIdentityPublicKey": "03aabbccddeeff00112233445566778899aabbccddeeff00112233445566778899"
    }
  ]
}

If no transfers are eligible:

{
  "eligibleTransfers": []
}

What it does

Xverse performs all eligibility logic before returning results:

  • Transfer was sent from the connected user

  • Transfer was sent to a valid Flashnet LP identity

  • Transfer is not already used (swap, liquidity, etc.)

  • Transfer is younger than Flashnet’s clawback window

  • Transfer is valid on Spark (confirmed)

  • Transfer is not already reserved or part of settlement flow

Only transfers that pass all checks are returned to your app.


Errors

Standard Sats Connect error format:

{
  "code": "FLASHNET_ELIGIBILITY_FAILED",
  "message": "Unable to fetch clawback eligibility.",
  "details": {
    "reason": "JWT_AUTH_FAILED" | "FLASHNET_ERROR" | "NETWORK_ERROR"
  }
}

Last updated