BAGHOLDER
  • Home
  • Privacy
  • How BAGHOLDER Works
  • Support

Terms of Service

Version 1.6 — Last updated: June 5, 2026

These Terms of Service ("Terms") govern your use of the BAGHOLDER mobile application ("App"). By using the App, you agree to these Terms. If you do not agree, do not use the App.


Description of Service

BAGHOLDER is a non-custodial software tool that helps you buy cryptocurrency by orchestrating swaps that execute against decentralized exchange (DEX) automated market maker (AMM) smart contracts. BAGHOLDER is a developer and supplier of software. BAGHOLDER is not an exchange, broker, dealer, investment advisor, money transmitter, custodian, fiduciary, or counterparty of any kind. BAGHOLDER does not operate a digital asset trading platform, does not maintain an order book, does not match buyers with sellers, and does not act as a market maker in any digital asset.

When you initiate a buy, BAGHOLDER's software constructs a swap transaction that your wallet then signs and broadcasts to the blockchain. The swap executes against a DEX liquidity pool — a smart contract holding deposits from many independent liquidity providers. The counterparty to your swap is the pool itself, not BAGHOLDER and not another individual user. BAGHOLDER does not hold, route, take possession of, or otherwise touch the digital assets involved in the swap at any point.


Non-Custodial Nature

You maintain sole control of your funds through your own non-custodial embedded wallet. BAGHOLDER never has access to your private keys, seed phrase, or any signing material. Your private keys are secured using advanced cryptographic techniques provided by our wallet provider (Privy). You are solely responsible for securing your device and wallet credentials.

BAGHOLDER's server does not have signing authority over your wallet and cannot move your funds. All swap transactions, fee sweeps, and other on-chain actions are signed and submitted by your wallet. Our server's role is limited to: (a) orchestrating Coinbase Onramp payment sessions; (b) proxying remote procedure call (RPC) traffic between your wallet and supported blockchain networks; (c) caching public market data; (d) maintaining the published token registry against neutral objective criteria (see our How BAGHOLDER Works documentation); and (e) providing a one-time gas seed (approximately $0.05 worth of the chain's native token) so your first swap on each chain can run. All subsequent gas is paid by your USDC via an on-chain swap that converts a small portion of your funds into the chain's native gas token.

You acknowledge that BAGHOLDER does not operate, control, or have any authority over the Coinbase Onramp service, the Privy wallet service, or any blockchain network, smart contract, decentralized exchange, liquidity pool, or other on-chain protocol that your transactions interact with.


Eligibility

You must be at least 18 years old to use BAGHOLDER. By using the App, you confirm that you meet this age requirement.

BAGHOLDER is currently available in 44 U.S. states. The App is not available in New York, Connecticut, Louisiana, Vermont, Minnesota, New Mexico, or the District of Columbia. You may not use the App if you are located in a restricted jurisdiction.

You will be asked to confirm your state of residence during setup.

State-level activity monitoring and reservation of right to block

We monitor our aggregate twelve-month purchase activity by state on a rolling basis. We may add additional states to the not-available list at any time and without prior notice if we determine that activity in a state is approaching a state-specific licensure threshold for which we do not yet have either an attorney-validated exemption analysis or the relevant license.

Two examples currently relevant:

  • California Digital Financial Assets Law (DFAL) — effective July 1, 2026 (Cal. Fin. Code Div. 1.25). Our position is that BAGHOLDER's non-custodial software architecture does not constitute "digital financial asset business activity" as defined at §3102(i), and that, in the alternative, BAGHOLDER's California activity falls within the de minimis safe harbor at §3103(b)(9) while aggregate rolling-twelve-month value remains below $50,000. We commit to add California to the not-available list before that threshold is reached if, by then, our position has not been ratified by outside counsel.
  • Other states — we are auditing per-state thresholds in operating states and will update this section as that audit completes.

If we add your state to the not-available list while you have existing on-chain holdings purchased through BAGHOLDER, those holdings remain in your own non-custodial wallet and are not affected; only your ability to make new purchases through BAGHOLDER is gated.

Onboarding Attestation Safeguards

When you sign up, the App applies the following safeguards at the age and state-of-residence gates:

  • Server-side logging of every rejection. If you attest an age under 18 or a restricted state, an event is recorded on our server with a privacy-preserving payload (age band only — never your date of birth; the state code you attempted; the attempt number). These records are described in the "Onboarding attestation records" section of our Privacy Policy.
  • Soft-block on repeated rejection. Three rejection attempts at either gate within a 24-hour window will temporarily disable further attempts on that device for 24 hours, with a generic "we can't verify your eligibility right now" message.
  • No identity verification. Attestation is a self-declaration. By using BAGHOLDER, you represent and warrant that the age and state-of-residence you attested are true. If you attested falsely, you are in breach of these Terms and we may suspend your wallet.
  • Network IP captured at attestation as a signal, not a proof. At the moment of state attestation we record the network IP from which the request reached our server, as one cross-reference for the audit trail. We do not claim that the IP demonstrates your actual physical location — many factors (VPNs, mobile carrier NAT, corporate or school networks, IPv6 transition, Tor) make the IP of any request an unreliable geolocation indicator. Your self-attested state is the primary record for compliance purposes; the IP is supplementary.
  • State of residence can be updated in Settings. If you move to a different state, you can update it via Settings → State of Residence. We record a state_changed event with the previous and new state codes so the audit trail preserves the full history of every state you have attested. If your updated state of residence is on the not-available list above, you will be unable to make new purchases through BAGHOLDER; your existing on-chain holdings remain in your own non-custodial wallet and are unaffected.

Sanctions and Eligibility Representations

By using BAGHOLDER you represent and warrant that: (a) you are not listed on the U.S. Department of the Treasury's Office of Foreign Assets Control (OFAC) Specially Designated Nationals and Blocked Persons (SDN) list, the Foreign Sanctions Evaders list, the Sectoral Sanctions Identifications list, the Palestinian Legislative Council list, or any other sanctions list maintained by OFAC or by any other applicable U.S. or non-U.S. government authority; (b) you are not located in, ordinarily resident in, or organized under the laws of any country, territory, or region that is itself the target of comprehensive U.S. sanctions (currently including Cuba, Iran, North Korea, Syria, and the Crimea, Donetsk, Luhansk, Kherson, and Zaporizhzhia regions of Ukraine, and any other jurisdiction subsequently subject to comprehensive U.S. sanctions); (c) you will not use the App on behalf of any person, entity, or jurisdiction described in (a) or (b); (d) you will not use the App in any manner that would cause BAGHOLDER or its operators to violate any applicable sanctions law or regulation; and (e) the information you provide during setup, including your state of residence and date of birth, is accurate and complete.

You agree to notify us promptly if any of these representations becomes inaccurate during your use of the App. BAGHOLDER may, at its sole discretion, refuse service to, suspend, or terminate the account of any user we reasonably believe is in breach of these representations or that we reasonably believe poses a sanctions-compliance risk. Refusal, suspension, or termination on these grounds is not a breach of these Terms by BAGHOLDER and does not entitle you to a refund of fees already paid in connection with completed purchases.


Fees

Platform fee: 5% per buy with a $0.50 minimum. The fee is deducted in USDC from your purchase amount after the swaps complete and sent to the platform treasury wallet on-chain. For example, on a $20 buy, the platform fee is $1.00.

Coinbase Onramp fee: Coinbase charges its own payment-processing fee and applies a price spread on the USDC you purchase. Coinbase's pricing varies by payment method and is shown on their payment page before you confirm. This is Coinbase's pricing, separate from the BAGHOLDER 5% fee. BAGHOLDER does not set this fee and does not receive any portion of it.

Bank and card issuer fees: your bank or card issuer may add fees of their own to the Coinbase transaction (foreign-transaction surcharges, cash-advance treatment of crypto purchases, debit/credit processing). These are governed by your agreement with that institution. BAGHOLDER cannot see, set, refund, or dispute them. Review your card terms or statement if the total charged to your card looks higher than the Coinbase confirmation page indicated.

Per-user purchase limits: Coinbase Onramp limits each user to $2,500 USD per rolling 7-day window without identity verification.

Network gas: paid from the USDC you fund. After your USDC arrives from Coinbase, a small portion is swapped on-chain into the network's native token (ETH on Base/Optimism/Arbitrum, POL on Polygon, AVAX on Avalanche, SOL on Solana) to cover gas fees that go to the network's validators. Typical cost is under $0.50 per buy on most chains and is shown to you as a "Network gas" line before you confirm. Gas does not go to BAGHOLDER.

Third-party routing fee: on Base, Optimism, Arbitrum, and Polygon, the USDC→native gas-prep swap may be routed through a third-party service (currently 0x Labs, Inc.) that charges a small per-swap fee (0.15% of the swapped amount at time of writing, set by the third party and subject to change). This fee is already included in the Network gas line shown to you before you confirm. BAGHOLDER does not receive any portion of this fee.

Wrapped-token unwrap for gas: on Base, Optimism, Arbitrum, Polygon, and Avalanche, if your wallet holds a wrapped version of the chain’s native gas token (for example WETH on Base, or WAVAX on Avalanche) and gas is needed to execute a swap, BAGHOLDER may unwrap a small amount of that holding into native gas instead of running a USDC→native swap. A wrap and an unwrap are economically the same asset on-chain. When this happens, the wrapped-token balance, cost basis, and profit/loss displayed in the app are recalculated to reflect only the amount still in your wallet, and the token row carries a “Balance Note” labeled “Adjusted for transfer out of wallet” explaining the change. Solana does not have this mechanic — wrapping is internal to each Jupiter swap and never persists between transactions.

Gas seed: on your first interaction with a particular chain, BAGHOLDER sends a small amount of the chain's native token (approximately $0.05) directly to your wallet so the very first on-chain swap can be signed and broadcast. This is a one-time service feature, is not a money-transmission service, is not held in trust for you, and is not redeemable for cash. It is capped per wallet, per day, and per lifetime to prevent abuse.

Solana network account setup: Solana requires a one-time deposit of 0.00203928 SOL for each new token account you hold. This is a Solana protocol requirement, not a BAGHOLDER fee. It is deducted from your purchase amount and only applies to your first purchase of each token. Solana minimum purchase amounts may be higher than other chains because of token account setup costs. The minimum adjusts automatically based on the number of new tokens in your buy and current SOL price.

There are no subscription fees, hidden fees, or minimum balance requirements.

Daily purchase limit: You set a daily purchase limit (default $100, adjustable from $50 to $2,500) in Settings. The daily limit resets at midnight UTC. The weekly cap is fixed at $2,500 (Coinbase’s no-KYC ceiling) on a rolling 7-day window.


Token Availability

BAGHOLDER does not evaluate, endorse, or recommend any token. Tokens available in the app are automatically curated based on market capitalization, trading volume, and on-chain liquidity metrics. This automated process does not constitute a review of any token's legitimacy, team, or long-term viability.

Tokens may be added or removed at any time based on liquidity changes. A token's presence in the app is not an endorsement. You are solely responsible for researching any token before purchasing.

BAGHOLDER may also remove or restrict a token at any time if we determine, in our sole discretion, that continued availability creates legal, regulatory, or compliance risk, including without limitation enforcement action against the token's issuer, sanctions designations, court orders, or other operator determinations that the token presents an unacceptable legal risk. Compliance-based removals may take effect immediately and without prior notice, and we are not obligated to disclose the specific basis for the removal.


How Purchases Work

When you tap Buy on a token, BAGHOLDER runs safety and pre-validation checks, then creates an embedded payment session via Coinbase. You confirm payment through Coinbase's payment screen, which presents whichever payment methods Coinbase offers for your session. Coinbase deposits USDC directly to your non-custodial wallet on the chain you selected. Your wallet then swaps USDC for tokens through decentralized exchange protocols. All swap transactions are signed by your own wallet — BAGHOLDER never holds, routes, or processes your funds.

You verify a US mobile phone number before your first buy and re-verify every 60 days, which is required by Coinbase for fraud prevention.

Each Coinbase Onramp session is per-chain. If you want to buy tokens on multiple chains, each chain requires its own payment confirmation. If you decline or do not complete a payment session, no charge is made and no swaps execute.

If payment succeeds but a swap fails after USDC arrives, the App handles failures differently depending on the cause:

  • Transient failures — network congestion, RPC errors, brief liquidity dips. These are automatically queued for retry the next time you open the App. No additional payment is made for retried swaps.
  • Permanent failures — a token's available on-chain liquidity is too thin to deliver the amount you tried to buy at an acceptable price (typically referred to as “price impact”), or the token was removed from the registry between your bag's creation and the buy. These are NOT retried because the same condition would cause the same failure. The unspent USDC remains in your wallet and is automatically applied toward your next buy. You can also use the dust to buy a different token at any time.

For a detailed breakdown, please review the “How Your Money Moves” disclosure presented during setup.


Risks

Cryptocurrency is volatile. You may lose some or all of your purchase value.

Past performance does not guarantee future results.

BAGHOLDER does not provide financial, investment, tax, or legal advice. You should consult qualified professionals before making investment decisions.

Risks include but are not limited to:

  • Cryptocurrency price volatility
  • Slippage: when executing swaps on decentralized exchanges, the actual amount of tokens received may differ from the quoted amount due to market price movement between the time of the quote and the time of execution. A small slippage tolerance is applied uniformly to each swap to protect against excessive price impact and front-running. Any positive slippage (price improvement) is retained by you in your wallet. Any negative slippage (price deterioration within the tolerance) is borne by you. BAGHOLDER does not capture, retain, or benefit from slippage in any direction.
  • Smart contract vulnerabilities
  • Blockchain network congestion or outages
  • Token delisting or liquidity loss
  • Third-party service disruptions
  • Regulatory changes that may affect token availability

Unsupported Tokens

Token liquidity on decentralized exchanges can change without notice. BAGHOLDER continuously monitors every token in your bag and responds based on what changed:

  • Temporary liquidity drop: the affected token is skipped on your next buy and you see a brief notification. Buys continue on the rest of your bag's tokens. The skipped token stays in your bag and auto-recovers on the next scan that shows healthy liquidity — no action needed.
  • Token removed entirely (compliance, dead chain, etc.): the bag is paused until you remove the affected token. A red banner on the bag screen names the action.
  • BAGHOLDER will NOT automatically sell any crypto you already own (selling may create a taxable event).
  • You are responsible for managing any assets in your wallet.

Prohibited Uses

You may not use BAGHOLDER for:

  • Money laundering or terrorist financing
  • Sanctions evasion
  • Tax evasion
  • Market manipulation
  • Any illegal activity under applicable law
  • Circumventing geographic restrictions
  • Reverse engineering, scraping, or automated access to the App
  • Operating the App on behalf of third parties or managing other people's accounts

User-Generated Content

Bag names, usernames, biographical text, and any other content you choose or create within BAGHOLDER (collectively, "User Content") are your own. BAGHOLDER does not endorse, curate, verify, or vouch for any User Content. By creating or sharing User Content you confirm that you have the right to use it and that it does not impersonate any person or organization, infringe any third-party right, or mislead other users.

BAGHOLDER screens User Content against a non-exhaustive profanity list and a non-exhaustive reserved-term list (brand names, system terms, and similar identifiers). The filter is automated and best-effort; it does not guarantee that every name is safe, original, or non-infringing. We reserve the right to remove or refuse any User Content at any time, with or without notice, including content reported to us as harmful, fraudulent, infringing, or impersonating.

To report a shared bag or other User Content, contact us at support@getbagholder.com. Include the share URL and a brief description of the concern. For trademark or copyright notices, send the same address — we will respond to good-faith notices in line with standard takedown practice.


Third-Party Services

BAGHOLDER relies on third-party services and decentralized exchange protocols to provide its functionality, including but not limited to:

  • Decentralized exchange protocols on supported blockchain networks for cryptocurrency swaps
  • A third-party payment provider for USD-to-cryptocurrency conversion
  • A third-party wallet provider for non-custodial wallet creation and management
  • Third-party market data providers for cryptocurrency pricing
  • Third-party infrastructure providers for blockchain data relay
  • A third-party crash reporting service for app stability

BAGHOLDER is not affiliated with, endorsed by, or sponsored by the developers of any third-party protocol or service.

We are not responsible for the operation, availability, or security of third-party services or protocols. Your use of third-party services is subject to their respective terms and privacy policies. Please refer to our Privacy Policy for details on which services process your data.


Limitation of Liability

BAGHOLDER is provided "AS IS" and "AS AVAILABLE" without warranties of any kind, either express or implied, including but not limited to implied warranties of merchantability, fitness for a particular purpose, and non-infringement.

To the fullest extent permitted by law, we shall not be liable for any indirect, incidental, special, consequential, or punitive damages, including loss of profits, data, or crypto assets, arising from:

  • Cryptocurrency price movements
  • Blockchain network issues
  • Third-party service disruptions
  • Smart contract vulnerabilities
  • Unauthorized access to your device
  • Your failure to secure your device or credentials
  • Events beyond our reasonable control (force majeure)

Our total liability for any claim shall not exceed the fees you paid to us in the 12 months preceding the claim.


Indemnification

You agree to indemnify and hold harmless BAGHOLDER and its officers, directors, employees, and agents from any claims, damages, losses, or expenses (including reasonable attorneys' fees) arising from your use of the App or violation of these Terms.


Dispute Resolution

Before filing any formal dispute, you agree to contact us at legal@getbagholder.com and allow 30 days to resolve the issue informally.

If the dispute is not resolved informally, it shall be resolved through binding individual arbitration administered by the American Arbitration Association (AAA) under its Consumer Arbitration Rules.

SMALL CLAIMS EXCEPTION: Either party may bring a qualifying claim in small claims court instead of arbitration.

CLASS ACTION WAIVER: You agree to waive any right to participate in a class action lawsuit or class-wide arbitration.

JURY TRIAL WAIVER: You agree to waive your right to a jury trial.


Governing Law

These Terms shall be governed by and construed in accordance with the laws of the State of Ohio, without regard to its conflict of law principles.


Encrypted Backup

BAGHOLDER automatically creates an encrypted backup of your app data (purchase history, bags, and settings) to enable recovery on new devices or after reinstallation. Your data is encrypted on your device using a key derived from your wallet before being transmitted to our server. We cannot decrypt, read, or access your backup data.

On reinstall or device change, signing in with the same account recovers your wallet and automatically restores your data. Your backup is deleted when you delete your account.


Account Termination

You may delete your account at any time through Settings. Upon deletion, all local data is permanently erased.

We reserve the right to suspend or terminate your access if we reasonably believe you are violating these Terms or engaging in prohibited uses.


Refunds and Cancellations

Cryptocurrency purchases are generally non-reversible once executed on the blockchain.

You can cancel a buy at any time before payment is confirmed by closing the Coinbase Onramp window. Once payment is confirmed and USDC arrives in your wallet, the buy cannot be reversed.

If payment is declined before confirmation, no swap is executed and no platform fee is charged.

If payment succeeds but a swap fails after USDC arrival, the USDC remains in your wallet. Transient failures (network, RPC, brief liquidity dips) are automatically retried on your next app open. Permanent failures (insufficient on-chain liquidity to fill the size at an acceptable price, or a token removed from the registry between bag creation and purchase) are NOT retried — the unspent USDC stays in your wallet as dust and is applied toward your next buy via wallet offset.

If only some swaps in a multi-token buy succeed and others fail, the successful tokens are delivered and the platform fee is taken on the successful portion; the unspent USDC for the failed swaps remains in your wallet for retry (transient failures) or as dust (permanent failures).

Payment disputes initiated with your bank, card issuer, or Coinbase after payment confirmation are handled by Coinbase under its own terms. Tokens delivered to your wallet are not reversible regardless of the outcome of a payment dispute.

No refund is issued for completed purchases — once tokens are delivered to your wallet, they are yours and the platform fee is final.


Service Availability

BAGHOLDER may be temporarily unavailable due to maintenance, updates, or circumstances beyond our reasonable control, including but not limited to internet outages, blockchain network congestion, third-party service disruptions, natural disasters, or government actions.

Each purchase is initiated by you and confirmed individually through Coinbase Onramp. BAGHOLDER does not schedule, automate, or recurringly execute purchases on your behalf.

BAGHOLDER requires the app to be open to execute purchases. If a purchase is interrupted (network loss, app closed mid-flow), it resumes when you reopen the app, or USDC remains in your wallet and the failed swap auto-retries.

We are not liable for any losses resulting from service unavailability or delayed execution.


Intellectual Property

The BAGHOLDER name, logo, and App design are the property of BAGHOLDER. You may not use our branding without prior written permission.

All third-party trademarks referenced in the App belong to their respective owners.

BAGHOLDER will act on legitimate intellectual-property infringement notices sent to legal@getbagholder.com. Please include the work in question, the URL of the allegedly infringing content, your contact information, and a good-faith statement that you are authorized to act on behalf of the rights-holder.


Changes to These Terms

We may update these Terms from time to time. If we make material changes, you will be asked to review and accept the updated Terms before continuing to use the App.


Activity Exports

The Activity export feature lets you download a CSV of your BAGHOLDER activity for personal record-keeping. This export is informational only and is not tax advice.

The export may not be complete or accurate for tax reporting purposes. BAGHOLDER does not verify or warrant the accuracy of any rows beyond what was directly recorded by the app from buys you made through it.

The CSV includes a “Cost Basis Source” column distinguishing three types of rows:

  • recorded: captured from on-chain execution of a buy made through the app.
  • user_edited: a recorded row where you adjusted the quantity or cost basis via Activity → Edit. The new value is yours; BAGHOLDER neither verifies nor warrants it.
  • user_entered: a row you created manually via Sync from Wallet for a token found on-chain that was not purchased through the app. The cost basis is yours; BAGHOLDER neither verifies nor warrants it.

You are solely responsible for the accuracy of any tax filings made using this export. Consult a qualified tax professional before filing.


General

Severability: If any provision of these Terms is found to be unenforceable, the remaining provisions remain in full force and effect.

Entire Agreement: These Terms, together with our Privacy Policy and the "How Your Money Moves" disclosure, constitute the entire agreement between you and BAGHOLDER.

Electronic Communications: By using the App, you consent to receive communications from us electronically, including in-app notifications.

No Waiver: Our failure to enforce any provision of these Terms does not waive our right to enforce it later.

Assignment: We may assign or transfer these Terms without restriction. You may not assign your rights under these Terms.


Contact

Questions about these Terms? Contact us at:
legal@getbagholder.com
getbagholder.com

Home Privacy Policy Terms of Service How BAGHOLDER Works Support

© 2026 BAGHOLDER. All rights reserved.