Add credits to the store owner key from a payment
insumer_buy_merchant_creditsKept for compatibility: a store has no credit balance of its own, so a payment submitted here adds regular credits to the API key that owns the store, at a flat rate (the regular credit purchase, with volume tiers, is the usual way to top…
Instructions
Kept for compatibility: a store has no credit balance of its own, so a payment submitted here adds regular credits to the API key that owns the store, at a flat rate (the regular credit purchase, with volume tiers, is the usual way to top up). Submits a USDC payment the caller has already sent. This tool does not move funds: it submits the transaction hash. Paid in USDC only, on Ethereum, Optimism, BNB Chain, Polygon, Base, Arbitrum, Avalanche or Solana. Receiving addresses: 0xee432065474D2C852700f74e3fD81e2Bcc16a3D4 on Ethereum, Optimism, Polygon, Base, Arbitrum or Avalanche; 0xAd982CB19aCCa2923Df8F687C0614a7700255a23 on BNB Chain (USDC sent to it on the other EVM chains is also accepted during the changeover); 8fyEGM5tRjMocKQWaVXyM2XvvnTxR3sWdrYtug2zeLX4 on Solana (USDC sent to 6a1mLjefhvSJX1sEX8PTnionbE9DqoYjU6F6bNkT4Ydr is also accepted during the changeover). USDT, any other token and any other chain are refused and not credited. Non-refundable. Owner only. The first purchase registers the sending wallet to the API key; updateWallet: true replaces it. Registering or replacing the wallet takes senderSignature from the wallet that sent the payment; a payment from the registered wallet needs none. Current prices and volume discounts: https://insumermodel.com/pricing/
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Merchant ID | |
| amount | Yes | USDC amount sent (minimum 5). | |
| txHash | Yes | Transaction hash proving payment | |
| chainId | Yes | Chain where the USDC was sent: Ethereum (1), Optimism (10), BNB Chain (56), Polygon (137), Base (8453), Arbitrum (42161), Avalanche (43114), or 'solana'. Purchases are paid in USDC only. | |
| updateWallet | No | Set true to replace the registered wallet with this transaction's sender. Takes senderSignature from the new wallet. | |
| senderSignature | No | Required when the key has no registered wallet yet, or with updateWallet: true when the payment comes from a different wallet; not needed for a payment from the registered wallet. The wallet that sent the payment signs this exact text, five lines joined by \n with no trailing newline: "api.insumermodel.com", "Confirm the wallet that sent this payment.", "Purpose: credit purchase", "Chain: eip155:<chainId>" (or "Chain: solana"), "Transaction: <transaction hash>" (EVM as 0x plus lowercase hex, Solana as given). When the signature is required, a call without it returns the exact text in a 400 and the payment is not used. EVM: personal_sign (EIP-191), 0x hex; a smart wallet is checked with ERC-1271. Solana: signMessage (ed25519), base58 or base64. A 403 means the signature is not from the wallet that sent the payment; a 503 means a smart-wallet check could not complete and the payment was not used, so retry. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | No | true when the API call succeeded | |
| data | No | The endpoint's payload: a signed attestation, trust profile, discount, merchant or token records | |
| keys | No | JWKS entries (insumer_jwks) | |
| meta | No | Response metadata such as version and timestamp | |
| error | No | Error details when ok is false | |
| items | No | The result when the endpoint returns a JSON array | |
| message | No | A plain-text result (insumer_setup), or a message from the API |