When users delegate multiple wallets, priority determines the order in which wallets are evaluated for funding card transactions. When a transaction is initiated, the platform checks wallets sequentially in priority order (1, 2, 3…). The first wallet with sufficient balance and allowance to cover the entire transaction cost is used. Only one wallet funds each transaction - multi-funding is not supported.
Priority is a simple numeric value where lower numbers = higher priority. Priority 1 is checked before Priority 2, which is checked before Priority 3, etc.
Critical: If a wallet has insufficient balance to cover the ENTIRE transaction, it’s skipped entirely. The platform moves to the next priority wallet. Partial funding from multiple wallets is NOT supported.
When a user makes a card purchase, the platform evaluates wallets in priority order to find one that can fund the entire transaction:
1
Check Priority 1 Wallet
Platform checks the highest priority wallet (priority: 1) for sufficient balance and allowance to cover the ENTIRE transaction amount
2
Use or Skip
Sufficient Balance: Transaction is funded entirely from Priority 1 wallet. Process complete.
Insufficient Balance: Priority 1 wallet is skipped entirely (no partial funding). Platform moves to Priority 2.
3
Check Next Priority
If Priority 1 was insufficient, check Priority 2 for sufficient balance. If sufficient, use Priority 2 for the entire transaction. If insufficient, skip to Priority 3.
4
Success or Failure
Process continues through priority list until a wallet with sufficient balance is found (transaction succeeds) or all wallets exhausted (transaction fails).
Key Point: Only ONE wallet is used per transaction. The platform does not combine funds from multiple wallets. Each wallet must have enough balance to cover the full transaction cost.
A wallet is skipped and the next priority wallet is evaluated when:
Insufficient balance: Wallet doesn’t have enough tokens to cover the ENTIRE purchase amount
Insufficient allowance: Remaining delegated amount is less than the full purchase amount
Network unavailable: Blockchain network is experiencing issues
Transaction timeout: Blockchain confirmation takes too long
If ALL wallets have insufficient balance to cover the full transaction cost, the card transaction will be declined. At least one wallet must have sufficient balance for the entire amount. Partial funding from multiple wallets is not supported.
Route transactions through lower-fee networks first. The platform will check wallets in this order and use the first one with sufficient balance for the entire transaction:
Copy
const priorityByGasCost = [ { id: 553, priority: 1 }, // Solana (lowest fees ~$0.00025) - checked first { id: 551, priority: 2 }, // Linea (low fees ~$0.01-$0.10) - used if Solana insufficient { id: 552, priority: 3 } // Ethereum (high fees $5-$50+) - used if both others insufficient];await updatePriority(userToken, priorityByGasCost);
When to use: Cost-conscious users making frequent small purchases. Ensures lowest fee network is used when possible, with higher-fee networks as fallback only when necessary.
When to use: Users want to protect larger holdings while ensuring transactions succeed. Note that if Priority 1 has insufficient balance for a transaction, it will be skipped entirely and Priority 2 used for the full amount.
Symptoms: Transactions failing across all walletsCommon Causes:
All wallets have insufficient balance to cover the ENTIRE transaction amount
All allowances exhausted (need redelegation)
Network issues on all blockchains (rare)
Key Point: Remember that only ONE wallet funds each transaction. If you have 3 wallets with 30,40, and 50,a100 transaction will FAIL even though the combined balance is $120. Each wallet is evaluated individually.Solutions:
Ensure at least ONE wallet has sufficient balance for the full transaction
Top up wallets or redelegate with higher allowances
Verify network status on block explorers
Unexpected Wallet Being Charged
Symptoms: Lower priority wallet charged instead of higher priorityCommon Causes:
Higher priority wallet has insufficient balance/allowance to cover the ENTIRE transaction (was skipped)
Recent priority update not yet reflected
Cached priority data
Expected Behavior: If Priority 1 wallet has insufficient balance for the full transaction amount, it will be skipped and Priority 2 will be used for the entire transaction. This is correct behavior - each wallet must be able to fund the full transaction on its own.Solutions: