Partner API

Confirm a withdrawal address with your administrator’s code

Moves the address to pending_onlink_approval — not to active. OnLink approves every withdrawal address as well, so a correct code alone does not make an address usable.

post/v1/wallets/{id}/confirm

Request

  • Base URL
    https://sandbox.onlink.africa
  • Auth
    API key in header X-OnLink-Key

Path parameters

idstring required

Request body

otpstring required

The 6-digit code emailed to your registered administrator. Numeric only.

Example request

{
  "otp": "123456"
}

Response

Confirmed; awaiting OnLink review

walletIdstring uuid required

The registration id. Use it for POST /v1/wallets/{id}/confirm and DELETE /v1/wallets/{id}.

chain'tron' required

Network. Tron only at launch.

asset'USDT' required

Asset. USDT only at launch.

addressstring required

The withdrawal address, in full — exactly as stored, checksum already verified. Compare the entire string when you reconcile: a truncated rendering makes a lookalike address indistinguishable from the real one, and USDT sent to the wrong address is an irrecoverable burn.

labelstring nullable required

Your own label, echoed back. Never used for routing. null if you sent none.

status'pending_partner_approval' | 'pending_onlink_approval' | 'active' | 'revoked' required

Where the address sits in the two-party approval. active is the only deliverable value — a correct administrator code moves it to pending_onlink_approval, and OnLink’s own review is what makes it usable. revoked is terminal.

screeningStatus'pending' | 'clear' | 'flagged' required

Address-screening outcome. Never defaults to a clear verdict: a newly registered address reads pending until a screen has actually run.

createdAtstring date-time required

When the address was registered, ISO 8601 UTC.

nextStepstring required

Plain-language next action. On success this says the address is awaiting OnLink review and is not yet usable — a correct code alone never makes an address deliverable.

Example response

{
  "walletId": "b8e4d1c7-2f39-4a05-8d6b-1c2e3f4a5b60",
  "chain": "tron",
  "asset": "USDT",
  "address": "T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb",
  "label": "Settlement wallet — Tron",
  "status": "pending_partner_approval",
  "screeningStatus": "pending",
  "createdAt": "2026-08-31T09:30:00.000Z",
  "nextStep": "Approved by your administrator. The address is now awaiting OnLink review and is NOT yet usable for delivery."
}

Changes

No recorded changes to this operation across all 1 revision of this API.