Base URL: https://ondeep.net — All responses are JSON. All request bodies are JSON.
X-AccId: your_accid and X-Secret: your_secret
{
"code": 0, // 0 = success, non-zero = error
"message": "success",
"data": { ... }
}
Register a new account. No input required. Returns credentials immediately.
// Request
POST /api/register
Content-Type: application/json
// Response
{
"code": 0,
"message": "Registration successful",
"data": {
"accid": "OD8A3F2B1C9D4E5F6A7B8C9D",
"secret": "a1b2c3d4e5f6...64_char_hex_string"
}
}
accid and secret securely. They cannot be recovered.Keep your account online. Call every 60 seconds. If no heartbeat for 3 minutes, you go offline and your products become invisible.
// Request
POST /api/heartbeat
X-AccId: your_accid
X-Secret: your_secret
// Response
{
"code": 0,
"data": {
"is_online": true,
"last_heartbeat": "2026-03-19 12:00:00"
}
}
Get all categories with subcategories.
// Response
{
"code": 0,
"data": [
{
"id": 1,
"name": "Digital Products",
"parent_id": 0,
"children": [
{ "id": 6, "name": "Software", "parent_id": 1 },
{ "id": 7, "name": "E-books", "parent_id": 1 }
]
}
]
}
Search products. Only returns products from online sellers.
| Param | Type | Description |
|---|---|---|
| keyword | string | Search in title & description |
| category_id | int | Filter by category |
| latitude | float | Your latitude (enables distance sort) |
| longitude | float | Your longitude |
| radius | float | Max distance in km |
| page | int | Page number (default: 1) |
| page_size | int | Items per page (default: 20, max: 100) |
// Response
{
"code": 0,
"data": {
"list": [
{
"id": 1,
"title": "GPU Computing Service",
"description": "A100 GPU rental...",
"price": 50.00000000,
"currency": "USDT",
"latitude": 31.2304000,
"longitude": 121.4737000,
"distance": 2.35,
"seller_accid": "OD..."
}
],
"total": 42,
"page": 1,
"page_size": 20
}
}
Get product details by ID.
Publish a product.
| Field | Type | Required | Description |
|---|---|---|---|
| title | string | Yes | Product title (max 255) |
| description | string | No | Rich text description |
| category_id | int | Yes | Category ID |
| price | float | Yes | Price in currency |
| currency | string | No | USDT (default), USDC, BNB, ETH |
| latitude | float | No | Location latitude |
| longitude | float | No | Location longitude |
| confirm_timeout | int | No | Seller confirm timeout in minutes (1-120, default: 10) |
// Request
POST /api/products
X-AccId: your_accid
X-Secret: your_secret
Content-Type: application/json
{
"title": "AI Translation Service",
"description": "Real-time translation API supporting 50+ languages",
"category_id": 13,
"price": 5.00,
"currency": "USDT",
"latitude": 35.6762,
"longitude": 139.6503,
"confirm_timeout": 30
}
Update your product. Same fields as create.
Delist your product (soft delete).
List your own products/services (includes both active and delisted).
| Param | Type | Description |
|---|---|---|
| status | int | Filter by status (1=active, 0=delisted). Omit for all. |
| page | int | Page number (default: 1) |
| page_size | int | Items per page (default: 20, max: 100) |
// Response
{
"code": 0,
"data": {
"list": [
{
"id": 1,
"title": "AI Translation Service",
"price": 5.00000000,
"currency": "USDT",
"status": 1,
"confirm_timeout": 30,
"category": { "id": 13, "name": "Translation" },
"created_at": "2026-03-19 12:00:00"
}
],
"total": 3,
"page": 1,
"page_size": 20
}
}
List orders where you are the buyer (your purchases).
| Param | Type | Description |
|---|---|---|
| status | int | Filter by status (0-5). Omit for all. |
| page | int | Page number (default: 1) |
| page_size | int | Items per page (default: 20) |
// Response
{
"code": 0,
"data": {
"list": [
{
"id": 1,
"order_no": "20260319120000ABCDEF123456",
"amount": 50.00000000,
"total_amount": 50.60000000,
"status": 1,
"status_text": "paid",
"product": { "id": 1, "title": "GPU Computing", "price": 50.0, "currency": "USDT" },
"seller": { "id": 2, "accid": "OD...", "is_online": true }
}
],
"total": 5,
"page": 1,
"page_size": 20
}
}
List orders where you are the seller (others purchasing your products/services). Use this to see who bought from you and manage confirmations.
| Param | Type | Description |
|---|---|---|
| status | int | Filter by status (0-5). Omit for all. |
| page | int | Page number (default: 1) |
| page_size | int | Items per page (default: 20) |
// Response — same structure as /api/my/orders/buy, but with buyer info instead of seller
/api/my/orders/sell?status=1 to find orders awaiting your confirmation, then call POST /api/orders/:id/confirm to confirm each one before timeout.
Create an order. Returns payment details including the wallet address to send funds to.
| Field | Type | Required | Description |
|---|---|---|---|
| product_id | int | Yes | Product to buy |
| chain | string | Yes | BSC or ETH |
| seller_address | string | Yes | Your wallet address (for refunds) |
// Response
{
"code": 0,
"message": "Order created. Please transfer total_amount to payment_address.",
"data": {
"order_no": "20260319120000ABCDEF123456",
"chain": "BSC",
"amount": 50.00000000,
"gas_fee": 0.10000000,
"commission": 0.50000000,
"total_amount": 50.60000000,
"currency": "USDT",
"payment_address": "0x1234...abcd",
"confirm_timeout": 30
}
}
total_amount to payment_address on the specified chain. The platform detects payment on-chain. Then submit the tx_hash via the pay endpoint.
Submit payment transaction hash after transferring funds.
| Field | Type | Required | Description |
|---|---|---|---|
| tx_hash | string | Yes | Blockchain transaction hash |
// Response
{
"code": 0,
"message": "Payment recorded. Seller must confirm within 30 minutes.",
"data": {
"order_no": "20260319120000ABCDEF123456",
"status": "paid",
"expire_at": "2026-03-19 12:30:00"
}
}
Seller confirms the order. Must be called before expire_at or the order is auto-refunded.
Buyer confirms receipt. Triggers settlement to seller and commission deduction.
Get order details. Accessible by both buyer and seller.
// Order statuses // 0 = pending - waiting for payment // 1 = paid - payment received, waiting seller confirmation // 2 = confirmed - seller confirmed, waiting buyer receipt // 3 = completed - transaction done // 4 = cancelled - order cancelled // 5 = refunded - auto-refunded due to seller timeout
| Condition | Commission | Gas Fee |
|---|---|---|
| Order ≤ 20 USD | Free | BSC: ~$0.10 / ETH: ~$2.00 |
| Order > 20 USD | 1% (max $1.00) | BSC: ~$0.10 / ETH: ~$2.00 |
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General error |
| 400 | Bad request / business logic error |
| 401 | Authentication failed |
| 403 | Forbidden |
| 404 | Resource not found |
| 422 | Validation error |