The Static Address Collection method allows users to transact with Gate merchants using any wallet asset without the need for a Gate account.
Unlike the existing “Address Payment”, where a unique address is generated for each transaction, the Static Address Collection assigns a predefined set of addresses to the merchant.
Users transfer funds to these static addresses, Gate processes the payment, settles the funds into the merchant’s Gate payment account, and relays the payment details to the merchant.
- When the merchant’s bound collection address receives funds, and the collection network and received currency are within the merchant’s revenue scope.
bizType
Value | Description |
---|---|
PAY_FIXED_ADDRESS | It is a notification type for static address collection |
bizStatus
Value | Description |
---|---|
PAY_SUCCESS | Payment successful and funds credited |
PAY_BLOCK | Gate successfully received the payment, but the funds are flagged as risky and will not be credited |
Field Name | Type | Description |
---|---|---|
bizType | string | Type of message notification |
bizId | string | Order ID |
data | string | JSON-encoded dataType |
dataType
Field Name | Type | Description |
---|---|---|
channelId | string | Merchant channel ID, supports only letters, numbers, underscores, and hyphens, with a maximum length of 50 bytes |
currency | string | Order currency |
orderAmount | string | Order amount |
createTime | int | Order creation time |
transactionId | string | Transaction ID |
transactionTime | string | Order filled time |
chain | string | Network name |
address | string | Collection address |
amount | string | Collection amount |
Message Structure Example
{
"bizType": "PAY_FIXED_ADDRESS",
"bizId": "kt40t9i3t34kt0k09t543932111146",
"bizStatus": "PAY_SUCCESS",
"data": "{\"channelId\":\"smart_shop\",\"currency\":\"USDT\",\"amount\":\"5\",\"orderAmount\":\"5\",\"createTime\":1727160132504,\"transactionId\":\"273462465781567488\",\"transactionTime\":1727160132504,\"chain\":\"ETH\",\"address\":\"0xfb8Cdb7da4A1C3fF56Dc7a5d78c8228711E9028F\"}"
}
After receiving an asynchronous callback message, the merchant must respond according to the structure below, and returnCode
is SUCCESS
, otherwise Gate will assume that no success notification was provided. The response example is as follows:
{
"returnCode": "SUCCESS",
"returnMessage": ""
}
JSON (content-type:application/json)
GET
/v1/pay/fixedaddress/chains
Interface Description:
Queries the networks and currencies supported by GatePay for static address collection.
Request Parameters:
None
Response Parameters:
Field Name | Type | Description |
---|---|---|
Chains | []*FixedChainItem | List of supported networks and currencies |
FixedChainItem
Field Name | Type | Description |
---|---|---|
chain | string | Network |
showChainNameEn | string | Network English name |
currencies | string | Currencies supported under this network |
Request Example
curl --location 'https://openplatform.gateapi.io/v1/pay/fixedaddress/chains' \
--header 'Content-Type: application/json' \
--header 'X-GatePay-Timestamp: 1727244774062' \
--header 'X-GatePay-Nonce: 6528576972' \
--header 'X-GatePay-Signature: 6bb0a23cf2f397ab4e602e3dc9d04cad59d265fdfe621bbf978409c6c705f86092c6ac5251c0d349dc93e5fbcf9d6ba2e2beae928d3a01ef72ba9ef8581172e5' \
--header 'X-GatePay-Certificate-ClientId: mZ96D37oKk-HrWJc'
Response Example
{
"status": "SUCCESS",
"code": "000000",
"errorMessage": "",
"data": {
"Chains": [
{
"chain": "ETH",
"showChainNameEn": "ETH/ERC20",
"currencies": [
"USDT",
"DAI",
"ETH",
"MATIC",
"USDC"
]
},
{
"chain": "TRX",
"showChainNameEn": "Tron/TRC20",
"currencies": [
"USDT"
]
}
]
}
}
JSON (content-type:application/json)
POST
/v1/pay/fixedaddress/save
Interface Description:
Generates a static collection address based on the specified currency and network.
Note: If a static collection address already exists forchannelId
+ chain
, the currencies
and callbackUrl
in the request will update the existing bound information.
Request Parameters:
Field Name | Type | Required | Description |
---|---|---|---|
channelId | string | Yes | Merchant channel ID, supports only letters, numbers, underscores, and hyphens, with a maximum length of 50 bytes |
chain | string | Yes | Network name |
currencies | string | Yes | Currencies to be earned at this static address, separated by commas (e.g., USDT,BTC |
callbackUrl | string | Yes | Callback URL for this channel, with a maximum length of 128 bytes |
Response Parameters:
Field Name | Type | Description |
---|---|---|
channelId | string | Merchant channel ID |
chain | string | Network name |
address | string | Collection address |
currencies | []string | List of supported currencies for this network |
callbackUrl | string | Callback URL for collection notifications |
Request Example
curl --location 'https://openplatform.gateapi.io/v1/pay/fixedaddress/save' \
--header 'Content-Type: application/json' \
--header 'X-GatePay-Timestamp: 1727602580817' \
--header 'X-GatePay-Nonce: 9167310285' \
--header 'X-GatePay-Signature: a23f55ded2e938fd7b6cd436837b21ec8fd413f3dbd496cffae3bedac3a41c7bf684ca46a25484f8b1607d90313ff46aff2d5b75765ef1d97f51bc63f8e0c139' \
--header 'X-GatePay-Certificate-ClientId: mZ96D37oKk-HrWJc' \
--data '{
"channelId": "smart_shop",
"chain": "ETH",
"currencies": "DAI,USDT",
"callbackUrl": "https://www.abc.com/callback"
}'
Response Example
{
"status": "SUCCESS",
"code": "000000",
"errorMessage": "",
"data": {
"channelId": "smart_shop",
"chain": "ETH",
"address": "0x2EBa11a702F1d53c6e2F08278819e26E6e4a63ae",
"currencies": [
"DAI",
"USDT"
],
"callbackUrl": "https://www.abc.com/callback"
}
}
JSON (content-type:application/json)
GET
/v1/pay/fixedaddress/list
Interface Description:
Queries the list of generated and valid static collection addresses.
Request Parameters:
Field Name | Type | Required | Description |
---|---|---|---|
page | int | Yes | A non-negative integer starting from 0, indicating the page number |
count | int | Yes | A positive integer representing the number of entries displayed per page, with a maximum of 100 |
Response Parameters:
Field Name | Type | Description |
---|---|---|
total | int | Total amount |
list | []*FixedAddressItem | Fixed collection address list |
FixedAddressItem
Field Name | Type | Description |
---|---|---|
channelId | string | Merchant channel ID |
chain | string | Network |
address | string | Collection address |
currencies | []string | Currencies bound to this address |
callbackUrl | string | Callback URL for collection notifications |
createTime | int | Creation time |
updateTime | int | First update time |
Request Example
curl --location 'https://openplatform.gateapi.io/v1/pay/fixedaddress/list?page=0&count=10' \
--header 'Content-Type: application/json' \
--header 'X-GatePay-Timestamp: 1727244774062' \
--header 'X-GatePay-Nonce: 6528576972' \
--header 'X-GatePay-Signature: 6bb0a23cf2f397ab4e602e3dc9d04cad59d265fdfe621bbf978409c6c705f86092c6ac5251c0d349dc93e5fbcf9d6ba2e2beae928d3a01ef72ba9ef8581172e5' \
--header 'X-GatePay-Certificate-ClientId: mZ96D37oKk-HrWJc'
Response Example
{
"status": "SUCCESS",
"code": "000000",
"errorMessage": "",
"data": {
"total": 2,
"list": [
{
"channelId": "smart_shop1",
"chain": "ETH",
"address": "0xE2b3fA811f04FD5Ac6559007795D6Fc74365126B",
"currencies": [
"USDC"
],
"callbackUrl": "https://www.abc.com/callback",
"createTime": 1727603135221,
"updateTime": 1727603135221
},
{
"channelId": "smart_shop",
"chain": "ETH",
"address": "0x3FdC81C3f549343a3E0706A382035B7B461C0840",
"currencies": [
"DAI",
"USDT"
],
"callbackUrl": "https://www.abc.com/callback",
"createTime": 1727603076963,
"updateTime": 1727603076963
}
]
}
}
JSON (content-type:application/json)
GET
/v1/pay/fixedaddress/detail
Interface Description:
Views the details of an already generated and valid static collection address.
Request Parameters:
Field Name | Type | Required | Description |
---|---|---|---|
channelId | string | Yes | Merchant channel ID |
chain | string | Yes | Network |
Response Parameters:
Field Name | Type | Description |
---|---|---|
channelId | string | The channel ID specified by the merchant when binding the static collection address |
chain | string | Network |
address | string | Collection address |
currencies | []string | Currencies bound to this address |
callbackUrl | string | Callback URL for collection notifications |
createTime | int | Creation time |
updateTime | int | First update time |
Request Example
curl --location 'https://openplatform.gateapi.io/v1/pay/fixedaddress/detail?channelId=smart_shop&chain=ETH' \
--header 'Content-Type: application/json' \
--header 'X-GatePay-Timestamp: 1727603139811' \
--header 'X-GatePay-Nonce: 2839411632' \
--header 'X-GatePay-Signature: ca46d4a5b7a516faf6d8d770eeba814004733b9660c35f472b36f4cfa045df2df905b0cdcf3a8212a4c39085ed3843fa721b3dd10cbb931dd32fbf4363d36a52' \
--header 'X-GatePay-Certificate-ClientId: mZ96D37oKk-HrWJc'
Response Example
{
"status": "SUCCESS",
"code": "000000",
"errorMessage": "",
"data": {
"channelId": "smart_shop",
"chain": "ETH",
"address": "0x5178ff5B10c17282834028E0A79cb18586D44B7C",
"currencies": [
"DAI",
"USDT"
],
"callbackUrl": "https://www.abc.com/callback",
"createTime": 1727602420837,
"updateTime": 1727602430742
}
}
JSON (content-type:application/json)
DELETE
/v1/pay/fixedaddress/delete
Interface Description:
Deletes an already generated and valid static collection address.
Request Parameters:
Field Name | Type | Required | Description |
---|---|---|---|
channelId | string | Yes | Merchant channel ID |
chain | string | Yes | Network |
Response Parameters:
Field Name | Type | Description |
---|---|---|
result | string | ok indicates success; anything else indicates failure |
JSON (content-type:application/json)
GET
/v1/pay/fixedaddress/order/query
Interface Description:
Request Parameters:
Field Name | Type | Required | Description |
---|---|---|---|
channelId | string | Yes | Merchant channel name |
chain | string | Yes | Network name |
startTime | int | Yes | Order creation time start in milliseconds |
endTime | int | Yes | Order creation time end in milliseconds |
page | int | Yes | A non-negative integer starting from 0, indicating the page number |
count | int | Yes | A positive integer representing the number of entries displayed per page, with a maximum of 100 |
address | string | No | Collection address |
fromAddress | string | No | Payer address |
txHash | string | No | Transaction Hash |
Response Parameters:
Field Name | Type | Description |
---|---|---|
total | int | Total amount |
list | []*PaymentDetails | Detail list |
PaymentDetails
Field Name | Type | Description |
---|---|---|
chain | string | Network name |
channelId | string | Merchant channel name |
currency | string | Currency |
address | string | Collection address |
amount | string | Income amount |
status | string | Order status |
txTime | int | Order creation time |
fromAddress | string | Payer address |
txHash | string | Transaction Hash |
transactionId | string | Transaction ID |
Request Example
curl --location --request DELETE 'https://openplatform.gateapi.io/v1/pay/fixedaddress/delete?channelId=smart_shop&chain=ETH' \
--header 'Content-Type: application/json' \
--header 'X-GatePay-Timestamp: 1727603139811' \
--header 'X-GatePay-Nonce: 2839411632' \
--header 'X-GatePay-Signature: ca46d4a5b7a516faf6d8d770eeba814004733b9660c35f472b36f4cfa045df2df905b0cdcf3a8212a4c39085ed3843fa721b3dd10cbb931dd32fbf4363d36a52' \
--header 'X-GatePay-Certificate-ClientId: mZ96D37oKk-HrWJc'
Response Example
{
"status": "SUCCESS",
"code": "000000",
"errorMessage": "",
"data": {
"result": "ok"
}
}
Request Example
curl --location 'https://openplatform.gateapi.io/v1/pay/fixedaddress/order/query?page=0&count=10' \
--header 'Content-Type: application/json' \
--header 'X-GatePay-Timestamp: 1727244774062' \
--header 'X-GatePay-Nonce: 6528576972' \
--header 'X-GatePay-Signature: 6bb0a23cf2f397ab4e602e3dc9d04cad59d265fdfe621bbf978409c6c705f86092c6ac5251c0d349dc93e5fbcf9d6ba2e2beae928d3a01ef72ba9ef8581172e5' \
--header 'X-GatePay-Certificate-ClientId: mZ96D37oKk-HrWJc'
Response Example
{
"status": "SUCCESS",
"code": "000000",
"errorMessage": "",
"data": {
"total": 1,
"details": [
{
"chain": "ETH",
"channelId": "123456",
"currency": "USDT",
"address": "0x67C30f439D7734f393c2F4a587B198b8F4086Ccb",
"amount": "0.62345679",
"status": "PAID",
"txTime": 1730960078091,
"fromAddress": "PAzupoupdSYaYoajDcABEUzigBRzewvzN",
"txHash": "1820949498602496000930038912",
"transactionId": "343656213785650801"
}
]
}
}