The agent gets a key. Dino controls the card.

Cards for AI agents.

Give your agents a card. Set a budget. Approve the big stuff. Track spending.

// Authorize a spend from your agent

const dino = new Dino({ apiKey: process.env.DINO_KEY })

const result = await dino.spend({
  amount: 5,
  currency: "usd",
  merchant: "Apify",
  reason: "Scraping credits",
})

/*
Response
  status: "approved"
  requestId: "req_01jt8…"
  agentAccount: "Research Agent"
  amountCents: 500
  remainingBudgetCents: 4500
*/

// (pseudo code for visual effect)
// Authorize a spend from your agent

const dino = new Dino({ apiKey: process.env.DINO_KEY })

const result = await dino.spend({
  amount: 32,
  currency: "usd",
  merchant: "Data API",
  reason: "Enrichment lookup",
})

/*
Response
  status: "needs_approval"
  requestId: "req_01jta…"
  agentAccount: "Sourcing Bot"
  amountCents: 3200
  remainingBudgetCents: 1800
  approvalUrl: "https://dino.app/dino?spendRequestId=req_01jta…"
*/

// (pseudo code for visual effect)
// Authorize a spend from your agent

const dino = new Dino({ apiKey: process.env.DINO_KEY })

const result = await dino.spend({
  amount: 80,
  currency: "usd",
  merchant: "Unknown SaaS",
  reason: "Trial upgrade",
})

/*
Response
  status: "declined"
  requestId: "req_01jtb…"
  agentAccount: "QA Agent"
  amountCents: 8000
  remainingBudgetCents: 0
*/

// (pseudo code for visual effect)
// Authorize a spend from your agent

const dino = new Dino({ apiKey: process.env.DINO_KEY })

const result = await dino.spend({
  amount: 5,
  currency: "usd",
  merchant: "Apify",
  reason: "Scraping credits",
})

/*
Response
  status: "approved"
  requestId: "req_01jt8…"
  agentAccount: "Research Agent"
  amountCents: 500
  remainingBudgetCents: 4500
*/

// (pseudo code for visual effect)
// Authorize a spend from your agent

const dino = new Dino({ apiKey: process.env.DINO_KEY })

const result = await dino.spend({
  amount: 32,
  currency: "usd",
  merchant: "Data API",
  reason: "Enrichment lookup",
})

/*
Response
  status: "needs_approval"
  requestId: "req_01jta…"
  agentAccount: "Sourcing Bot"
  amountCents: 3200
  remainingBudgetCents: 1800
  approvalUrl: "https://dino.app/dino?spendRequestId=req_01jta…"
*/

// (pseudo code for visual effect)
// Authorize a spend from your agent

const dino = new Dino({ apiKey: process.env.DINO_KEY })

const result = await dino.spend({
  amount: 80,
  currency: "usd",
  merchant: "Unknown SaaS",
  reason: "Trial upgrade",
})

/*
Response
  status: "declined"
  requestId: "req_01jtb…"
  agentAccount: "QA Agent"
  amountCents: 8000
  remainingBudgetCents: 0
*/

// (pseudo code for visual effect)
// Authorize a spend from your agent

const dino = new Dino({ apiKey: process.env.DINO_KEY })

const result = await dino.spend({
  amount: 5,
  currency: "usd",
  merchant: "Apify",
  reason: "Scraping credits",
})

/*
Response
  status: "approved"
  requestId: "req_01jt8…"
  agentAccount: "Research Agent"
  amountCents: 500
  remainingBudgetCents: 4500
*/

// (pseudo code for visual effect)
// Authorize a spend from your agent

const dino = new Dino({ apiKey: process.env.DINO_KEY })

const result = await dino.spend({
  amount: 32,
  currency: "usd",
  merchant: "Data API",
  reason: "Enrichment lookup",
})

/*
Response
  status: "needs_approval"
  requestId: "req_01jta…"
  agentAccount: "Sourcing Bot"
  amountCents: 3200
  remainingBudgetCents: 1800
  approvalUrl: "https://dino.app/dino?spendRequestId=req_01jta…"
*/

// (pseudo code for visual effect)
// Authorize a spend from your agent

const dino = new Dino({ apiKey: process.env.DINO_KEY })

const result = await dino.spend({
  amount: 80,
  currency: "usd",
  merchant: "Unknown SaaS",
  reason: "Trial upgrade",
})

/*
Response
  status: "declined"
  requestId: "req_01jtb…"
  agentAccount: "QA Agent"
  amountCents: 8000
  remainingBudgetCents: 0
*/

// (pseudo code for visual effect)
// Authorize a spend from your agent

const dino = new Dino({ apiKey: process.env.DINO_KEY })

const result = await dino.spend({
  amount: 5,
  currency: "usd",
  merchant: "Apify",
  reason: "Scraping credits",
})

/*
Response
  status: "approved"
  requestId: "req_01jt8…"
  agentAccount: "Research Agent"
  amountCents: 500
  remainingBudgetCents: 4500
*/

// (pseudo code for visual effect)
// Authorize a spend from your agent

const dino = new Dino({ apiKey: process.env.DINO_KEY })

const result = await dino.spend({
  amount: 32,
  currency: "usd",
  merchant: "Data API",
  reason: "Enrichment lookup",
})

/*
Response
  status: "needs_approval"
  requestId: "req_01jta…"
  agentAccount: "Sourcing Bot"
  amountCents: 3200
  remainingBudgetCents: 1800
  approvalUrl: "https://dino.app/dino?spendRequestId=req_01jta…"
*/

// (pseudo code for visual effect)
// Authorize a spend from your agent

const dino = new Dino({ apiKey: process.env.DINO_KEY })

const result = await dino.spend({
  amount: 80,
  currency: "usd",
  merchant: "Unknown SaaS",
  reason: "Trial upgrade",
})

/*
Response
  status: "declined"
  requestId: "req_01jtb…"
  agentAccount: "QA Agent"
  amountCents: 8000
  remainingBudgetCents: 0
*/

// (pseudo code for visual effect)
// Authorize a spend from your agent

const dino = new Dino({ apiKey: process.env.DINO_KEY })

const result = await dino.spend({
  amount: 5,
  currency: "usd",
  merchant: "Apify",
  reason: "Scraping credits",
})

/*
Response
  status: "approved"
  requestId: "req_01jt8…"
  agentAccount: "Research Agent"
  amountCents: 500
  remainingBudgetCents: 4500
*/

// (pseudo code for visual effect)
// Authorize a spend from your agent

const dino = new Dino({ apiKey: process.env.DINO_KEY })

const result = await dino.spend({
  amount: 32,
  currency: "usd",
  merchant: "Data API",
  reason: "Enrichment lookup",
})

/*
Response
  status: "needs_approval"
  requestId: "req_01jta…"
  agentAccount: "Sourcing Bot"
  amountCents: 3200
  remainingBudgetCents: 1800
  approvalUrl: "https://dino.app/dino?spendRequestId=req_01jta…"
*/

// (pseudo code for visual effect)
// Authorize a spend from your agent

const dino = new Dino({ apiKey: process.env.DINO_KEY })

const result = await dino.spend({
  amount: 80,
  currency: "usd",
  merchant: "Unknown SaaS",
  reason: "Trial upgrade",
})

/*
Response
  status: "declined"
  requestId: "req_01jtb…"
  agentAccount: "QA Agent"
  amountCents: 8000
  remainingBudgetCents: 0
*/

// (pseudo code for visual effect)
// Authorize a spend from your agent

const dino = new Dino({ apiKey: process.env.DINO_KEY })

const result = await dino.spend({
  amount: 5,
  currency: "usd",
  merchant: "Apify",
  reason: "Scraping credits",
})

/*
Response
  status: "approved"
  requestId: "req_01jt8…"
  agentAccount: "Research Agent"
  amountCents: 500
  remainingBudgetCents: 4500
*/

// (pseudo code for visual effect)
// Authorize a spend from your agent

const dino = new Dino({ apiKey: process.env.DINO_KEY })

const result = await dino.spend({
  amount: 32,
  currency: "usd",
  merchant: "Data API",
  reason: "Enrichment lookup",
})

/*
Response
  status: "needs_approval"
  requestId: "req_01jta…"
  agentAccount: "Sourcing Bot"
  amountCents: 3200
  remainingBudgetCents: 1800
  approvalUrl: "https://dino.app/dino?spendRequestId=req_01jta…"
*/

// (pseudo code for visual effect)
// Authorize a spend from your agent

const dino = new Dino({ apiKey: process.env.DINO_KEY })

const result = await dino.spend({
  amount: 80,
  currency: "usd",
  merchant: "Unknown SaaS",
  reason: "Trial upgrade",
})

/*
Response
  status: "declined"
  requestId: "req_01jtb…"
  agentAccount: "QA Agent"
  amountCents: 8000
  remainingBudgetCents: 0
*/

// (pseudo code for visual effect)
Create a card

Budgets · Approvals · Ledger · Keys

Add money for your agents

Add money for agents to use safely.

Transactions

DateDescriptionAmountCategory
Sep 10
Office Supplies Co.
-45,20 kr
Office Supplies
Sep 10
Cloud Services Inc.
-89,00 kr
Software
Sep 09
Freelance Payment
+1 200,00 kr
Income
Sep 09
Marketing Agency
-350,00 kr
Marketing
Sep 08
Software Subscription
-24,00 kr
Software
Sep 08
AWS
-1 820,50 kr
Infrastructure
Sep 07
Stripe Payment
+2 450,00 kr
Income
Sep 07
Figma
-225,88 kr
Office Supplies
Sep 06
Webflow
-176,36 kr
Software
Sep 06
GitHub
-44,00 kr
Software
Sep 05
Notion
-120,00 kr
Software
Sep 05
OpenAI
-89,50 kr
Software
Sep 04
Vercel
-299,00 kr
Infrastructure
Sep 04
Adobe
-649,00 kr
Software
Sep 03
Client Invoice
+8 500,00 kr
Income

Set rules and approvals

Set limits and approvals.

Invoices

Track every purchase

One history for every request and payment.

Inbox

AWS-receipt.pdf

$54.30
InboxSep 07

Figma-receipt.pdf

$24.00
InboxSep 06

GitHub-receipt.pdf

$9.00
InboxSep 05

Notion-receipt.pdf

$16.00
InboxSep 04

Slack-receipt.pdf

$8.50
InboxSep 03
Suggested match
Transaction • Stripe • $89.00 • Sep 10

How Dino works

1

Agent asks

The agent sends a spend request with a merchant, amount, and reason.

2

Dino checks rules

Budget, per-transaction limit, and approval threshold are checked instantly.

3

Card pays if allowed

Approved requests charge the funding card. Anything over the threshold waits for you.

4

Merchant gets paid

The purchase goes through. Every step lands in the ledger.

Everything you need to let agents spend safely

Less admin. More focus.

45 minutes per week

Receipts arrive late, get lost, or need follow-ups.

1 hour per week

Categorizing, fixing duplicates, and making numbers line up.

Pricing for agent money accounts

Starter

Start with controlled agent money

$15/month

$180/year · billed annually

3 agents included
2 funded accounts
2 active proxy cards
5 Dino spending keys
3% funding fee
$1 minimum funding fee
Basic budgets and max purchase limits
Basic transaction history
Pause agents, cards, and keys anytime
API, CLI, and MCP access
Get started

Best for small agent workflows and simple limits

Most popular

Pro

Scale agents, cards, and approvals

$39/month

$468/year · billed annually

Everything in Starter
10 agents included
10 funded accounts
10 active proxy cards
25 Dino spending keys
2.5% funding fee
Approval workflows
Advanced policy controls
Agent spend analytics
Exports and audit trails
Priority support
Get started

Best for larger agent fleets and approval controls

14-day free trial · 30-day money-back guarantee · / · Excl. tax

Starter funding fee

3%

For teams proving the agent money loop with smaller limits.

Pro funding fee

2.5%

Lower platform fee, more agents, more cards, and approvals.

Minimum fee

$1

Applies to small funding events so pricing stays predictable.

High-volume teams can move to custom pricing with negotiated limits, fees, and support. The goal is to price the infrastructure clearly, not punish teams for moving more money through agents.