3rd Party Sender Collection Price Channel

Additional price subscription message to request price when collecting crypto funds from a third party.

Request price streams for trades where Zodia Markets will collect crypto funds from a verified third party instead of from your account/wallet directly.

The price channel works identically to standard price streams, but requires two additional fields to specify the Sender.


Prerequisites

Before requesting third-party sender settlement prices:

Sender Setup

Sender must be configured:

  • Complete Sender onboarding and verification either via Customer Portal or your Relationship Manager.

Each Sending wallet address must be:

  • Added to the Sender's wallet list
  • Verified through Zodia Markets compliance process
  • Enabled and active for trading

3. Network Configuration

Ensure the settlement network type is available for your account:

  • ZM_SENDER is the default for crypto settlement
  • Contact your Relationship Manager for additional network options
⚠️

Important

Orders will be rejected if:

  • Sender ID is not found or not approved
  • The Sender does not have a valid Wallet Address for the chosen asset or it is not whitelisted or enabled
  • The 'pay in' currency is not specified

How It Differs from Standard Price Subscriptions

Third Party Sender Price Subscription

{
    "messageType": "subscribe",
    "instrument": "USDC.USD",
    "quantity": "500000",
    "currency": "USD",
    "accountGrpUuid": "a6898bdd-856b-4259-b6e2-6ef66f2282e1",
    "tenor": "T",
    "senderDetails": {
        "senderId": "6fff78ca-e87f-424f-90bf-96b1806a284b",
        "payinCurrency": "USDC"
    },
    "tag": "echo"
}

Key differences:

  • ✅ Add senderDetails block
    • ✅ Add senderId field
    • ✅ Add payinCurrency field
  • ✅ Everything else remains identical

Additional Request Fields

Add these fields to your standard price subscription request:

FieldRequiredTypeDescription
senderIdConditionalStringUUID of pre-configured Sender. Get Senders on how to retrieve list of Sender UUID
payinCurrencyConditionalStringPay in currency. Must be a currency that is contained within the instrument being subscribed to. Only Crypto Currencies are supported for third party collection.
networkIdNoStringNot usually required unless using a specific network. Contact your Relationship Manager for more info.

All other fields remain the same as standard price subscriptions →.


Responses

Subscription success response messages remain identical to standard price streams except for the addition of the networkId, which will provide the network the collection will be taken from. For crypto collections, this will be ZM_SENDER by default.

Price updates do not include sender or network information. Use the quoteId to execute orders which will reference your subscription's sender configuration.

{
  "chanId": "",
  "timestamp": 1773243625433,
  "messageType": "subscribe",
  "success": true,
  "message": "Subscribed",
  "subscriptionId": "878164a8-e795-4cfc-852b-c8dc3da5ca58",
  "tag": "e4795b61-55e2-4474-a1eb-53c85227b778",
  "instrument": "USDC.USD",
  "quantity": "500000.00000000",
  "code": "",
  "tenor": "T",
  "settleDate": "",
  "networkId": "ZM_SENDER"
}

Executing Orders with Third Party Sender Settlement

When you execute an order on a third-party sender price stream, the asset will be expected to be received by Zodia Markets from the specified sender's wallet. The message format remains the same as a normal trade request with the exception of providing an additional field paymentReason.

{
  "accountGrpUuid": "2073252c-81ed-41be-bf4d-d51b8f2246b8",
  "clientRequestId": "5afc86ae-53cd-4f31-bbf4-8e598c7f6805",
  "messageType": "order",
  "quoteId": "Pu5EgH+siTnz9ch...",
  "side": "SELL",
  "paymentReason": "VASA"
}

Payment Reason Codes

The paymentReason field must be set to one of the following ISO codes:

Crypto & Assets

ISO CodeDisplay NameDefinition / Use Case
VASAVirtual Asset SettlementThird-party settlement of crypto/digital assets.
INVSInvestmentRetail purchase of crypto/stocks via an exchange.
NETTNettingSettlement of a net position between two parties.
TREATreasury PaymentInternal liquidity or wholesale asset movements.

Property

ISO CodeDisplay NameDefinition / Use Case
PLPRProperty PurchaseMandatory for final house/land completion.
PLREProperty DepositDeposit or reservation fee for property.
RENTRentPayment to a landlord or letting agent.
UTILUtilitiesGas, water, electricity, or telecoms bills.

Commercial

ISO CodeDisplay NameDefinition / Use Case
GDSVGoods & ServicesGeneral retail or service purchase ("Catch-all").
SUPPSupplier PaymentPayment to a regular business supplier.
SERVService ChargesProfessional fees or service-related costs.
SUBSSubscriptionRecurring software, gym, or media fees.
ADVAAdvance PaymentPayment before delivery (Flagged as High Risk).

Personal

ISO CodeDisplay NameDefinition / Use Case
GIFTGiftPersonal gift to family or friends.
CASHTransfer to own accountMoving money between accounts owned by the same person/entity.
CHARCharityDonation to a registered charity.
OTHROther / PersonalStandard P2P transfer (use sparingly).

Financial

ISO CodeDisplay NameDefinition / Use Case
SAVESavingsTransfer to a savings account or ISA.
LOANLoan RepaymentPaying back a bank loan or debt.
TAXSTax PaymentPayment to HMRC (VAT, Income Tax).
FEXPForeign ExchangeStandard fiat-to-fiat currency exchange.

Employment

ISO CodeDisplay NameDefinition / Use Case
SALASalary / WagesRegular employment income.
PENSPensionPayment into or from a retirement fund.
📘

Automatic Sender Association

The quoteId is tied to your subscription, which includes the senderId and payinCurrency. You don't need to specify sender details in the order request.



Error Handling

Sender Not Found

Causes:

  • Invalid sender UUID
  • Sender not configured for your account
  • Sender not yet approved

Sender Wallet Not Found

Causes:

  • No wallet address configured for this Sender
  • Wallet not whitelisted for the requested asset
  • No wallet address configured for this asset
  • Wallet disabled or pending approval

Invalid Network ID

Cause: Network ID not available for your account

Solution: Contact your Relationship Manager to enable additional network types


Comparison: Standard vs Third Party Settlement

AspectStandard SettlementThird Party Sender Settlement
Asset destinationYour Zodia Markets account and delivery to your own named walletYour Zodia Markets account and delivery to your own named wallet
Asset CollectionFrom your own names walletFrom the third party verified wallet.
Subscription fieldsStandard fields only
  • senderId + payinCurrency
Order fieldsStandard fields only
  • paymentReason
Setup requiredNoneSender and wallet configuration
Price updatesIdenticalnetworkId
Order executionIdentical formatIdentical format
Settlement timeStandard T+0 or T+1Standard T+0 or T+1