Skip to main content

Query Agreement API

HTTP Request

GET /v5/bybitpay/agreement/query

Query single agreement status and details.


Request Parameters

ParameterTypeRequiredDescription
merchant_idstringYesMerchant ID
user_idstringYesPlatform user ID
agreement_typestringYesSign type: CYCLE / NON_CYCLE / SINGLE
agreement_nostringEitherPlatform agreement number
external_agreement_nostringEitherMerchant agreement number
info

Either agreement_no or external_agreement_no must be provided.


Response Parameters

ParameterTypeDescription
retCodeintResponse code
retMsgstringResponse message
resultobjectResponse data
result.agreement_nostringPlatform agreement number
result.external_agreement_nostringMerchant agreement number
result.user_idstringPlatform user ID
result.merchant_user_idstringMerchant-side user ID
result.statusstringAgreement status
result.sign_timestringSign time
result.valid_timestringValidity period
result.single_limitobjectSingle transaction limit
result.period_limitsarrayPeriod limits list
result.used_quotaobjectUsed quota

Request Example

GET /v5/bybitpay/agreement/query?merchant_id=M123456789&user_id=U_123456789&agreement_type=CYCLE&agreement_no=AGR202601070001 HTTP/1.1
Host: api2.bybit.com
X-BAPI-API-KEY: xxxxxxxxxxxxxxxxxx
X-BAPI-TIMESTAMP: 1736233200000
X-BAPI-SIGN: {signature}
X-BAPI-RECV-WINDOW: 5000

Response Example

{
"retCode": 20000,
"retMsg": "Success",
"result": {
"agreement_no": "AGR202601070001",
"external_agreement_no": "MERCHANT_AGR_001",
"user_id": "U_123456789",
"merchant_user_id": "merchant_user_123",
"status": "SIGNED",
"sign_time": "2026-01-07T10:30:00Z",
"valid_time": "2027-01-07T10:30:00Z",
"single_limit": {
"amount": "100000",
"currency": "USDT",
"currency_type": "CRYPTO",
"chain": "TRC20"
},
"period_limits": [
{
"period_type": "DAY",
"amount": "500000",
"currency": "USDT",
"currency_type": "CRYPTO",
"chain": "TRC20"
},
{
"period_type": "MONTH",
"amount": "5000000",
"currency": "USDT",
"currency_type": "CRYPTO",
"chain": "TRC20"
}
],
"used_quota": {
"day_used": "50000",
"month_used": "150000",
"currency": "USDT",
"currency_type": "CRYPTO"
}
}
}

Agreement Status

StatusDescriptionDeduction Allowed
INITWaiting for user scanNo
PENDINGUser scanned, verification in progressNo
SIGNEDAgreement activeYes
SUSPENDEDTemporarily pausedNo
UNSIGNEDTerminatedNo
EXPIREDExpiredNo
FAILEDSign failedNo
TIMEOUTSign link expiredNo

Notes

  • Use this API to check agreement status before deduction
  • used_quota shows current period usage (resets based on period type)
  • All states support query operation