Skip to content

Missing multisig escrow support: arbiter_address field not passed to CoinPayPortal API #255

@Aiden181

Description

@Aiden181

Bug Description

The ugig.net escrow integration with CoinPayPortal only supports the Custodial escrow model. CoinPayPortal supports a 2-of-3 Multisig escrow model that requires an arbiter_address field for dispute resolution, but this field is not accepted or passed through in the current codebase.

Impact

Users cannot create multisig escrows with an arbiter for dispute resolution. This limits ugig.net to custodial escrow only, which means there is no neutral third-party (arbiter) that can resolve disputes between depositors and beneficiaries.

Affected Files

  1. src/lib/coinpayportal.tsCreateEscrowOptions interface and createEscrow() function body do not include an arbiter_address field
  2. src/app/api/gigs/[id]/escrow/route.ts — Zod validation schema, request destructuring, createEscrow() call, and database insert all lack arbiter_address support

Expected Behavior

  • The API should accept an optional arbiter_address field (a wallet address for the dispute arbiter)
  • This field should be passed through to the CoinPayPortal /api/escrow endpoint
  • It should be stored in the gig_escrows table alongside the escrow record

Notes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions