> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arco.financial/llms.txt
> Use this file to discover all available pages before exploring further.

# Smart Contracts and References

Mainnet product guide draft · English v1.0 · 7 October 2026

[Docs Home](/index)

ARCO vaults consist of product tokens, deposit and redemption vaults, price feeds, and a permissions layer. Developers can review the contract structure in the public source code. Live integrations use the official deployment specification, ABI, and operating conditions for the relevant product.

## Smart contract components

| Contract | Primary role | Integration information |
| - | - | - |
| ProductToken | ERC20 balances and issuance, burning, and transfer policies | Token address, decimals, balances, and events |
| DepositVault | Accepts payment assets and issues product tokens | Payment asset, deposit address, quotes, and minimum receipt |
| RedemptionVault | Handles redemptions, requests, and claims | Redemption address, request ID, and payment and claim conditions |
| ProductPriceFeed | Connects product valuation to an onchain price | Valuation units, publication time, and validity |
| Permissions and pause | Controls administrative actions and transaction execution | Roles, approval policies, and pause scope |

For proxy contracts, distinguish the address users call from the implementation address. The deployment specification provides the network, version, and ABI, together with permissions, price feed connections, and change policies.

## Official product materials

| Material | Information to include |
| - | - |
| Product specification | Investment exposure, participation requirements, NAV, costs, redemptions, and availability |
| Deployment registry | Network and payment asset, token, vault, feed, and implementation addresses, with ABIs |
| Operating specification | Price publication, limits, liquidity, permissions, and settlement completion criteria |
| Verification materials | Relevant code, deployment, and version, with the scope and results of security reviews |
| Original legal documents | Product agreements and terms, issuance, management and custody responsibilities, and user rights |

Each material identifies the product, version, effective date, and original source link. Transactions use official information for that release. Configuration examples in the source code do not replace product addresses.

## Release registry and ABIs

Release integrations package deployment information for each product and network in a machine-readable manifest with the corresponding ABIs. Official mainnet values and deployment file paths will be finalized at release. The following are **integration inputs** to include in those materials. Registries from the public verification environment and generated artifacts are not mainnet release materials.

| Input group | Items to verify together |
| - | - |
| Product and version | productId, release version, availability, effective date, supported features, and operating specification |
| Network | chainId, official RPC and explorer information, and transaction confirmation policy |
| Tokens and vaults | User-facing call addresses for the payment asset, ProductToken, deposit vault, and redemption vault, plus each token's decimals |
| Price connections | Product and payment asset feed addresses, price units, publication time, validity, and price fixing rules |
| Code and ABIs | Proxy and implementation addresses, pinned source version, full ABIs matching the deployment, and file integrity values |
| Change and access policies | Actual permissions and pause scope, participation and transfer restrictions, and notices for address, ABI, and pricing policy changes |

Partners map manifest values to their local configuration and load the full ABIs. Use the [Developer Quickstart](/resources/developer-quickstart) for a configuration example and deposit and redemption completion checks. This input template does not replace a finalized official manifest schema or actual release addresses.

## Supported features and version changes

The feature matrix for each product records supported, unsupported, and suspended routes, together with their calls, events, pricing, and token treatment. Until the release versions and ABIs for ArcoUSD, Savings, Funds, and OTC are finalized, the public deposit and redemption functions should not be treated as the execution interface for each product.

| Change | Items integration partners should compare |
| - | - |
| New product or network | productId, chainId, supported assets, addresses, ABIs, and availability |
| Address or implementation change | User-facing and implementation addresses, effective time, code version, and actual permissions |
| ABI or event change | Function arguments, return values, event fields, errors, and compatibility with existing integrations |
| Pricing, limit, or liquidity change | Quote validity, price fixing time, minimum receipt, and supported payment routes |
| Participation, transfer, or settlement change | Access policy, request and payment completion criteria, and handling of outstanding requests |

Release change records connect the previous and new versions, effective time, affected products and networks, required partner actions, and revalidation scope. Determine compatibility from the actual changes, rather than from the document version alone.

## Public source code on GitHub

[LBMike/arco-giwa](https://github.com/LBMike/arco-giwa) is the public repository. The links below are pinned to [source version 8160f354](https://github.com/LBMike/arco-giwa/tree/8160f354b55dfe9a525565e30ddc007f51448f3d) to provide a consistent implementation reference. The public source explains structure and behavior. Use the relevant release specification for a mainnet product's official deployment and ABIs.

| Developer reference | Source |
| - | - |
| Repository and runtime | [README](https://github.com/LBMike/arco-giwa/blob/8160f354b55dfe9a525565e30ddc007f51448f3d/README.md), [Project configuration](https://github.com/LBMike/arco-giwa/blob/8160f354b55dfe9a525565e30ddc007f51448f3d/package.json) |
| Deposits and issuance | [ArcoDepositVault](https://github.com/LBMike/arco-giwa/blob/8160f354b55dfe9a525565e30ddc007f51448f3d/packages/contracts/contracts/vaults/ArcoDepositVault.sol) |
| Redemptions and claims | [ArcoRedemptionVault](https://github.com/LBMike/arco-giwa/blob/8160f354b55dfe9a525565e30ddc007f51448f3d/packages/contracts/contracts/vaults/ArcoRedemptionVault.sol) |
| Tokens and valuation prices | [ProductToken](https://github.com/LBMike/arco-giwa/blob/8160f354b55dfe9a525565e30ddc007f51448f3d/packages/contracts/contracts/ProductToken.sol), [ProductPriceFeed](https://github.com/LBMike/arco-giwa/blob/8160f354b55dfe9a525565e30ddc007f51448f3d/packages/contracts/contracts/ProductPriceFeed.sol) |
| Permissions and pause controls | [AccessControl](https://github.com/LBMike/arco-giwa/blob/8160f354b55dfe9a525565e30ddc007f51448f3d/packages/contracts/contracts/access/MidasAccessControl.sol), [Role definitions](https://github.com/LBMike/arco-giwa/blob/8160f354b55dfe9a525565e30ddc007f51448f3d/packages/contracts/contracts/access/MidasAccessControlRoles.sol), [FunctionPausable](https://github.com/LBMike/arco-giwa/blob/8160f354b55dfe9a525565e30ddc007f51448f3d/packages/contracts/contracts/access/FunctionPausable.sol) |
| API and ABI loading | [API routes](https://github.com/LBMike/arco-giwa/blob/8160f354b55dfe9a525565e30ddc007f51448f3d/server/src/app.ts), [ABI loader](https://github.com/LBMike/arco-giwa/blob/8160f354b55dfe9a525565e30ddc007f51448f3d/server/src/evm/abi.ts) |
| Data collection and state | [Indexer](https://github.com/LBMike/arco-giwa/blob/8160f354b55dfe9a525565e30ddc007f51448f3d/server/src/indexer/giwa-indexer.ts), [Data model](https://github.com/LBMike/arco-giwa/blob/8160f354b55dfe9a525565e30ddc007f51448f3d/prisma/schema.prisma) |
| Licenses and contract builds | [License inventory](https://github.com/LBMike/arco-giwa/blob/8160f354b55dfe9a525565e30ddc007f51448f3d/packages/contracts/LICENSE-INVENTORY.md), [Contract package](https://github.com/LBMike/arco-giwa/blob/8160f354b55dfe9a525565e30ddc007f51448f3d/packages/contracts/package.json) |

Generate full ABIs using the relevant source version and the contract package's build configuration. Partner integrations use ABIs matching the product's official deployment, rather than an arbitrary generated artifact.

## Security materials and licenses

Read security reports together with their target code, deployment, version, review scope, and handling of findings. Audits of the underlying code, verification of external underlying products, and security reviews of ARCO vaults each have a distinct scope.

The contract package is subject to file-specific license terms, including GPL and MIT. When reusing, modifying, or distributing code, check the relevant files and the [license inventory](https://github.com/LBMike/arco-giwa/blob/8160f354b55dfe9a525565e30ddc007f51448f3d/packages/contracts/LICENSE-INVENTORY.md).

## Product design and the public implementation

[Vault Liquidity Architecture](/liquidity/architecture) and [ArcoUSD](/products/arcousd), [Savings](/products/savings), and [Funds](/products/funds) explain the composition, operation, and settlement design of the mainnet products. Read the public token, deposit, redemption, and pricing interfaces alongside the relevant release specification.

| Design component | Scope to connect in the release specification |
| - | - |
| ArcoUSD | Deposit and payment choices across multiple stablecoins, 1:1 conditions, and reserve operations |
| Savings | Deposit, receipt, and redemption tokens, return allocation, and product valuation rules |
| Funds | arcoUSD burning, treasury asset movements, external purchases and receipt, and outstanding settlement |
| Liquidity routes | Internal direct redemption and Standard request interfaces, with separate OTC quotes, execution, and fees |

The public DepositVault's asset receipt and token issuance behavior does not establish that Funds' arcoUSD burning and treasury withdrawals are executed. Verify calls, states, fees, and token treatment against the relevant release ABI and operating specification.

## Glossary

| Term | Meaning |
| - | - |
| ProductToken | A token representing the quantity held in a product onchain |
| Payment asset | The asset used for deposits and redemptions in the relevant product |
| NAV | Net asset value reflecting asset or strategy valuations and costs |
| APY | An annualized compound return metric based on the specified calculation basis and period |
| Internal direct Instant Redemption | A route that burns tokens and pays the payment asset in the same transaction using available internal liquidity |
| OTC Instant route | A route connecting quotes, execution, and settlement with an external liquidity partner. It handles token transfers or redemption and settlement according to the agreement |
| Request-based redemption | A redemption route that separates acceptance from later payment |
| Available liquidity | The portion of payment balances that can be used after accounting for reservations and restrictions |
| Product specification | A document covering the product's rights, participation, pricing, costs, redemptions, and deployment conditions |

## Related guides

* [Developer Guide](/resources/developer-guide)

* [Developer Quickstart](/resources/developer-quickstart)

* [Security and Operations](/security/operations)

* [Terms and Risks](/security/terms-and-risks)

See [Funds](/products/funds) for the product lineup applying the common vault structure to external assets, and [DigiFT Product References](/products/funds/digift-product-references) for external product materials for the representative examples. [ARCO Ecosystem](/about/ecosystem) explains partner collaboration roles. The presentation and organization of product materials draw on the reading flow in [Midas Docs](https://docs.midas.app/).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.