Top up
A top up is an ordinary USDC transfer that carries a message. When the contract accepts the message it credits the sender's prepaid balance with the full amount; when it accepts nothing it returns the whole amount and the USDC contract refunds the sender.
Amount
1.000000 USDC, which is 1000000 base units at six decimals.
Pay the top up
The button signs one USDC ft_transfer_call on 17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a1 for 1.000000 USDC (1000000 base units), addressed to sealed-ai.near with the topup message and attached_deposit of one yoctoNEAR, as NEP-141 requires. When the contract accepts the message it credits the sending account's prepaid balance with that amount in the same receipt; when it accepts nothing it returns the whole amount and the USDC contract refunds the sender, and this page reports that instead of a credit.
- Account
- What you pay
- Confirm
- Send
- Result
Account
Reading the key this browser holds.
Direct transfer
The contract keeps the USDC account in get_config().usdc: 17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a1. The message is the canonical JSON the contract parses in ft_on_transfer: {"action":"topup"}.
{
"contractId": "17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a1",
"method": "ft_transfer_call",
"args": {
"receiver_id": "sealed-ai.near",
"amount": "1000000",
"msg": "{\"action\":\"topup\"}"
},
"attachedDepositYoctoNEAR": "1",
"gas": "100000000000000"
}ft_transfer_call takes exactly 1 yoctoNEAR as an access key proof, and the 100 Tgas in the body is the gas app/lib/bounty.ts sends with the same ft_transfer_call: the contract reads no prepaid-gas minimum of its own.
The storage step before it
Sealed storage: 0.01 NEAR (10000000000000000000000 yoctoNEAR) is deposited to sealed-ai.near for the paying account first, because ft_on_transfer refunds any message from an account holding less than that of Sealed storage credit. It is a refundable storage deposit, not a fee: storage_withdraw returns what the payment does not spend.
Two separate transactions, not one batch and not one signed atomically: the Sealed storage_deposit transaction is signed and broadcast first, and the USDC ft_transfer_call is signed afterwards, one nonce above it, once the deposit has executed. There is no rollback between them — if the payment does not execute, or the contract refunds it, the 0.01 NEAR stays on the Sealed contract as this account's storage credit and storage_withdraw returns it. The credit is read when the message executes, and a transfer whose sender is still short is refunded. A paying account that already holds the floor needs no deposit and the app sends none.
1Click quote
The 1Click path is not configured on this site, so the page cannot show the quote request it would send. Use the direct transfer of USDC on NEAR above instead, or ask the operator to enable paying from another chain. The USDC amount above must also be valid.
Once configured, the page sends this quote request:
{
"dry": true,
"depositType": "ORIGIN_CHAIN",
"swapType": "EXACT_INPUT",
"slippageTolerance": 100,
"originAsset": "<origin asset id>",
"destinationAsset": "<destination asset id>",
"amount": "1000000",
"refundTo": "<the account you are signed in as>",
"refundType": "ORIGIN_CHAIN",
"recipient": "<the account you are signed in as>",
"recipientType": "DESTINATION_CHAIN",
"deadline": "2026-11-13T18:35:00.755Z"
}The payout address is <the account you are signed in as> and not the contract: a 1Click payout arrives as a plain ft_transfer, which the contract does not credit, so naming the contract would leave the USDC there. The request is built in the browser, where the account is known.
The transfer above is sent from this page with the key this browser holds, in two steps: the button opens a confirm block naming the receiver and the amount, and only the confirm sends it. A credit exists only once that transaction executes. This prepaid balance pays for Ask queries. Certify and Sponsor do not spend it: each sends its own USDC transfer from this account's wallet balance on the token. A run fee taken back after the run expired with no certificate, or a bounty refunded after its deadline, is credited to this prepaid balance, and withdraw_balance sends the prepaid balance back to the wallet.