Send either transactionHash (you broadcast it yourself) or
signedOperations (you signed what /funding returned). Which one you
use depends on how you hold the money, not on anything we prefer.
We read the chain before recording anything. The transaction must
exist, have succeeded, and have moved the expected token to the deposit
address we issued, in at least the expected amount, from the wallet
registered for this payout. If it did not, nothing is recorded and the
payout stays fundable — so a rejection here is always safe to correct
and retry.
Three outcomes are worth handling separately:
FUNDING_TRANSACTION_INVALID(400) — we read the chain and it does
not fund this payout. Do not retry unchanged; send the right one.FUNDING_NOT_YET_VERIFIABLE(409) — we could not read it yet (not
mined, or we could not reach the chain). Retry the SAME request once
it is mined. If you already paid, your funds are unaffected.FUNDING_TRANSACTION_ALREADY_USED(409) — one transfer funds exactly
one payout. The deposit address is shared between payouts, so this is
reachable by honest mistake; the message names the payout it funded.
In the sandbox there is no chain to read, so the LAST FOUR DIGITS of the
hash choose the outcome — 0001 invalid, 0002 not-yet-verifiable,
anything else accepted — and reuse is refused exactly as in production.
Solana funding is not chain-verified today and is recorded on shape
alone.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
