Whether a payment you were asked to make can actually be paid
singularityagent__inspect_paymentBefore signing a payment somebody else asked you to make, find out whether it can be paid at all. Takes an invoice or payment intent in the shape it arrived — payee, token, claimed ticker, amount, base units, decimals, expiry — and checks each claim against the chain instead of against the rest of the invoice. Works on Solana and on EVM chains, reading each family's own failure modes. Everywhere: a token address that is well-formed with no token at it, a displayed amount and a base-unit amount that disagree, decimals that do not match the token, a ticker naming one token while the address names another, and an expiry already passed. On Solana it also reads the destination token account — whether it exists, holds that mint, is frozen, or belongs to somebody other than the payee named — and whether the mint charges a transfer fee, which makes the payee receive less than you send. On EVM it reads whether the payee is the zero address, the token's own contract (one of the most common ways ERC-20s are permanently lost), or a contract that may be unable to move the token out again. Reach for it whenever a payment demand arrives from anywhere you do not control — an exchange, an API, a marketplace, another agent — and before building or signing anything against it. verdict is unpayable when at least one finding means signing cannot do what the demand says, payable when every stated claim checked out, and unproven when the chain could not be read, which is not the same as cleared. Read findings before verdict. This reads: it builds nothing, signs nothing and sends nothing, and unpayable means the demand is wrong rather than that the counterparty is dishonest — a typo in somebody else's configuration produces exactly this.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | The wallet the demand says will be paid. | |
| memo | No | Text the demand says the payment must carry. | |
| mint | No | Token address — the mint on Solana. Omit for the native asset. Never a ticker. | |
| asset | No | The ticker the demand claims, e.g. USDC. Checked against `mint`, never used instead of it. | |
| chain | No | Chain id or alias, EVM or Solana. Defaults to "solana". | |
| token | No | Alias for `mint`, for EVM chains where the token is a contract rather than a mint. | |
| amount | No | Whole tokens as a decimal string, as the demand displays it. | |
| decimals | No | The decimals the demand assumes. Checked against the mint. | |
| expiresAt | No | When the demand stops being valid, ISO 8601. | |
| reference | No | The Solana Pay reference that would make the payment findable. | |
| tokenAccount | No | The exact destination token account the demand names, where it names one. | |
| amountBaseUnits | No | The same amount in base units, where the demand states both. They must agree. |