Skip to main content
ArcPass relies on two Solidity contracts deployed on Arc testnet (chain ID 5042002) to handle the treasury and the permanent record of every sponsorship. These contracts are the source of truth for sponsorship activity — every transfer and every record can be verified on-chain, independently of the ArcPass API.
The deployed contract addresses for SponsorVault and SponsorshipRegistry are shown on the ArcPass web interface home page.

SponsorVault

SponsorVault holds the native token treasury and is the only contract that can execute sponsorship transfers. When ArcPass processes an approved request, its relay worker calls sponsorTransfer on this contract to send tokens to your wallet.

Key function: sponsorTransfer

This function transfers amount native tokens to recipient. Before executing the transfer, the contract verifies:
  • The recipient has not been sponsored before (sponsorshipCount == 0 on the registry)
  • The requested amount does not exceed the per-transaction limit
  • The vault holds sufficient balance
If any check fails, the transaction reverts. A successful call records the sponsorship in SponsorshipRegistry before transferring funds, ensuring the on-chain ledger is always consistent.

SponsorshipRegistry

SponsorshipRegistry is an immutable on-chain ledger of all sponsorships. Only SponsorVault can write to it. You can read from it freely to verify whether any wallet has been sponsored.

Key functions

For ArcPass’s one-sponsorship-per-wallet model, a sponsorshipCount of 1 and isSponsored returning true both indicate the wallet has received its sponsorship.

The SponsorshipGranted event

Every time a sponsorship is recorded, the registry emits:
You can use this event to find the exact block and amount associated with any sponsorship by filtering on the recipient address.

Verifying your sponsorship on-chain

You can check whether your wallet has been sponsored at any time by calling the read-only isSponsored function. No transaction or gas is required — this is a free view call.
Replace REGISTRY_ADDRESS with the address shown on the ArcPass home page and 0xYourWalletAddress with the wallet you want to check.

Contract summary

SponsorVault

Holds the native token treasury and executes sponsorship transfers. The relay worker is the only authorized caller of sponsorTransfer. Verifies eligibility on-chain before every transfer.

SponsorshipRegistry

Permanent, immutable ledger of all sponsorships. Exposes isSponsored() and sponsorshipCount() for public verification. Emits SponsorshipGranted on every recorded sponsorship.