Skip to content
Discussions/App Development/Is Allocation the recommended path for concurrent payments, or is TransferCommand still preferred? Is sequential-nonce a known/accepted limitation, or is migration expected?Forum ↗

Is Allocation the recommended path for concurrent payments, or is TransferCommand still preferred? Is sequential-nonce a known/accepted limitation, or is migration expected?

App Development1 posts1 viewsLast activity 4h ago
CIPs mentioned:CIP-0056
DA
Daniel_FTPOP
4h ago

Implementing x402 on Canton via Splice.ExternalPartyAmuletRules.TransferCommand (client→facilitator-executed CC transfers). TransferCommand_Send aborts without archiving if nonce > nextNonce, locking the payer’s account until the facilitator settles - blocks concurrent payments from the same party.

Ref: ExternalPartyAmuletRules.daml

CC also supports the Allocation API (CIP-0056): client exercises AllocationFactory_Allocate → AmuletAllocation backed by LockedAmulet, settlement.executor = facilitator. Facilitator exercises Allocation_ExecuteTransfer to move funds. No nonce anywhere - concurrency is per-holding + allocateBefore/settleBefore deadlines, not a global counter.

Refs:

- AllocationV1.daml

- AllocationInstructionV1.daml

- AmuletAllocation.daml

- cip-0056.md

Context: github discussion

← Back to Discussions