SENDER_NOT_AUTHORIZED
This sender is not authorised to spend the paying account’s plan.
| HTTP status | 403 |
| Group | Relay path |
| Retryable | No — sending it again changes nothing |
| Re-sign | NONE — do not ask the user to sign anything |
What happened
The request named an account in account, and that account has not listed this sender on chain as a named wallet (details.reason: NOT_AUTHORIZED_FOR_ACCOUNT, details.account). An explicit account is never replaced by another one. A request without account and without a sponsor key does not get this answer: it bills the sender, and a sender with no plan gets NO_ENTITLEMENT.
What to do
List the sender on that account as a named wallet, or leave account out. To pay for users you do not list, relay through your server with a sponsor key (X-Api-Key, Builder and up): the key decides who pays, whatever account says.
Extra members
This code carries reason, account in the problem document, on top of the common members.
The problem document
Every error is application/problem+json (RFC 9457) with the same shape:
{
"type": "https://docs.co-relayer.com/errors/sender-not-authorized",
"title": "This sender is not authorised to spend the paying account’s plan.",
"status": 403,
"detail": "A sentence about this specific occurrence.",
"instance": "req_01JB…",
"code": "SENDER_NOT_AUTHORIZED",
"retryable": false,
"resign": "NONE",
"hint": "List the sender on that account as a named wallet, or leave `account` out. To pay for users you do not list, relay through your server with a sponsor key (`X-Api-Key`, Builder and up): the key decides who pays, whatever `account` says."
}
See the error model for what each member means and how to handle unknown codes.