Skip to main content
POST
Submit a pay-out route ownership proof
Requires scope: manage:pay-outs — see Required scopes. Submits the signed message and resumes the route’s registration. On success the route leaves AWAITING_OWNERSHIP_PROOF and continues to ACTIVE asynchronously.
A 200 means the proof was accepted, not that the route is ready. Poll the route or register a webhook to hear when it reaches ACTIVE — only then does it have a depositAddress.
Send message exactly as prepare returned it. It must match the canonical text for this route, which embeds the route’s own wallet, and the signature must recover that wallet. That’s what makes the stateless design safe, and it has two consequences worth knowing:
  • A proof signed for a different wallet, route or tenant is rejected — it can’t be replayed here.
  • A message with extra text wrapped around the expected content is rejected too, even if the signature is valid.
You don’t have to call prepare first. This endpoint only cares that the message is canonical and the signature matches.
The proof is never stored or logged. It’s verified in memory, forwarded once, and discarded — only the outcome is persisted.

Authorizations

Headers

x-tenant-id
string<uuid>

Which tenant the request is scoped to, among those your token grants. Omit it when the token grants exactly one tenant; it is required when the token grants more than one. A supplied value must exactly match a tenant the token grants.

Absent when required, blank, malformed, or naming a tenant the token does not grant — each gets the same generic 403 forbidden, which reveals neither whether a tenant exists nor which ones you may use. Send the header once: a repeated header is rejected the same way.

Example:

"3fa85f64-5717-4562-b3fc-2c963f66afa6"

Path Parameters

accountId
string<uuid>
required

Unique account identifier

routeId
string<uuid>
required

Unique pay-out route identifier

Body

application/json
message
string
required

The message exactly as prepare returned it

signature
string
required

EIP-191 signature produced by the route's source wallet

Response

The route, with registration resumed

success
boolean

Indicates whether the request was successful

result
object

Customer-facing route view. Provider identity is never exposed.