AntseedDeposits buyer balances on Base — the one gas-requiring step in AntSeed’s otherwise gasless buyer flow. Once the deposit lands onchain, the balance appears in all AntSeed tooling automatically.
Base URL
antseed.
Endpoints
Create Top-up
POST /v1/{merchant}/topups — x402-paidQuote Bounds
GET /v1/{merchant}/topups/quote — freeTop-up Status
GET /v1/{merchant}/topups/{id} — freeGateway Health
GET /healthz — freeHow it works
- Send
POST /v1/antseed/topupswith abuyerand no payment. The402 Payment Requiredresponse contains one entry per eligible source inaccepts[]and source bounds intopup.sources[]. Ifamountis omitted, the gateway uses the buyer’s full headroom. - Choose a source and sign an EIP-3009
TransferWithAuthorizationusing its chain id and token domain. If the payer differs frombuyer, derive the authorization nonce from apayer-commitment-v1beneficiary binding. Cross-chain entries includeextra.destinationChainId: 8453. - Retry the same request with the signed payment base64-encoded in the
X-PAYMENTheader. - The gateway settles through Meridian. Payments from sources other than Base enter
bridgingwhile Across delivers to Base. The gateway measures the exact Base credit and calls the merchant contract (deposit(buyer, net)for AntSeed) from its relayer wallet. - The response (and
GET /v1/antseed/topups/{id}) reports the sourcesettlementTx, optional BasefillTx, BasedepositTx, and exact credited amount.
Payment sources
Most sources use USDC. Robinhood uses USDG. Cross-chain payments deliver USDC on Base. Use the token address and EIP-712 domain returned in the payment requirements.Trust assumptions
- Signed payment. The EIP-3009 authorization fixes the token, amount, facilitator, validity window, payer, and nonce. For a third-party top-up, the nonce is a commitment to the merchant, source and destination details, credited recipient, payer, and buyer. A captured payment cannot be redirected to another buyer.
- Facilitator contract. Payments pass through the verified
X402ProxyFacilitatorcontract. - Relayer. The merchant relayer holds the settled funds until it completes the merchant deposit or refunds the payer. Its transactions and the final credited amount are recorded in the top-up status.
- Cross-chain payments. Payments from other chains use Across to deliver funds to Base before merchant fulfillment.
Rules worth knowing
- Payer and buyer may differ. A third-party top-up must include a valid
payer-commitment-v1beneficiary binding. The official@meridian/topup-clientpackage creates it automatically while keeping the flow to one wallet signature. Without a binding, a different buyer is rejected (buyer_mismatch). - Fees. The merchant receives the amount delivered on Base after Meridian and Across fees. Responses show
grossAmountandnetAmountin 6-decimal base units. - Idempotent. Replaying the same
X-PAYMENTreturns the existing top-up. Each EIP-3009 authorization(payer, nonce)is accepted exactly once. - Pending requests. A
503means the payment is still being reconciled. Retry with the sameX-PAYMENTor poll itstopupId. - Ethereum gas protection. Ethereum settlement is not broadcast when its estimated L1 gas cost exceeds the facilitator fee or when the gas-price inputs are unavailable. The gateway returns
503; retry after the suppliedRetry-Afterinterval with the same payment. - Refund path. If the deposit can no longer succeed after settlement (e.g. credit limit lost to a concurrent deposit), the delivered amount is automatically refunded to the payer on Base. If an Across deposit itself expires, Meridian operations recover the source-proxy refund manually in v1.
Recommended integration
AntSeed and other merchant portals should use@meridian/topup-client. Pass the
authenticated merchant buyer address as buyer and the connected browser
wallet as signer:
The gateway temporarily holds funds between settlement and merchant
fulfillment. Merchant contracts remain public and can support other gateways.