Skip to main content

Using the Web App

The fastest way to use toju is through the web interface.

Pay with SOL

1

Connect Wallet

Visit toju.network and connect your Solana wallet (Phantom, Solflare, etc.)
2

Get Testnet SOL

If using testnet, get free SOL from the Solana Faucet
3

Upload Files

  • Select files to upload (single or multiple)
  • Choose storage duration (7, 30, 90, or custom days)
  • Optionally add your email for expiration reminders
4

Pay & Confirm

Review the cost estimate and sign the transaction with your wallet

Pay with USDFC (Filecoin)

1

Connect Wallet

Visit toju.network and switch to the FIL tab, then connect your MetaMask wallet
2

Get USDFC

You need USDFC tokens on Filecoin. For testnet, mint test USDFC at stg.usdfc.net using tFIL from the Calibration Faucet.
3

Upload Files

  • Select files to upload (single or multiple)
  • Choose storage duration
  • Optionally add your email for expiration reminders
4

Pay & Confirm

Review the cost in USDFC and approve the token transfer in your wallet
USDFC is a stablecoin pegged 1:1 to USD on Filecoin. You’ll also need a small amount of FIL for gas fees.
Your files are now stored on decentralized storage! You can view them in the Upload History page.

Using the SDK

Install the SDK in your React app:
pnpm add @toju.network/sol
Using in production? For better reliability and performance, use your own RPC provider (Helius, QuickNode) instead of public Solana endpoints. See the SDK Overview for configuration details.
Basic usage example:
import { useUpload, Environment } from '@toju.network/sol';
import { useWallet } from '@solana/wallet-adapter-react';

function UploadComponent() {
  const client = useUpload(Environment.testnet);
  const { publicKey, signTransaction } = useWallet();
  
  const handleUpload = async (file, duration) => {
    const result = await client.createDeposit({
      file,
      durationDays: duration,
      payer: publicKey,
      signTransaction: async (tx) => {
        return await signTransaction(tx);
      },
    });
    
    if (result.success) {
      console.log('Upload successful!', result.cid);
    }
  };
  
  return (
    // Your upload UI
  );
}

SDK Documentation

Learn more about SDK features and API reference

Contributing

Want to contribute to toju? Check out the Local Development Guide to set up the project on your machine.