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
ImportantOrders 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
senderDetailsblock- ✅ Add
senderIdfield - ✅ Add
payinCurrencyfield
- ✅ Add
- ✅ Everything else remains identical
Additional Request Fields
Add these fields to your standard price subscription request:
| Field | Required | Type | Description |
|---|---|---|---|
senderId | Conditional | String | UUID of pre-configured Sender. Get Senders on how to retrieve list of Sender UUID |
payinCurrency | Conditional | String | Pay in currency. Must be a currency that is contained within the instrument being subscribed to. Only Crypto Currencies are supported for third party collection. |
networkId | No | String | Not 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 Code | Display Name | Definition / Use Case |
|---|---|---|
VASA | Virtual Asset Settlement | Third-party settlement of crypto/digital assets. |
INVS | Investment | Retail purchase of crypto/stocks via an exchange. |
NETT | Netting | Settlement of a net position between two parties. |
TREA | Treasury Payment | Internal liquidity or wholesale asset movements. |
Property
| ISO Code | Display Name | Definition / Use Case |
|---|---|---|
PLPR | Property Purchase | Mandatory for final house/land completion. |
PLRE | Property Deposit | Deposit or reservation fee for property. |
RENT | Rent | Payment to a landlord or letting agent. |
UTIL | Utilities | Gas, water, electricity, or telecoms bills. |
Commercial
| ISO Code | Display Name | Definition / Use Case |
|---|---|---|
GDSV | Goods & Services | General retail or service purchase ("Catch-all"). |
SUPP | Supplier Payment | Payment to a regular business supplier. |
SERV | Service Charges | Professional fees or service-related costs. |
SUBS | Subscription | Recurring software, gym, or media fees. |
ADVA | Advance Payment | Payment before delivery (Flagged as High Risk). |
Personal
| ISO Code | Display Name | Definition / Use Case |
|---|---|---|
GIFT | Gift | Personal gift to family or friends. |
CASH | Transfer to own account | Moving money between accounts owned by the same person/entity. |
CHAR | Charity | Donation to a registered charity. |
OTHR | Other / Personal | Standard P2P transfer (use sparingly). |
Financial
| ISO Code | Display Name | Definition / Use Case |
|---|---|---|
SAVE | Savings | Transfer to a savings account or ISA. |
LOAN | Loan Repayment | Paying back a bank loan or debt. |
TAXS | Tax Payment | Payment to HMRC (VAT, Income Tax). |
FEXP | Foreign Exchange | Standard fiat-to-fiat currency exchange. |
Employment
| ISO Code | Display Name | Definition / Use Case |
|---|---|---|
SALA | Salary / Wages | Regular employment income. |
PENS | Pension | Payment into or from a retirement fund. |
Automatic Sender AssociationThe
quoteIdis tied to your subscription, which includes thesenderIdandpayinCurrency. 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
| Aspect | Standard Settlement | Third Party Sender Settlement |
|---|---|---|
| Asset destination | Your Zodia Markets account and delivery to your own named wallet | Your Zodia Markets account and delivery to your own named wallet |
| Asset Collection | From your own names wallet | From the third party verified wallet. |
| Subscription fields | Standard fields only |
|
| Order fields | Standard fields only |
|
| Setup required | None | Sender and wallet configuration |
| Price updates | Identical | networkId |
| Order execution | Identical format | Identical format |
| Settlement time | Standard T+0 or T+1 | Standard T+0 or T+1 |