DS Token Testnet Faucet
The faucet distributes testnet DS tokens to supported wallets on Ethereum Sepolia. It is completely open access, but it is not a minting contract.
What you get
Each faucet request delivers a predefined amount of testnet DS tokens to your wallet. These tokens are the same DS tokens used by VaultRegistrar, so they can be used immediately for integration testing.
How it works
- Navigate to the Sandbox Faucet page
- Use Ethereum Sepolia
- Connect your wallet or enter a recipient address
- Submit the request
- Receive a transaction confirmation with a block explorer link
Key points
- No sign-up required — Connect your wallet and request tokens immediately
- Per-wallet cooldown — Each wallet can request tokens once per 24-hour period on Sepolia
- Auto-registration — If your wallet is not yet registered as an investor in the DS Protocol, the faucet auto-registers it during the first request
- Allowance model — The faucet uses
transferFromagainst a funded provider wallet; it does not mint DS - Sepolia-only — The current sandbox deployment supports Ethereum Sepolia only
Faucet contract interface
Source: bc-securitize-faucet-sc · ABI mirror: src/config/faucet-abi.ts
Views
function dripAmount() external view returns (uint256);
function cooldownPeriod() external view returns (uint256);
function totalDrips() external view returns (uint256);
function getAvailableAllowance() external view returns (uint256);
function getRemainingCooldown(address recipient) external view returns (uint256);
function token() external view returns (address);
function providerWallet() external view returns (address);
function lastClaimTime(address recipient) external view returns (uint256);
State-changing
function requestTokens(address recipient) external;
Events
event TokensRequested(address indexed recipient, uint256 amount);
event WalletAutoRegistered(address indexed wallet, string investorId);
Custom errors
error CooldownNotElapsed(address recipient, uint256 nextClaimTime);
error InsufficientAllowance(uint256 available, uint256 required);
error InvalidAddress();
error DripAmountMustBePositive();
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);
Next steps
- Open the Faucet — Request DS Tokens now
- Step-by-step guide — Detailed walkthrough of the request flow
- Cooldown and limits — Rate limiting details
- Supported networks — Sepolia network information
- Repositories — All repos involved in the sandbox