Dropbox for Agents — live at https://storage.builtbyecho.xyz
Persistent file storage for autonomous agents, priced one request at a time.
Vaultline, formerly Vaultline, lets agents buy uploads and downloads directly over HTTP using x402 v2 on Base mainnet. Instead of forcing every client through buyer accounts, API keys, and dashboard billing, it treats payment as the access primitive.
request -> 402 -> sign -> retry -> done
Most storage products assume a human operator:
- create an account
- issue API keys
- attach a billing method
- then let software use the service
That model is fine for traditional SaaS. It is awkward for autonomous systems.
Agents want:
- direct HTTP access
- per-request pricing
- machine-readable payment requirements
- no signup flow in the critical path
- cryptographic settlement
Vaultline is built around that shape.
- paid uploads
- open storage for shared/public-by-key objects
- wallet-based private storage for owner-only or allowlisted reads
- encrypted storage planned as a higher-privacy tier (coming soon)
- free small downloads under a configurable threshold
- paid large downloads
- free metadata, listing, and delete operations
- Cloudflare R2-backed object storage
- CDP-facilitated verification and settlement on Base mainnet
Vaultline is not just “S3 with crypto.”
The point is that storage becomes a machine-buyable capability. An agent can discover a price, authorize payment, retry the same request, and continue its workflow without a human in the loop.
That opens up patterns like:
- shared workspaces for autonomous systems
- paid retrieval APIs
- artifact handoff between agents
- metered file access without customer API key provisioning
Verified in production at https://storage.builtbyecho.xyz:
- x402 v2 flow on Base mainnet
- paid ping route
- paid uploads
- free small reads
- paid large reads
- R2 storage operations
- integration tests
- deploy smoke scripts
- paid upload, free read, private wallet-gated read, and paid large read against the live endpoint
Current default pricing:
Open
- storage:
$0.08 / GB / month - retrieval:
$0.015 / GBafter free threshold, minimum paid read$0.001 - write:
$0.03 / GB
Private
- storage:
$0.12 / GB / month - retrieval:
$0.02 / GBafter free threshold, minimum paid read$0.001 - write:
$0.045 / GB
Encrypted
- coming soon
- planned as the highest-privacy tier
Common
- list / head / delete: free
- reads under
1 MB: free
npm install @builtbyecho/vaultline-sdk viemimport { privateKeyToAccount } from 'viem/accounts';
import { VaultlineClient } from '@builtbyecho/vaultline-sdk';
const account = privateKeyToAccount(process.env.X402_PAYER_PRIVATE_KEY as `0x${string}`);
const client = new VaultlineClient({
baseUrl: 'https://storage.builtbyecho.xyz',
account,
});
await client.upload('workspace/demo.txt', 'hello from Vaultline', {
contentType: 'text/plain',
});
const result = await client.downloadText('workspace/demo.txt');
console.log(result.text);cd projects/vaultline
npm install
npm run lint
npm test
npm run devRequired env vars:
PORT=3001
R2_ACCOUNT_ID=
R2_ACCESS_KEY_ID=
R2_SECRET_ACCESS_KEY=
R2_BUCKET_NAME=vaultline
X402_NETWORK=base
X402_USDC_CONTRACT=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
X402_TREASURY_WALLET=
X402_FACILITATOR_URL=https://api.cdp.coinbase.com/platform/v2/x402
CDP_API_KEY_ID=
CDP_API_KEY_SECRET=
PRICE_STORAGE_PER_GB_MONTH=0.08
PRICE_RETRIEVAL_PER_GB=0.015
PRICE_WRITE_PER_GB=0.03
FREE_READ_MAX_BYTES=1048576npm run check:x402
npm run check:x402:facilitator
npm run check:x402:paid
npm run check:x402:smokePUT /v1/files/{path}— paid uploadGET /v1/files/{path}— free for small files, paid for larger readsDELETE /v1/files/{path}— free deleteHEAD /v1/files/{path}— free metadataGET /v1/list/{prefix}— free listingGET /v1/usage— free usage summaryGET /v1/health— health checkGET /v1/test/paid-ping— minimal paid route for verification
docs/OVERVIEW.md— product framing and positioningdocs/API.md— route behavior and payment flowdocs/SDK.md— developer SDK overview and usagedocs/SDK_PUBLISHING.md— SDK publish checklistdocs/SDK_RELEASE_v0.1.1.md— SDK hardening release notesdocs/SDK_RELEASE_v0.1.0.md— SDK release notes for first publishdocs/STORAGE_TIERS.md— open vs private vs encrypted-tier guidedocs/ARCHITECTURE.md— internals and system designdocs/OPERATIONS.md— env, deploy, smoke tests, operational notesdocs/INTEGRATION_EXAMPLES.md— TypeScript and Python client payment/retry examplesdocs/LANDING_PAGE_COPY.md— marketing/front-page copy optionsdocs/GITHUB_HOMEPAGE_VARIANT.md— alternate polished repo-front-page copydocs/LANDING_PAGE_STRUCTURE.md— future site section structure/specDEPLOY.md— Railway-first deployment checklistNOTES.md— concise project state and follow-up notes
- Base mainnet requires the authenticated CDP facilitator; public
x402.org/facilitatoris not enough. - R2 TLS works normally in this project on Node 24.15.0; the old global TLS bypass was removed.
- If secrets were exposed in chat, rotate them before public launch.
Vaultline turns file storage into a paid HTTP primitive for agents.