A strategy card is your rule in plain English. You describe it in chat, the agent writes it, and you approve it before it can spend.
In short: you describe a strategy in chat, for example “buy cbBTC when it looks oversold, never more than once a week”. The agent writes it as a strategy card: a few lines of English that say where it runs, when it acts, what it does and how much it may spend. The agent checks the card and backtests it. You read what it can do, approve it with your signature, and start it. From then on it acts by itself, inside the limits you signed. You can stop it at any time.A card is a plan you can read. The agent does not write code for you to trust. It writes sentences, and a checker refuses any sentence it cannot turn into a safe plan.
PLAN Weekly buy with its own money and capsON BaseBUDGET 5,000 USDCWHEN the ETH price is below $3,000DO swap $100 of my USDC for WETH, at most 0.5% below marketLIMITS at most once a day · never more than $5,000 per run · stop after 52 runs
Read it top to bottom. It runs on Base. It may use 5,000 USDC. When the ETH price is below $3,000, it swaps $100 of USDC for WETH and accepts at most 0.5% below the market price. It acts at most once a day and stops after 52 runs.
The agent shows the card and a plain-language line that the checker wrote from it: what the card can do and what it can never do. When you agree in chat, the agent saves it and starts a backtest at once.
3
Read the backtest
The report compares the card against simply holding, over the same days and with the same costs. Backtest and paper runs explains how to read it.
4
Approve and sign
You sign the checker’s line, the backtest and the limits, with your passkey session or your wallet. Signing freezes that version. Going live lists exactly what you sign.
5
Run it on paper, then live
Paper runs the card against live prices with simulated fills. A live run sends real transactions from your account.
6
Stop it when you want
Stop one card or all of them. Going live covers what stopping does and does not do.
Paper is optional and has no minimum length. You decide, card by card, when it goes live.
A card can wait for a condition, run on a clock, run once now, rest as an order at a price, or hold a share of its money in one token. It reads prices and data feeds through measures, and 2,625 feeds are available. What a card can watch and do lists each kind and what it can read.Cards run on Ethereum, Arbitrum and Base. A card can also trade on Hyperliquid, Lighter or Binance (Binance in demo only). A Binance card works differently: you arm it with its own limits instead of approving it like an on-chain card.
A card cannot name an address, a pool or a formula. It says my wallet, and the system chooses the pool and the route.
A card cannot send your money to anyone but you.
A card cannot widen itself. Any change, even one limit, is a new version that you approve again.
A card acts only on closed bars, so a price move inside the bar does not wake it. An order card rests at a price instead and acts between bars.
A backtest is history. It never promises a return.
A live card spends real money without asking each time. Your signature covers the card, its limits and its budget, not each trade. The card can still make a losing trade inside those limits. If you write no limit on how often it acts, nothing but the budget and a default of $1,000,000 per run holds it back. Write the limits you want into the card.
The chat writes cards for anything with a rule, a price or a repeat. Schedules, price triggers and chains that were built as workflows still run. Running it without you describes them.
This part is for readers who want the mechanism.A card compiles into a plan in a sandboxed runtime. Each rule becomes a set of conditions that the runtime checks on every closed bar, plus a template of the steps the account takes. The template’s amounts are placeholders. The host sizes them at the moment the rule fires, from the card’s own balance, and prices the swap again then.The checker also looks for rules that can never fire together, rules that could buy and sell the same token on one bar, and what each step’s failure leaves idle. It reports what it could not prove as “not proved”, never as safe. Card prices are checked against a second public price source when you save.A firing is one decision. It is written once, keyed by the card version, the rule and the bar, so a restart cannot fire the same bar twice. Each firing keeps the reason it fired, in the card’s own words and units.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"DeFiLoops","description":"An agent that plans and runs multi-step DeFi workflows and strategy cards: lending, liquidity, swaps, perpetuals. Nothing spends until you start it, and we never hold your money.","colors":{"primary":"#004DFF","light":"#3FFF75","dark":"#00247B"},"favicon":"https://mintcdn.com/defiloops/ORFJy_90SsGJLqzy/favicon.svg?fit=max\u0026auto=format\u0026n=ORFJy_90SsGJLqzy\u0026q=85\u0026s=c630ccc93f3b266acee87b9c141d942d","navbar":{"links":[{"href":"https://defiloops.com/workflows","label":"Workflows"},{"href":"https://defiloops.com/blog","label":"Blog"}],"primary":{"type":"button","label":"Open the app","href":"https://app.defiloops.com"}},"footer":{"socials":{"website":"https://defiloops.com","x":"https://x.com/defiloops"}},"seo":{"metatags":{"og:site_name":"DeFiLoops","twitter:card":"summary_large_image","twitter:site":"@defiloops"},"organization":{"id":"https://defiloops.com","name":"DeFiLoops","url":"https://defiloops.com"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"defiloops","hasAudioNarration":false,"actualSubdomain":"defiloops","customDomains":["docs.defiloops.com"],"gitSource":{"type":"github","owner":"asimashfaq","repo":"defiloops-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ae60f403a58a57f20b8879e","collectionId":"751b9f2c-a2fe-450d-96da-28f0c7503711","liveDeploymentHistoryId":"6ae60f403a58a57f20b8879e","schemaVersion":"v3"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae60f403a58a57f20b8879e","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"Research tools","count":10},{"language":"default","tag":"Your account and security","count":8},{"language":"default","tag":"Trading venues","count":8},{"language":"default","tag":"The agent","count":7},{"language":"default","tag":"Data streams","count":6},{"language":"default","tag":"Strategy cards","count":5},{"language":"default","tag":"Binance","count":5},{"language":"default","tag":"Start here","count":4},{"language":"default","tag":"Swaps and trading","count":4},{"language":"default","tag":"How it works","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"cards/overview","slug":"/cards/overview","pageMetadata":{"title":"Strategy cards","description":"A strategy card is your rule in plain English. You describe it in chat, the agent writes it, and you approve it before it can spend.","icon":"clipboard-list","href":"/cards/overview"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"A strategy card is your rule in plain English. You describe it in chat, the agent writes it, and you approve it before it can spend.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const feedCount=`2,625`;function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Step,Steps,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`In short:`}),` you describe a strategy in chat, for example “buy cbBTC when it looks oversold, never more than once a week”. The agent writes it as a `,_jsx(_components.strong,{children:`strategy card`}),`: a few lines of English that say where it runs, when it acts, what it does and how much it may spend. The agent checks the card and backtests it. You read what it can do, approve it with your signature, and start it. From then on it acts by itself, inside the limits you signed. You can stop it at any time.`]}),`\n`,_jsx(_components.p,{children:`A card is a plan you can read. The agent does not write code for you to trust. It writes sentences, and a checker refuses any sentence it cannot turn into a safe plan.`}),`\n`,_jsx(Heading,{level:`2`,id:`an-example`,children:`An example`}),`\n`,_jsx(CodeBlock,{numberOfLines:`7`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`PLAN Weekly buy with its own money and caps`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`ON Base`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`BUDGET 5,000 USDC`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`WHEN the ETH price is below $3,000`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`DO swap $100 of my USDC for WETH, at most 0.5% below market`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`LIMITS at most once a day · never more than $5,000 per run · stop after 52 runs`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`Read it top to bottom. It runs on Base. It may use 5,000 USDC. When the ETH price is below `,`$3,000, it swaps $`,`100 of USDC for WETH and accepts at most 0.5% below the market price. It acts at most once a day and stops after 52 runs.`]}),`\n`,_jsx(Heading,{level:`2`,id:`two-parts-cards-and-measures`,children:`Two parts: cards and measures`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`part`}),_jsx(_components.th,{children:`what it is`}),_jsx(_components.th,{children:`who writes it`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`a card`})}),_jsx(_components.td,{children:`English rules: when to act and what to do. Money moves only here.`}),_jsx(_components.td,{children:`the agent, from your words`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`a measure`})}),_jsx(_components.td,{children:`A small script that turns data into one number per closed bar, such as an RSI or a funding rate. It cannot move money.`}),_jsx(_components.td,{children:`the agent, in a Pine-style language`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`A card reads a measure by name, as in `,_jsx(_components.code,{children:`WHEN rsi(cbBTC) is below 30`}),`. The number comes from the measure. The decision and the money stay in the card.`]}),`\n`,_jsx(Heading,{level:`2`,id:`from-idea-to-a-running-card`,children:`From idea to a running card`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Describe it`,children:_jsxs(_components.p,{children:[`Tell the agent what you want in chat. `,_jsx(_components.a,{href:`/cards/writing`,children:`Writing a card in chat`}),` shows what to say.`]})}),_jsx(Step,{title:`Read the card`,children:_jsx(_components.p,{children:`The agent shows the card and a plain-language line that the checker wrote from it: what the card can do and what it can never do. When you agree in chat, the agent saves it and starts a backtest at once.`})}),_jsx(Step,{title:`Read the backtest`,children:_jsxs(_components.p,{children:[`The report compares the card against simply holding, over the same days and with the same costs. `,_jsx(_components.a,{href:`/cards/backtest-and-paper`,children:`Backtest and paper runs`}),` explains how to read it.`]})}),_jsx(Step,{title:`Approve and sign`,children:_jsxs(_components.p,{children:[`You sign the checker’s line, the backtest and the limits, with your passkey session or your wallet. Signing freezes that version. `,_jsx(_components.a,{href:`/cards/going-live`,children:`Going live`}),` lists exactly what you sign.`]})}),_jsx(Step,{title:`Run it on paper, then live`,children:_jsx(_components.p,{children:`Paper runs the card against live prices with simulated fills. A live run sends real transactions from your account.`})}),_jsx(Step,{title:`Stop it when you want`,children:_jsxs(_components.p,{children:[`Stop one card or all of them. `,_jsx(_components.a,{href:`/cards/going-live`,children:`Going live`}),` covers what stopping does and does not do.`]})})]}),`\n`,_jsx(_components.p,{children:`Paper is optional and has no minimum length. You decide, card by card, when it goes live.`}),`\n`,_jsx(Heading,{level:`2`,id:`what-a-card-can-do`,children:`What a card can do`}),`\n`,_jsxs(_components.p,{children:[`A card can wait for a condition, run on a clock, run once now, rest as an order at a price, or hold a share of its money in one token. It reads prices and data feeds through measures, and `,feedCount,` feeds are available. `,_jsx(_components.a,{href:`/cards/kinds`,children:`What a card can watch and do`}),` lists each kind and what it can read.`]}),`\n`,_jsx(_components.p,{children:`Cards run on Ethereum, Arbitrum and Base. A card can also trade on Hyperliquid, Lighter or Binance (Binance in demo only). A Binance card works differently: you arm it with its own limits instead of approving it like an on-chain card.`}),`\n`,_jsx(Heading,{level:`2`,id:`what-a-card-cannot-do`,children:`What a card cannot do`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A card cannot name an address, a pool or a formula. It says `,_jsx(_components.code,{children:`my wallet`}),`, and the system chooses the pool and the route.`]}),`\n`,_jsx(_components.li,{children:`A card cannot send your money to anyone but you.`}),`\n`,_jsx(_components.li,{children:`A card cannot widen itself. Any change, even one limit, is a new version that you approve again.`}),`\n`,_jsx(_components.li,{children:`A card acts only on closed bars, so a price move inside the bar does not wake it. An order card rests at a price instead and acts between bars.`}),`\n`,_jsx(_components.li,{children:`A backtest is history. It never promises a return.`}),`\n`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`A live card spends real money without asking each time.`}),` Your signature covers the card, its limits and its budget, not each trade. The card can still make a losing trade inside those limits. If you write no limit on how often it acts, nothing but the budget and a default of $1,000,000 per run holds it back. Write the limits you want into the card.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`cards-and-workflows`,children:`Cards and workflows`}),`\n`,_jsxs(_components.p,{children:[`The chat writes cards for anything with a rule, a price or a repeat. Schedules, price triggers and chains that were built as workflows still run. `,_jsx(_components.a,{href:`/automation`,children:`Running it without you`}),` describes them.`]}),`\n`,_jsx(Heading,{level:`2`,id:`under-the-hood`,children:`Under the hood`}),`\n`,_jsx(_components.p,{children:`This part is for readers who want the mechanism.`}),`\n`,_jsx(_components.p,{children:`A card compiles into a plan in a sandboxed runtime. Each rule becomes a set of conditions that the runtime checks on every closed bar, plus a template of the steps the account takes. The template’s amounts are placeholders. The host sizes them at the moment the rule fires, from the card’s own balance, and prices the swap again then.`}),`\n`,_jsx(_components.p,{children:`The checker also looks for rules that can never fire together, rules that could buy and sell the same token on one bar, and what each step’s failure leaves idle. It reports what it could not prove as “not proved”, never as safe. Card prices are checked against a second public price source when you save.`}),`\n`,_jsx(_components.p,{children:`A firing is one decision. It is written once, keyed by the card version, the rule and the bar, so a restart cannot fire the same bar twice. Each firing keeps the reason it fired, in the card’s own words and units.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{feedCount,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Strategy cards","description":"A strategy card is your rule in plain English. You describe it in chat, the agent writes it, and you approve it before it can spend.","icon":"clipboard-list","href":"/cards/overview"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[6472,6494,"`2,625`,` feeds are "]]},"mdxExtracts":{"tableOfContents":[{"title":"An example","slug":"an-example","depth":2,"children":[]},{"title":"Two parts: cards and measures","slug":"two-parts-cards-and-measures","depth":2,"children":[]},{"title":"From idea to a running card","slug":"from-idea-to-a-running-card","depth":2,"children":[]},{"title":"What a card can do","slug":"what-a-card-can-do","depth":2,"children":[]},{"title":"What a card cannot do","slug":"what-a-card-cannot-do","depth":2,"children":[]},{"title":"Cards and workflows","slug":"cards-and-workflows","depth":2,"children":[]},{"title":"Under the hood","slug":"under-the-hood","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"defiloops","siteName":"DeFiLoops","title":"Strategy cards - DeFiLoops","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-31T05:41:09.214Z","originalFileLocation":"cards/overview.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"A strategy card is your rule in plain English. You describe it in chat, the agent writes it, and you approve it before it can spend.\">\u003cmeta data-mint-head name=\"application-name\" content=\"DeFiLoops\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/defiloops/7U90BSF8Tx-MmPag/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/defiloops/7U90BSF8Tx-MmPag/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/defiloops/7U90BSF8Tx-MmPag/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/defiloops/7U90BSF8Tx-MmPag/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/defiloops/7U90BSF8Tx-MmPag/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/defiloops/7U90BSF8Tx-MmPag/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/defiloops/7U90BSF8Tx-MmPag/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/defiloops/7U90BSF8Tx-MmPag/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/defiloops/7U90BSF8Tx-MmPag/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Strategy cards - DeFiLoops\">\u003cmeta data-mint-head property=\"og:description\" content=\"A strategy card is your rule in plain English. You describe it in chat, the agent writes it, and you approve it before it can spend.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"DeFiLoops\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.defiloops.com/cards/overview\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://defiloops.mintlify.app/_mintlify/api/og/v2?division=Strategy+cards\u0026amp;title=Strategy+cards\u0026amp;description=A+strategy+card+is+your+rule+in+plain+English.+You+describe+it+in+chat%2C+the+agent+writes+it%2C+and+you+approve+it+before+it+can+spend.\u0026amp;theme=688f1d8b740dd506f8f7806f\u0026amp;signature=6c0bda924d01da517c702d32f5cdeb9ab9fc0b9251feaf6892a7277b11bd2db0\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Strategy cards - DeFiLoops\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"A strategy card is your rule in plain English. You describe it in chat, the agent writes it, and you approve it before it can spend.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://defiloops.mintlify.app/_mintlify/api/og/v2?division=Strategy+cards\u0026amp;title=Strategy+cards\u0026amp;description=A+strategy+card+is+your+rule+in+plain+English.+You+describe+it+in+chat%2C+the+agent+writes+it%2C+and+you+approve+it+before+it+can+spend.\u0026amp;theme=688f1d8b740dd506f8f7806f\u0026amp;signature=6c0bda924d01da517c702d32f5cdeb9ab9fc0b9251feaf6892a7277b11bd2db0\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/defiloops/7U90BSF8Tx-MmPag/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"DeFiLoops\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#004DFF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.defiloops.com/cards/overview\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/cards/overview.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://defiloops.com\",\"name\":\"DeFiLoops\",\"url\":\"https://defiloops.com\"},{\"@type\":\"WebSite\",\"@id\":\"https://docs.defiloops.com#website\",\"name\":\"DeFiLoops\",\"url\":\"https://docs.defiloops.com\",\"publisher\":{\"@id\":\"https://defiloops.com\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.defiloops.com/cards/overview#webpage\",\"url\":\"https://docs.defiloops.com/cards/overview\",\"name\":\"Strategy cards\",\"description\":\"A strategy card is your rule in plain English. You describe it in chat, the agent writes it, and you approve it before it can spend.\",\"dateModified\":\"2026-10-31T05:41:09.214Z\",\"isPartOf\":{\"@id\":\"https://docs.defiloops.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.defiloops.com/cards/overview#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.defiloops.com/cards/overview#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"DeFiLoops\",\"item\":\"https://docs.defiloops.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Strategy cards\",\"item\":\"https://docs.defiloops.com/cards/overview\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.defiloops.com/cards/overview#article\",\"headline\":\"Strategy cards\",\"name\":\"Strategy cards\",\"description\":\"A strategy card is your rule in plain English. You describe it in chat, the agent writes it, and you approve it before it can spend.\",\"url\":\"https://docs.defiloops.com/cards/overview\",\"mainEntityOfPage\":{\"@id\":\"https://docs.defiloops.com/cards/overview#webpage\"},\"dateModified\":\"2026-10-31T05:41:09.214Z\",\"publisher\":{\"@id\":\"https://defiloops.com\"},\"isPartOf\":{\"@id\":\"https://docs.defiloops.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"DeFiLoops\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"DeFiLoops","nav":{"global":null,"groups":[{"group":"Start here","pages":[{"title":"DeFiLoops","icon":"house","href":"/index"},{"title":"Quickstart","icon":"rocket","href":"/quickstart"},{"title":"Words we use","icon":"compass","href":"/concepts"},{"title":"FAQ","icon":"circle-question","href":"/faq"}]},{"group":"How it works","pages":[{"title":"How a run works","icon":"layer-group","href":"/platform"},{"title":"What it can do","icon":"plug","href":"/adapters"},{"title":"Running it without you","description":"Strategy cards, schedules, price triggers and chains: the ways something starts when you are not there","icon":"clock","href":"/automation"}]},{"group":"Strategy cards","pages":[{"title":"Strategy cards","icon":"clipboard-list","href":"/cards/overview"},{"title":"Writing a card in chat","description":"What to say, what the agent shows back, and the lines a card is made of. Every example is a card you can write today.","icon":"message-pen","href":"/cards/writing"},{"title":"What a card can watch and do","icon":"layer-group","href":"/cards/kinds"},{"title":"Backtest and paper runs","icon":"chart-line","href":"/cards/backtest-and-paper"},{"title":"Going live: approval, limits and stopping","icon":"shield-check","href":"/cards/going-live"}]},{"group":"Swaps and trading","pages":[{"title":"Sizing a trade","icon":"chart-line","href":"/routing"},{"title":"Order types","icon":"bullseye","href":"/orders"},{"title":"Slippage and price impact","icon":"arrows-left-right-to-line","href":"/slippage"},{"title":"Splitting a big trade","icon":"scissors","href":"/splitting"}]},{"group":"Networks","pages":[{"title":"Networks","icon":"globe","href":"/networks/overview"},{"title":"Moving between networks","icon":"arrow-right-arrow-left","href":"/networks/crossings"},{"title":"How transactions are sent","icon":"paper-plane","href":"/networks/sending"}]},{"group":"Trading venues","pages":[{"title":"Trading venues","icon":"landmark","href":"/venues/overview"},{"group":"Binance","pages":[{"title":"Binance","icon":"chart-line","href":"/venues/binance"},{"title":"Connecting Binance","icon":"plug","href":"/venues/binance/connecting"},{"title":"Trading on Binance","icon":"arrow-right-arrow-left","href":"/venues/binance/trading"},{"title":"Cards on Binance","icon":"clone","href":"/venues/binance/cards"},{"title":"Binance safety","icon":"shield","href":"/venues/binance/safety"}]},{"title":"Hyperliquid","icon":"bolt","href":"/venues/hyperliquid"},{"title":"Lighter","icon":"feather","href":"/venues/lighter"}]},{"group":"Your account and security","pages":[{"title":"Your account and your keys","icon":"key","href":"/kernel"},{"title":"Using a Safe wallet","icon":"shield","href":"/safe"},{"title":"The contracts","icon":"cube","href":"/protocol"},{"title":"The hardware enclave","icon":"microchip","href":"/security/enclave"},{"title":"Approving with a passkey","icon":"fingerprint","href":"/security/passkey"},{"title":"Proved accounts","icon":"shield-check","href":"/security/proved-accounts"},{"title":"Emergency stops","icon":"octagon","href":"/security/emergency-stops"},{"title":"Agent identity and run evidence","icon":"id-card","href":"/security/agent-identity"}]},{"group":"The agent","pages":[{"title":"What the agent can call","icon":"wrench","href":"/tools"},{"title":"What the agent knows","icon":"book-open","href":"/skills"},{"title":"Every guide","icon":"book-open","href":"/skills/reference"},{"title":"Connect your own agent","icon":"plug","href":"/agents/connect-your-agent"},{"title":"Hire a template agent","icon":"user-plus","href":"/agents/hire-an-agent"},{"title":"The agent gateway","icon":"door-open","href":"/agents/gateway"},{"title":"The agent card and llms.txt","icon":"id-card","href":"/agents/agent-card"}]},{"group":"Research tools","pages":[{"title":"Surveying ranges","icon":"magnifying-glass-chart","href":"/tools/get-lp-yield"},{"title":"LP strategies","icon":"list-tree","href":"/tools/list-lp-strategies"},{"title":"Backtesting a position","icon":"chart-line","href":"/tools/run-lp-backtest"},{"title":"Option structures","icon":"shapes","href":"/tools/list-option-structures"},{"title":"Comparing every structure","icon":"table-columns","href":"/tools/compare-options"},{"title":"Pricing a hedge","icon":"umbrella","href":"/tools/price-options"},{"title":"A live option quote","icon":"bolt","href":"/tools/price-option-live"},{"title":"Backtesting a hedge","icon":"clock-rotate-left","href":"/tools/backtest-options"},{"title":"The slow signal","icon":"gauge","href":"/tools/get-market-regime"},{"title":"What the market expects","icon":"crystal-ball","href":"/tools/get-forecast"}]},{"group":"Data streams","pages":[{"title":"What we hold","icon":"database","href":"/data/streams"},{"title":"How live data reaches your card","icon":"route","href":"/data/feed-runtime"},{"title":"Macro, on-chain and stablecoins","icon":"landmark","href":"/data/macro"},{"title":"Funding and open interest","icon":"percent","href":"/tools/get-funding-and-oi"},{"title":"Hyperliquid","icon":"bolt","href":"/data/hyperliquid"},{"title":"Reading the market now","icon":"bolt","href":"/tools/live-reads"}]},{"group":"Reference","pages":[{"title":"The catalogue","icon":"list-check","href":"/adapters/catalogue"},{"title":"Every tool","icon":"table-list","href":"/tools/reference"}]}]},"basePath":"","title":"Strategy cards - DeFiLoops","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":[],"chunks":[]}